Este serviço retorna a lista de imóveis 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çãoObrigatória (Token de API, Bearer)
Scopeexpress-base
HTTP MethodGET
ResponseJSON
Version1

URL do recurso

https://mapaprop.app/api/action/express-v1/properties

Código de exemplo

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 {access_token}

Parâmetros

KeyTypeRequiredDescrição
termstringnoTermo que tentará corresponder a pelo menos 3 caracteres na zona, endereço, código ou título do imóvel. Capacidade de pesquisa de texto completo.
addressstringnoTermo que tentará corresponder a pelo menos 3 caracteres no campo de endereço. Capacidade de pesquisa de texto completo.
typeintnoTipo de imóvel. Constantes
operationintnoOperação do imóvel. Constantes
fromintnoNúmero do registro inicial. O padrão é 0.
sizeintnoQuantidade de registros a retornar em cada consulta. O padrão é 10. O máximo é 20 (erro de validação: "You cannot retrieve more than 20 properties at a time").
branchIdintnoO ID da filial onde os imóveis estão localizados.
buildingStatusintnoO estado físico do imóvel. Constantes
bedroomsintnoQuantidade de quartos do imóvel
ambiencesintnoNúmero exato de ambientes
ambiencesFromintnoPesquisar a partir de um número para cima
ambiencesTointnoPesquisar até o número indicado
bathroomsintnoQuantidade de banheiros do imóvel
priceFromnumbernoFiltro de preço mínimo. Aceita decimais (por exemplo 1500000.50).
priceTonumbernoFiltro de preço máximo. Aceita decimais (por exemplo 1500000.50).
stateIdintnoO ID do estado do imóvel
countyIdintnoO ID do município do imóvel
cityIdintnoO ID da cidade do imóvel
tempOccupancyintnoNúmero de pessoas que podem morar no imóvel
dateFromstringnoA data de chegada (formato: "dd-MM-yyyy")
dateTostringnoA data de saída (formato: "dd-MM-yyyy")

Paginação

Este endpoint usa paginação por offset por meio dos parâmetros from e size.

ParâmetroSignificadoPadrãoMáximo
fromOffset baseado em zero do primeiro registro a retornar0—
sizeNúmero de registros retornados por requisição1020

A resposta sempre inclui um 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 a paginação.

Como paginar

