Este serviço retorna a lista de propriedades pertencentes a empreendimentos imobiliários da sua conta (a imobiliária dona do token). O escopo vem do access token, não é enviado como parâmetro.
| Informações do recurso | |
|---|---|
| Autenticação | Obrigatória (Token de API, Bearer) |
| Scope | express-base |
| Método HTTP | GET |
| Resposta | JSON |
| Versão | 1 |
URL do recurso
https://mapaprop.app/api/action/express-v1/development/properties
Código de exemplo
GET /api/action/express-v1/development/properties?propertyIds=30378,188242,193054,196831,206881,247032&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 {access_token}
Parâmetros
| Chave | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| term | string | no | Termo que tentará corresponder a pelo menos 3 caracteres na zona, endereço ou título do imóvel. Suporta busca de texto completo. |
| type | int | no | Tipo de imóvel. Constantes |
| operation | int | no | Operação do imóvel. Constantes |
| from | int | no | Número do registro inicial. O padrão é 0. |
| size | int | no | Quantidade de registros a retornar por consulta. O padrão é 7. O máximo é 20 (erro de validação: "You cannot retrieve more than 20 properties at a time"). |
| branchId | int | no | ID da filial onde os imóveis estão localizados. |
| buildingStatus | int | no | Estado físico do imóvel. Constantes |
| bedrooms | int | no | Quantidade de dormitórios do imóvel. |
| bathrooms | int | no | Quantidade de banheiros do imóvel. |
| stateId | int | no | ID do estado do imóvel. |
| countyId | int | no | ID do município do imóvel. |
| cityId | int | no | ID da cidade do imóvel. |
| tempOccupancy | int | no | Número de pessoas que podem se hospedar no imóvel. |
| dateFrom | string | no | Data de chegada (formato: "dd-MM-yyyy"). |
| dateTo | string | no | Data de saída (formato: "dd-MM-yyyy"). |
| propertyIds | string | yes | IDs dos imóveis do empreendimento a pesquisar. |
Paginação
Este endpoint utiliza paginação por offset via os parâmetros from e size.
| Parâmetro | Significado | Padrão | Máximo |
|---|---|---|---|
from | Offset (base zero) do primeiro registro a retornar | 0 | — |
size | Número de registros retornados por requisição | 7 | 20 |
A resposta sempre inclui o campo total com o total de registros que correspondem aos seus filtros (não apenas os retornados na página atual). Use-o para saber quando parar de paginar.
Como paginar
Para obter a página N (índice 1) com um tamanho de página fixo:
from = (N - 1) * size
Continue solicitando a próxima página enquanto from + size < total.
Exemplo: paginar 32 unidades de um empreendimento, 20 por página
Suponha que um empreendimento tenha 32 unidades vinculadas (propertyIds com 32 valores) e uma busca retorne "total": 32. Para obter todos os resultados são necessárias 2 requisições:
Página 1 — registros 1 a 20:
GET /api/action/express-v1/development/properties?propertyIds=30378,188242,193054,...&from=0&size=20
Resposta: { "took": 9, "total": 32, "properties": [ ...20 items... ] }
Página 2 — registros 21 a 32:
GET /api/action/express-v1/development/properties?propertyIds=30378,188242,193054,...&from=20&size=20
Resposta: { "took": 7, "total": 32, "properties": [ ...12 items... ] }
Neste ponto from + size = 40 >= total = 32, portanto não há mais páginas.
Observações
propertyIdsdeve ser enviado em cada página. É o filtro obrigatório que delimita o conjunto de resultados; omiti-lo gera um erro.- Mantenha os filtros consistentes entre páginas. Alterar
propertyIdsou qualquer outro filtro entre requisições reinicia o conjunto de resultados e seu offset apontará para uma coleção diferente. sizenão pode ultrapassar 20. Solicitarsize=21ou mais retorna um erro de validação:"You cannot retrieve more than 20 properties at a time". Para recuperar conjuntos grandes é necessário paginar.fromé um offset, não um número de página.from=2retorna registros a partir da posição 3, não a "página 2".- Os filtros numéricos esperam um número inteiro. Um valor fora do intervalo de um inteiro (por exemplo, um número de 20 dígitos) ou com decimais retorna um erro de validação em vez de ser ignorado silenciosamente.
- O campo
tookindica o tempo em milissegundos que a busca levou no servidor para aquela página.
Resposta
Um documento JSON com a lista de zonas em hierarquia onde o cliente possui imóveis.
| Objeto | Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
| Response | took | int | yes | Tempo que a busca levou, em milissegundos |
| total | int | yes | Total de registros no contexto desta busca. Você pode paginá-los | |
| properties | Array of Property | yes | A lista de objetos Property | |
| Property | propertyHash | string | yes | ID único do imóvel |
| timestamp | string | yes | Timestamp ISO8601 de quando o imóvel foi criado | |
| lastUpdate | string | yes | Timestamp ISO8601 da última atualização do imóvel | |
| code | string | yes | Código único do imóvel inserido pelo cliente | |
| branchId | int | yes | ID da filial associada a este imóvel. GET /api/action/express-v1/branches. | |
| type | int | yes | Id do tipo de imóvel. GET /api/action/express-v1/types | |
| operation | int | yes | Id da operação do imóvel. Constantes | |
| propertyType | string | yes | Descrição traduzida do tipo de imóvel. GET /api/action/express-v1/types | |
| propertyOperation | string | yes | Descrição traduzida da operação do imóvel. Constantes | |
| status | string | yes | Descrição traduzida do estado da construção. Constantes | |
| mainImage | string | no | Id do tipo de imóvel. GET /api/action/express-v1/types | |
| currency | string | yes | Símbolo de moeda do preço do imóvel. Constantes | |
| price | int | yes | Preço do imóvel | |
| expensesCurrency | string | no | Símbolo de moeda das despesas mensais/anuais. Constantes | |
| expensesPrice | int | no | Valor das despesas mensais/anuais | |
| taxCurrency | string | no | Símbolo de moeda dos impostos mensais/anuais. Constantes | |
| taxPrice | int | no | Valor dos impostos mensais/anuais | |
| title | string | yes | Título inserido pelo cliente | |
| address | string | yes | Endereço e número do imóvel | |
| zipCode | string | yes | CEP do imóvel | |
| zone | string | yes | Descrição combinada desde a cidade (se disponível) até o estado | |
| countryId | int | yes | ID do país do imóvel | |
| stateId | int | yes | ID do estado do imóvel. GET /api/action/express-v1/zones | |
| countyId | int | yes | ID do município do imóvel. GET /api/action/express-v1/zones | |
| cityId | int | no | ID da cidade do imóvel. GET /api/action/express-v1/zones | |
| countryId | int | yes | ID do país do imóvel. GET /api/action/express-v1/zones | |
| country | string | yes | Nome do país | |
| state | string | yes | Nome do estado | |
| county | string | yes | Nome do município ou segunda divisão | |
| city | string | no | Nome da cidade, bairro ou terceira divisão | |
| suspended | boolean | yes | A publicação foi suspensa | |
| reserved | boolean | yes | O imóvel foi reservado | |
| rented | boolean | yes | O imóvel foi alugado | |
| sold | boolean | yes | O imóvel foi vendido | |
| description | string | yes | Descrição longa do imóvel | |
| conditions | string | no | Condições do imóvel. Geralmente relacionadas a pagamentos | |
| bedrooms | int | no | Número de dormitórios | |
| ambiences | int | no | Número de ambientes ou espaços | |
| bathrooms | int | no | Número de banheiros | |
| dependencies | int | no | Número de quartos de serviço | |
| occupancy | int | no | Número de ocupantes (geralmente em aluguel temporário) | |
| toilettes | int | no | Número de lavabos | |
| buildingArea | int | no | Metros quadrados de área construída | |
| landArea | int | no | Metros quadrados do terreno | |
| yearsOld | int | no | Idade do imóvel | |
| ubication | string | no | Orientação cardinal do imóvel no edifício | |
| totalFloors | int | no | Total de andares do edifício | |
| apartmentsPerFloor | int | no | Quantidade de apartamentos por andar | |
| airConditionerType | string | no | Tipo de ar-condicionado | |
| waterHeaterType | string | no | Tipo de aquecedor de água | |
| heatingType | string | no | Tipo de aquecimento | |
| balconyType | string | no | Tipo de varanda | |
| garage | int | no | Total de vagas de garagem | |
| garageType | string | no | Tipo de garagem | |
| images | Array of Image | no | Array de objetos Image | |
| location | Location | yes | Objeto Location | |
| Location | lon | string | yes | Longitude geográfica do imóvel |
| lat | string | yes | Latitude geográfica do imóvel | |
| Image | image | string | yes | URL da imagem |
| thumbnail | string | yes | URL do thumbnail | |
| orientation | int | yes | Orientação da imagem. 1 = PORTRAIT, 2 = LANDSCAPE | |
| type | int | yes | Tipo de imagem. 1 = PHOTO, 2 = BLUEPRINT | |
| contentType | string | yes | Tipo de conteúdo da imagem | |
| timestamp | string | yes | Timestamp ISO8601 de quando a imagem foi enviada | |
| Labels | labels | Array of labels | no | Etiquetas do imóvel. Constantes |
| attributes | attributes | Array of json attributes | no | Todos os atributos do imóvel |
| descriptionFormatted | description | string | no | Descrição com nova formatação que aceita quebras de linha |
As unidades não são empreendimentos
O que este serviço devolve são as unidades, que são imóveis comuns. Por isso:
developmentvolta emfalseedevelopmentPropertiesem[]. Uma unidade não é um empreendimento e não tem unidades próprias.developmentIdtraz o Id do empreendimento do qual a unidade faz parte — veja abaixo. É o campo útil deste serviço.- Os sete contadores do empreendimento chegam em
0—totalApartments,totalTowers,totalElevators,totalOffices,totalCommercialUnits,totalHousesetotalLots— porque são do projeto, não da unidade. Esse0significa "não se aplica", assim como no resto do objeto significa "não foi declarado": em nenhum dos casos significa zero. commercialTagline,deliveryDateelogoUrlnão aparecem. São do projeto; podem ser lidos em GET /developments.developmentStatstambém não aparece. É o bloco de indicadores derivados, e somente os empreendimentos o trazem — uma unidade não tem unidades a partir das quais derivá-lo.
Corrigido em 2026-10-27. Até 2026-10-26 esta página dizia que development e
developmentProperties não apareciam no JSON, e era verdade. A partir dessa data aparecem
sim, em false e [].
A mudança é aditiva — chaves que faltavam passam a aparecer — então não quebra quem verificava a
existência da chave para distinguir uma unidade de um empreendimento… mas esse código agora dá o
resultado contrário. Desde que você usasse if ('developmentProperties' in prop) para detectar
um empreendimento, troque por prop.development === true, que é o campo que diz isso.
developmentId — a qual empreendimento esta unidade pertence
A partir de 2026-10-26 cada unidade traz o Id do seu projeto:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| developmentId | int | yes | Id do empreendimento do qual este imóvel é unidade. 0 = não é unidade de nenhum empreendimento |
É o inverso de developmentProperties, e é o que faltava para fechar a relação: antes era
possível ir do projeto às suas unidades, e de uma unidade não era possível voltar ao projeto.
Com isso, uma unidade que chega até você por qualquer outro serviço — uma busca, uma listagem — diz por si mesma de qual projeto é, sem que seja necessário percorrer todos os empreendimentos procurando-a.
É um Id, não uma lista: uma unidade pertence a um único empreendimento.
Resposta de exemplo
{
"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"
},
]
}