BETA

Returns the full detail of a set of properties from their IDs, with pagination and optional sorting. It is designed for the chat results panel: IDs are first obtained with GET /api/action/mapaprop-chat-ai-v1/search and then the detail is resolved in pages of up to 10 properties with this endpoint.

customerId is resolved from the access token. Only properties belonging to the authenticated account are returned; any ID from another account is silently discarded.

Resource information
AuthenticationRequired (API Token, Bearer)
HTTP MethodGET
ResponseJSON
Version1

Resource URL

https://mapaprop.app/api/action/mapaprop-chat-ai-v1/properties

Parameters

KeyTypeRequiredDescription
propertyIdsstringyesComma-separated list of property IDs (e.g. "2600144,2600145,2600150"). Non-numeric values are silently ignored
fromintnoZero-based pagination offset. Defaults to 0
sizeintnoNumber of results per page. Defaults to 10. If a value greater than 10 is sent, it is capped to 10 (no error is raised)
sortstringnoSort order of the results. Valid values: price_desc, price_asc, area_desc, bedrooms_desc. Any other value is ignored and the results are returned in the order of propertyIds

Sample code

GET /api/action/mapaprop-chat-ai-v1/properties?propertyIds=2600144,2600145,2600150&from=0&size=10&sort=price_desc HTTP/1.1
Host: mapaprop.app
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
Authorization: Bearer {access_token}

Response

ObjectFieldTypeRequiredDescription
ResponsepropertiesArray of PropertyyesThe resolved page of properties
totalintyesTotal number of IDs received in propertyIds (not a search count; it is simply propertyIds.length)
fromintyesThe offset received, as is
sizeintyesNumber of properties returned on this page (may be less than the requested size)
hasMorebooleanyesWhether there are more properties after this page
PropertypropertyIdintyesProperty ID
codestringyesProperty code entered by the customer, without the account prefix
titlestringyesProperty title
descriptionstringyesProperty description
descriptionFormattedstringnoDescription with line breaks
seoUrlstringyesSEO path of the property on the customer's site
typeintyesProperty type ID. GET /api/action/mapaprop-chat-ai-v1/types
propertyTypestringyesTranslated description of the type
operationintyesOperation ID. GET /api/action/mapaprop-chat-ai-v1/operations
propertyOperationstringyesTranslated description of the operation
statusstringnoTranslated description of the construction status
priceintyesProperty price
currencystringyesCurrency of the price
expensesPriceintnoExpenses amount
expensesCurrencystringnoCurrency of the expenses
taxPriceintnoTax amount
taxCurrencystringnoCurrency of the taxes
addressstringnoProperty address
countryIdintyesCountry ID
stateIdintyesState/province ID (zone1)
countyIdintnoCounty ID (zone2)
cityIdintnoCity/neighborhood ID (zone3)
countrystringyesCountry name
statestringnoState/province name
countystringnoCounty name
citystringnoCity/neighborhood name
customerCountryDescstringyesCountry name of the customer's account
bedroomsintnoNumber of bedrooms
ambiencesintnoNumber of rooms
bathroomsintnoNumber of bathrooms
totalSurfacenumbernoTotal surface in m². May not be present in properties loaded only with buildingArea/landArea
buildingAreaintnoCovered surface in m²
landAreaintnoLand surface in m²
garageintnoNumber of parking spaces
garageTypestringnoDescription of the parking type
soldbooleanyesWhether the property was marked as sold
rentedbooleanyesWhether the property was marked as rented
reservedbooleanyesWhether the property was reserved
suspendedbooleanyesWhether the listing was suspended
mainImagestringyesFull URL of the main image
imagesArray of ImagenoProperty images
mapLatitudestringnoLatitude
mapLongitudestringnoLongitude
mapEmbedUrlstringnoReady-to-embed map URL (Google Maps), only if the property has coordinates
labelsArray of stringnoLabels for amenities/highlighted attributes. Constants
attributesArray of objectnoActive attributes of the property
ImageimagestringyesImage URL
thumbnailstringyesThumbnail URL

Sample response

{
    "properties": [
        {
            "propertyId": 2600144,
            "code": "casas236516",
            "title": "Departamento 2 ambientes en Palermo",
            "description": "Excelente departamento a estrenar...",
            "seoUrl": "venta-de-departamento-en-palermo-capital-federal-11099-2600144",
            "type": 1,
            "propertyType": "Departamento",
            "operation": 1,
            "propertyOperation": "Venta",
            "price": 210000,
            "currency": "USD",
            "address": "Av. Santa Fe 3200",
            "countryId": 1,
            "stateId": 1,
            "countyId": 46,
            "country": "Argentina",
            "state": "Capital Federal",
            "county": "Palermo",
            "customerCountryDesc": "Argentina",
            "bedrooms": 2,
            "bathrooms": 1,
            "totalSurface": 55,
            "sold": false,
            "rented": false,
            "reserved": false,
            "suspended": false,
            "mainImage": "https://s3.amazonaws.com/mapaprop-dev/photos/11099/2600144/1t.jpg",
            "images": [
                {
                    "image": "https://s3.amazonaws.com/mapaprop-dev/photos/11099/2600144/1.jpg",
                    "thumbnail": "https://s3.amazonaws.com/mapaprop-dev/photos/11099/2600144/1t.jpg"
                }
            ],
            "mapLatitude": "-34.5875",
            "mapLongitude": "-58.4205",
            "mapEmbedUrl": "https://www.google.com/maps/embed/v1/place?key=...&q=-34.5875,-58.4205&zoom=15",
            "labels": ["furnished", "grill"]
        }
    ],
    "total": 3,
    "from": 0,
    "size": 1,
    "hasMore": true
}

If propertyIds is not sent, or none of its values is a valid number, the service responds HTTP 400 with an error JSON: {"error": "REQUIRED_INPUT", "description": "validation failed"} when the parameter is missing, or {"error": "REQUIRED_INPUT", "description": "No valid property IDs provided"} when only non-numeric values are sent.

Developments

The properties this endpoint returns may include real estate developments (type 23): the project that groups units. They come through the same list, with no filter separating them, and they carry four fields of their own.

FieldTypeOn a developmentOn a unitOn a regular property
developmentbooleantruefalsefalse
developmentIdint0 (it has no parent)the development propertyId0
developmentPropertiesArraythe propertyId of its units[][]
developmentStatsObjectthe figures derived from its unitsabsentabsent

Plus the project's 10 declared fields: commercialTagline, deliveryDate, logoUrl, totalApartments, totalHouses, totalLots, totalTowers, totalElevators, totalOffices and totalCommercialUnits. A counter at 0 means it was not declared, not that its value is zero.

To display the units of a development, request them from this same endpoint using the ids in its developmentProperties. There is no endpoint that resolves "the units of X": propertyIds filters by the ids you send, and if you pass the development id it returns the development.

developmentStats — the derived figures

BlockFields
unitstotal · available · sold · rented · reserved · suspended · withOperation · availabilityRate
buildingAreatotal · available · sold · rented · reserved · unavailable · unit
pricesbyCurrency (per currency: units · from · to · average · total) · mixedCurrencies
sale · rent · otherOperationunits · commercialized · rate
typologybyAmbiences · byRooms · byBuildingArea · byLandArea

developmentStats is only present on a development that has linked units — a project with no units loaded does not carry it. And if mixedCurrencies is true, there is no single range: you have to read byCurrency one currency at a time.