Para obter a página N (indexada a partir de 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 45 resultados, 20 por página

Suponha que uma pesquisa retorna "total": 45. Para obter todos os resultados são necessárias 3 requisições:

Página 1 — registros 1 a 20:

GET /api/action/express-v1/properties?operation=1&from=0&size=20

Resposta: { "took": 12, "total": 45, "properties": [ ...20 items... ] }

Página 2 — registros 21 a 40:

GET /api/action/express-v1/properties?operation=1&from=20&size=20

Resposta: { "took": 9, "total": 45, "properties": [ ...20 items... ] }

Página 3 — registros 41 a 45:

GET /api/action/express-v1/properties?operation=1&from=40&size=20

Resposta: { "took": 7, "total": 45, "properties": [ ...5 items... ] }

Neste ponto from + size = 60 >= total = 45, portanto não há mais páginas.

Observações

  • Mantenha os filtros consistentes entre as páginas. Alterar qualquer filtro entre requisições (por exemplo operation, priceFrom, stateId) reinicia o conjunto de resultados e o offset apontará para uma coleção diferente.
  • size não pode exceder 20. Solicitar size=21 ou mais retorna um erro de validação: "You cannot retrieve more than 20 properties at a time". Para obter grandes conjuntos de resultados você deve paginar.
  • from é um offset, não um número de página. from=2 retorna os registros a partir da posição 3, não "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. priceFrom e priceTo são a exceção: aceitam decimais.
  • O campo took é o tempo em milissegundos que a pesquisa levou no servidor apenas para aquela página.

Resposta

Um documento JSON com a lista de imóveis do cliente.

ObjetoCampoTipoObrigatórioDescrição
ResponsetookintyesQuanto tempo a pesquisa levou em milissegundos
totalintyesQuantos registros totais existem no contexto desta pesquisa. Você pode paginar por eles
propertiesArray of PropertyyesA lista de objetos Property
PropertypropertyHashstringyesUm ID único do imóvel
timestampstringyesTimestamp ISO8601 de quando o imóvel foi criado
lastUpdatestringyesTimestamp ISO8601 da última atualização do imóvel
codestringyesCódigo único do imóvel inserido pelo cliente
branchIdintyesO ID da filial à qual o imóvel pertence. GET /api/action/express-v1/branches.
typeintyesO Id do tipo de imóvel. GET /api/action/express-v1/types
operationintyesO Id da operação do imóvel. Constantes
propertyTypestringyesA descrição traduzida do tipo de imóvel. GET /api/action/express-v1/types
propertyOperationstringyesA descrição traduzida da operação do imóvel. Constantes
statusstringyesA descrição traduzida do estado de construção. Constantes
mainImagestringnoO Id do tipo de imóvel. GET /api/action/express-v1/types
currencystringyesO símbolo de moeda do preço do imóvel. Constantes
priceintyesO preço do imóvel
expensesCurrencystringnoO símbolo de moeda das despesas mensais/anuais do imóvel. Constantes
expensesPriceintnoO valor das despesas mensais/anuais do imóvel
taxCurrencystringnoO símbolo de moeda dos impostos mensais/anuais do imóvel. Constantes
taxPriceintnoO valor dos impostos mensais/anuais do imóvel
titlestringyesTítulo inserido pelo cliente
addressstringyesO endereço e número do imóvel
zipCodestringyesO CEP da localização do imóvel
zonestringyesDescrição amigável combinando cidade (se disponível) e estado
countryIdintyesO ID do país onde o imóvel está localizado
stateIdintyesO ID do estado onde o imóvel está localizado. GET /api/action/express-v1/zones
countyIdintyesO ID do município onde o imóvel está localizado. GET /api/action/express-v1/zones
cityIdintnoO ID da cidade onde o imóvel está localizado. GET /api/action/express-v1/zones
countryIdintyesO ID do país onde o imóvel está localizado. GET /api/action/express-v1/zones
countrystringyesO nome do país
statestringyesO nome do estado
countystringyesO nome do município ou segunda divisão geográfica
citystringnoO nome da cidade, bairro ou terceira divisão
suspendedbooleanyesA publicação foi suspensa
reservedbooleanyesO imóvel foi reservado
rentedbooleanyesO imóvel foi alugado
soldbooleanyesO imóvel foi vendido
descriptionstringyesA descrição longa do imóvel
conditionsstringnoAs condições detalhadas do imóvel. Geralmente relacionadas a pagamentos
bedroomsintnoNúmero de quartos do imóvel
ambiencesintnoQuantidade de ambientes do imóvel
bathroomsintnoNúmero de banheiros do imóvel
dependenciesintnoNúmero de quartos de dependência (quartos extras)
occupancyintnoQuantidade de ocupantes (geralmente para aluguel temporário)
toilettesintnoNúmero de lavabos (banheiros incompletos) no imóvel
buildingAreaintnoMetros quadrados da área construída
landAreaintnoMetros quadrados do terreno do imóvel
yearsOldintnoIdade do imóvel
ubicationstringnoPosição cardinal do imóvel no edifício
totalFloorsintnoTotal de andares do edifício
apartmentsPerFloorintnoQuantidade de apartamentos por andar
airConditionerTypestringnoTipo de ar-condicionado.
waterHeaterTypestringnoTipo de aquecedor de água.
heatingTypestringnoTipo de aquecimento.
balconyTypestringnoTipo de varanda.
garageintnoTotal de vagas de garagem do imóvel
garageTypestringnoTipo de garagem.
imagesArray of ImagenoArray de objetos Image
locationLocationyesObjeto Location
LocationlonstringyesLongitude geográfica do imóvel
latstringyesLatitude geográfica do imóvel
ImageimagestringyesURL da imagem
thumbnailstringyesURL do thumbnail
orientationintyesOrientação da imagem. 1 = PORTRAIT, 2 = LANDSCAPE
typeintyesTipo de imagem. 1 = PHOTO, 2 = BLUEPRINT
contentTypestringyesO content type da imagem
timestampstringyesTimestamp ISO8601 de quando a imagem foi enviada
LabelslabelsArray of labelsnoOs labels do imóvel. Constantes
attributesattributesArray of json attributesnoTodos os atributos do imóvel
descriptionFormatteddescriptionstringnoDescrição com novo formato que aceita quebras de linha

Campos adicionais do imóvel

Além dos da tabela, cada imóvel traz estes. São os mais usados ao montar as fichas e as listagens:

CampoTipoObrigatórioDescrição
seoUrlstringyesO slug do imóvel, pronto para montar a URL da sua ficha
typeDescstringyesO tipo de imóvel já resolvido em texto (Casa, Apartamento). Poupa você de cruzar o type com types
operationDescstringyesA operação já resolvida em texto (Venda, Aluguel)
descriptionFormattedstringnoA descrição com as quebras de linha que o cliente digitou
publishedAtstringnoData ISO8601 em que o imóvel foi publicado. Serve para ordenar por novidade
floorsintnoQuantidade de andares
garagesintnoQuantidade de vagas de garagem
branchSeoUrlstringnoO seoUrl da filial dona do imóvel
customerCountryintyesO Id do país da imobiliária
customerCountryDescstringyesO país da imobiliária, em texto
urlWebExternalstringnoA URL do imóvel no site do cliente, se ele tiver site
videosArraynoOs vídeos cadastrados no imóvel. Vazio se não houver
alternativePricesArraynoPreços alternativos (por semana, por temporada). Vazio se não houver
reservationsArraynoAs reservas do imóvel, quando ele trabalha com aluguel por temporada
tempOccupiedbooleannoSe o imóvel está ocupado hoje, em aluguel por temporada

Nos inteiros opcionais, um 0 significa "não declarou", não "zero".

Quando a imobiliária não preenche um destes campos, o serviço devolve 0 em vez de omiti-lo: totalFloors, floors, apartmentsPerFloor, toilettes, dependencies, expensesPrice e taxPrice. Portanto "toilettes": 0 não afirma que o imóvel não tenha lavabos — afirma que ninguém informou quantos.

Se você for exibir o dado, trate o 0 como ausência. É a convenção do objeto e vale também para os contadores do empreendimento em GET /developments.

developmentId — se o imóvel faz parte de um projeto

A partir de 2026-10-27 todo imóvel deste serviço traz três campos do grupo do empreendimento, sempre, seja ou não um empreendimento:

CampoTipoObrigatórioDescrição
developmentIdintyesId do empreendimento do qual este imóvel é unidade. 0 = não pertence a nenhum
developmentbooleanyestrue somente se este imóvel FOR um empreendimento
developmentPropertiesArray of intyesOs Ids de suas unidades se for um empreendimento; [] se não

developmentId é o que permite detectar, em uma listagem qualquer, que quatro apartamentos quase idênticos são do mesmo projeto — e buscar o projeto com GET /developments.

Para saber se algo é um empreendimento, verifique development === true.

Até 2026-10-26 esses três campos não apareciam em um imóvel comum, então verificar a existência da chave servia para distingui-lo de um empreendimento. Já não: as três chaves vêm sempre. A mudança é aditiva e não quebra uma leitura de valores, mas um código que use 'developmentProperties' in prop para detectar um empreendimento agora dá o resultado contrário.

Somente os empreendimentos trazem developmentStats. O bloco de indicadores derivados — quantas unidades há, quantas vendidas, a faixa de preços — não aparece em um imóvel comum: não tem unidades a partir das quais derivá-lo. Está documentado em GET /developments.

A resposta inclui também alguns campos de uso interno da Mapaprop que não fazem parte deste contrato e podem mudar ou desaparecer sem aviso: embeddingVersion, vectorizedAt, configs, moderationStatus e publication. Não construa nada sobre eles.

Exemplo de resposta

{
    "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"
        },
    ]
}