PRODUCTION
This service will return the list of properties for the customer
| Resource information | |
|---|---|
| Authentication | Required |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
Resource URL
https://mapaprop.app/api/action/express-v1/properties
Sample code
GET /api/action/express-v1/properties?operation=1&buildingStatus=5&tempOccupancy=2&dateFrom=20-02-2019&dateTo=28-02-2019 HTTP/1.1
Host: mapaprop.app
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
Authorization: Bearer ya29.1.AADtN_UxybTdjLw9jX6lg_branSjjsldiwjtek4q2WvfETzSrz7Q6loEYoJEWd1x4qvlpGw
Parameters
| Key | Type | Required | Description |
|---|---|---|---|
| term | string | no | A term that will try to match at least 3 characters in the zone, address, code, or title of the property. Full text search capabilities. |
| address | string | no | A term that will try to match at least 3 characters in address field. Full text search capabilities. |
| type | int | no | A type of property. Constants |
| operation | int | no | An operation of the property. Constants |
| from | int | no | The start record number. Default is 0. |
| size | int | no | The amount of records to bring in each query. Default is 10. Maximum is 20 (validation error: "You cannot retrieve more than 20 properties at a time"). |
| branchId | int | no | The ID of the branch where the properties are located. |
| buildingStatus | int | no | The physical condition of the building. Constants |
| bedrooms | int | no | The amount of bedrooms of the property |
| ambiences | int | no | Exact number of rooms |
| ambiencesFrom | int | no | Search from a number upwards |
| ambiencesTo | int | no | Search up to the assigned number |
| bathrooms | int | no | The amount of bathrooms of the property |
| priceFrom | int | no | Minimum price filter |
| priceTo | int | no | Maximum price filter |
| stateId | int | no | The state ID of the property |
| countyId | int | no | The county ID of the property |
| cityId | int | no | The city ID of the property |
| tempOccupancy | int | no | The number of people who can live in a property |
| dateFrom | string | no | The date you want to arrive (format is "dd-MM-yyyy") |
| dateTo | string | no | The date you want to leave (format is "dd-MM-yyyy") |
Pagination
This endpoint uses offset-based pagination via the from and size query parameters.
| Parameter | Meaning | Default | Maximum |
|---|---|---|---|
from | Zero-based offset of the first record to return | 0 | — |
size | Number of records returned per request | 10 | 20 |
The response always includes a total field with the total number of records matching your filters (not just the ones returned in the current page). Use it to know when to stop paginating.
How to paginate
To retrieve page N (1-indexed) with a fixed page size:
from = (N - 1) * size
Keep requesting the next page while from + size < total.
Example: paginate through 45 results, 20 per page
Assume a search returns "total": 45. To get every result you need 3 requests:
Page 1 — records 1 to 20:
GET /api/action/express-v1/properties?operation=1&from=0&size=20
Response: { "took": 12, "total": 45, "properties": [ ...20 items... ] }
Page 2 — records 21 to 40:
GET /api/action/express-v1/properties?operation=1&from=20&size=20
Response: { "took": 9, "total": 45, "properties": [ ...20 items... ] }
Page 3 — records 41 to 45:
GET /api/action/express-v1/properties?operation=1&from=40&size=20
Response: { "took": 7, "total": 45, "properties": [ ...5 items... ] }
At this point from + size = 60 >= total = 45, so there are no more pages.
Notes
- Keep filters consistent across pages. Changing any filter between requests (e.g.
operation,priceFrom,stateId) resets the result set and your offset will point to a different collection. sizecannot exceed 20. Requestingsize=21or more returns a validation error:"You cannot retrieve more than 20 properties at a time". To retrieve large result sets you must paginate.fromis an offset, not a page number.from=2returns records starting at position 3, not "page 2".- The
tookfield is the time in milliseconds the search took on the server side for that page only.
Response
A JSON document with the list of zones in a hierarchy where the customer has properties.
| Object | Field | Type | Required | Description |
|---|---|---|---|---|
| Response | took | int | yes | How long the search took in milliseconds |
| total | int | yes | How many total records are in the context of this search. You can paginate thru them | |
| properties | Array of Property | yes | The list of Property objects | |
| Property | propertyHash | string | yes | A unique ID for the property |
| timestamp | string | yes | ISO8601 timestamp of when the property was created | |
| lastUpdate | string | yes | ISO8601 timestamp of when the property was last updated | |
| code | string | yes | A unique code of the property entered by the customer | |
| branchId | int | yes | The ID of the branch that this property is related to. GET /api/action/express-v1/branches. | |
| type | int | yes | The Id of property type. GET /api/action/express-v1/types | |
| operation | int | yes | The Id of property operation. Constants | |
| propertyType | string | yes | The translated description of the property type. GET /api/action/express-v1/types | |
| propertyOperation | string | yes | The translated description of the property operations. Constants | |
| status | string | yes | The translated description of the building status. Constants | |
| mainImage | string | no | The Id of property type. GET /api/action/express-v1/types | |
| currency | string | yes | The currency symbol of the price of the property. Constants | |
| price | int | yes | The price of the property | |
| expensesCurrencies | string | no | The currency symbol of the monthly / yearly expenses of the property. Constants | |
| expensesPrice | int | no | The price of the monthly / yearly expenses of the property | |
| taxCurrency | string | no | The currency symbol of the monthly / yearly taxes of the property. Constants | |
| taxPrice | int | no | The price of the monthly / yearly taxes of the property | |
| title | string | yes | A title entered by the customer | |
| address | string | yes | The street address and number of the property | |
| zipCode | string | yes | The postal code of property location | |
| zone | string | yes | A friendly description combining from city (if available) to state | |
| countryId | int | yes | The ID of the property country location | |
| stateId | int | yes | The ID of the property state location. GET /api/action/express-v1/zones | |
| countyId | int | yes | The ID of the property county location. GET /api/action/express-v1/zones | |
| cityId | int | no | The ID of the property city location. GET /api/action/express-v1/zones | |
| countryId | int | yes | The ID of the property country location. GET /api/action/express-v1/zones | |
| country | string | yes | The name of the country | |
| state | string | yes | The name of the state | |
| county | string | yes | The name of the county or 2nd division location | |
| city | string | no | The name of the city / neighborhood or 3rd division | |
| suspended | boolean | yes | The publication has been suspended | |
| reserved | boolean | yes | The property has been reserved | |
| rented | boolean | yes | The property has been rented | |
| sold | boolean | yes | The property has been sold | |
| description | string | yes | The long description of the property | |
| conditions | string | no | The long conditions statement of the property. Usually related to payments | |
| bedrooms | int | no | Number of bedrooms of the property | |
| ambiences | int | no | The number of ambiences / spaces for the property | |
| bathrooms | int | no | Number of bathrooms of the property | |
| dependencies | int | no | Number of dependency rooms (extra rooms) | |
| occupancy | int | no | Number of occupants (generally if this is a temp rental) | |
| toilettes | int | no | Number of toilettes (half bathrooms) in the property | |
| buildingArea | int | no | Square meters of the built area | |
| landArea | int | no | Square meters of the land of the property | |
| yearsOld | int | no | How old the property is | |
| ubication | string | no | The property cardinal ubication in the building | |
| totalFloors | int | no | The total floors in the building | |
| apartmentsPerFloor | int | no | The amount of apartments per floor | |
| airConditionerType | string | no | Type of air conditioner. | |
| waterHeaterType | string | no | Type of water heater. | |
| heatingType | string | no | Type of heating appliances. | |
| balconyType | string | no | Type of balcony. | |
| garage | int | no | The total garages of the property | |
| garageType | string | no | Type of garage. | |
| images | Array of Image | no | Array of Image object | |
| location | Location | yes | Location object | |
| Location | lon | string | yes | Longitude location of the property |
| lat | string | yes | Latitude location of the property | |
| Image | image | string | yes | URL for image |
| thumbnail | string | yes | URL for the thumbail | |
| orientation | int | yes | Orientation of the image. 1 = PORTRAIT, 2 = LANDSCAPE | |
| type | int | yes | Type of image. 1 = PHOTO, 2 = BLUEPRINT | |
| contentType | string | yes | The image content type | |
| timestamp | string | yes | The ISO8601 timestamp of when the image was uploaded | |
| Labels | labels | Array of labels | no | The labels of property. Constants |
| attributes | attributes | Array of json attributes | no | All property attributes |
| descriptionFormatted | description | string | no | Description with new formatting that accepts line breaks |
Sample response
{
"took": 111,
"total": 13,
"properties": [
{
"country": "Argentina",
"county": "Caballito",
"type": 20,
"zone": "Caballito, Capital Federal, Argentina",
"price": 54554,
"state": "Capital Federal",
"branchId": 773,
"images": [],
"suspended": false,
"labels": [
"mortgage-ready",
"professional-available",
"furnished",
"janitor",
"grill",
"storage",
"security",
"security-box",
"swimming-pool",
"party-saloon",
"cable-included",
"telephone-line",
"daily-dinning",
"alarm",
"front-garden",
"laundry",
"patio",
"playroom",
"private-elevator",
"suite"
],
"propertyOperation": "Alquiler Temporario",
"reserved": false,
"lastUpdate": "2019-10-29T14:13:54.000-03:00",
"customerCountryDesc": "Argentina",
"code": "1-6454656",
"description": "gran casa en haedo capital de ahora morona",
"alternativePrices": [],
"title": "gran casa en haedo capital de ahora morona",
"customerCountry": 1,
"countryId": 1,
"seoUrl": "alquiler-temporario-de-loft-en-caballito-capital-federal-1-147874",
"rented": false,
"countyId": 18,
"propertyType": "Loft",
"ambiences": 2,
"hightlight": {},
"currency": "USD",
"timestamp": "2019-10-29T00:00:00.000-03:00",
"sold": false,
"address": "paysandu 984",
"stateId": 1,
"propertyHash": "e86a6a15b7f93ae633b0b009c5c51120",
"mainImage": "https://s3.amazonaws.com/mapaprop-dev/photos/noimage.gif",
"location": {
"lon": "-58.45284939999999",
"lat": "-34.6125374"
},
"operation": 3
},
{
"country": "Argentina",
"county": "Saavedra",
"cityId": 1774,
"type": 17,
"zone": "Arroyo Corto, Saavedra, Buenos Aires, Argentina",
"price": 1,
"state": "Buenos Aires",
"branchId": 773,
"images": [
{
"image": "https://s3.amazonaws.com/mapaprop-dev/photos/1/145148/1342116.jpg",
"thumbnail": "https://s3.amazonaws.com/mapaprop-dev/photos/1/145148/1342116t.jpg",
"orientation": 2,
"imageId": 1342116,
"main": true,
"type": 2,
"contentType": "image/jpeg",
"order": 0,
"timestamp": "2017-12-20T16:27:58Z"
}
],
"suspended": false,
"labels": [],
"propertyOperation": "Alquiler Temporario",
"reserved": false,
"lastUpdate": "2018-01-16T15:36:31.000-03:00",
"paymentPeriod": "Por día",
"customerCountryDesc": "Argentina",
"code": "1-ABC635265",
"city": "Arroyo Corto",
"description": "una descripcion larga es mucho mejor que nada.",
"alternativePrices": [],
"title": "Una gran casa requiere una casita",
"customerCountry": 1,
"countryId": 1,
"seoUrl": "alquiler-temporario-de-complejo-turistico-en-arroyo-corto-saavedra-buenos-aires-1-145148",
"rented": false,
"countyId": 300,
"propertyType": "Complejo Turístico",
"hightlight": {},
"currency": "ARS",
"timestamp": "2018-01-16T00:00:00.000-03:00",
"sold": false,
"address": "Maipu 191",
"stateId": 2,
"propertyHash": "c6ed3571d0215b75c19de96d40783a1b",
"mainImage": "https://s3.amazonaws.com/mapaprop-dev/photos/1/145148/1342116t.jpg",
"location": {
"lon": "-62.40793050000002",
"lat": "-37.5996419"
},
"operation": 19
},
{
"country": "Argentina",
"occupancy": 2,
"county": "Balvanera",
"type": 1,
"zone": "Balvanera, Capital Federal, Argentina",
"price": 90000,
"state": "Capital Federal",
"branchId": 773,
"images": [
{
"image": "https://s3.amazonaws.com/mapaprop-dev/photos/1/139555/1335004.jpg",
"thumbnail": "https://s3.amazonaws.com/mapaprop-dev/photos/1/139555/1335004t.jpg",
"orientation": 2,
"imageId": 1335004,
"main": false,
"type": 1,
"contentType": "image/png",
"timestamp": "2017-12-09T16:27:54Z"
},
],
"suspended": false,
"labels": [],
"propertyOperation": "Alquiler Temporario",
"reserved": false,
"lastUpdate": "2017-11-28T21:16:48.000-03:00",
"paymentPeriod": "Por día",
"customerCountryDesc": "Argentina",
"code": "1-389398",
"expensesCurrency": "ARS",
"description": "Buena prop a estrenar",
"alternativePrices": [
{
"price": 50000.0,
"description": "Casa",
"currency": "ARS",
"id": "1863"
},
{
"price": 6500.0,
"description": "Por dia",
"currency": "ARS",
"id": "12216"
}
],
"title": "Nueva propeidad here",
"customerCountry": 1,
"countryId": 1,
"seoUrl": "alquiler-temporario-de-departamento-en-balvanera-capital-federal-1-139555",
"rented": false,
"expensesPrice": 2323,
"countyId": 91,
"propertyType": "Departamento",
"hightlight": {},
"currency": "ARS",
"timestamp": "2017-09-29T00:00:00.000-03:00",
"sold": false,
"address": "Balvanera 3993",
"zipCode": "1661",
"stateId": 1,
"propertyHash": "74f6dd0e4809f9ba1b044f3704cfef62",
"mainImage": "https://s3.amazonaws.com/mapaprop-dev/photos/1/139555/1272968t.jpg",
"taxCurrency": "ARS",
"taxPrice": 2000,
"location": {
"lon": "-58.392606099999966",
"lat": "-34.6098208"
},
"attributes": [
{
"group_sub": "label",
"country": "ar",
"key_legacy": "accessible",
"group_subtype": "ammenities",
"id": "accessible",
"label": "Accesible",
"locale": "es_AR",
"type": "bool",
"group": "propertyAttribute",
"status": true
},
],
"descriptionFormatted": "Test Images, Propiedad TestTest Images, \n\nPropiedad Test",
"operation": 19,
"status": "En Construcción"
},
]
}