Documentação do Mercado Livre

Confira todas as informações necessárias sobre as APIs Mercado Livre.
circulos azuis em degrade

Documentação do

Última atualização em 09/11/2025

Localizar Imóveis


Introdução: Potencializando a busca e a publicação de imóveis com nossa API

A API de Imóveis do Mercado Livre fornece aos desenvolvedores as ferramentas necessárias para integrar funções de busca e publicação de propriedades em seus aplicativos. Ao começar com a API de Localização de Imóveis, é possível obter listagens altamente segmentadas utilizando filtros precisos, como localização geográfica (cidade, bairro, estado), preço e tipo de imóvel.


Essa capacidade avançada de localização é essencial para plataformas imobiliárias, apps de gestão de propriedades e qualquer sistema que precise de acesso dinâmico, filtrado por localização, à ampla base de dados de imóveis do Mercado Livre.


Para utilizar essa API, explicaremos primeiro os países, depois estados, cidades e bairros. Ao final, você terá todas as informações necessárias para buscar um imóvel por localização ou até ocultar a informação exata da localização, se necessário.

Explorar Países

Este é o ponto de partida para usar a API. Ele fornece a lista de países onde o Mercado Livre opera e onde você pode buscar imóveis. Use-o para criar apps que funcionem em vários países, permitindo que os usuários escolham o país de interesse antes de buscar propriedades.

A resposta que você obtém é uma lista de objetos JSON; cada um representa um país com as informações de que você precisa para continuar usando a API.


curl -X GET 
-H 'Authorization: Bearer $ACCESS_TOKEN' 
https://api.mercadolibre.com/classified_locations/countries
Nota:
Este endpoint não requer parâmetros de consulta.

Exemplo de Resposta:

[
  {
    "id": "AR",
    "name": "Argentina",
    "locale": "es_AR",
    "currency_id": "ARS"
  },
  {
    "id": "BO",
    "name": "Bolivia",
    "locale": "es_BO",
    "currency_id": "BOB"
  },
  {
    "id": "BR",
    "name": "Brasil",
    "locale": "pt_BR",
    "currency_id": "BRL"
  },
  {
    "id": "CL",
    "name": "Chile",
    "locale": "es_CL",
    "currency_id": "CLP"
  },
  {
    "id": "CN",
    "name": "China",
    "locale": "zh_CN",
    "currency_id": "CNY"
  },
  {
    "id": "CO",
    "name": "Colombia",
    "locale": "es_CO",
    "currency_id": "COP"
  },
  {
    "id": "CR",
    "name": "Costa Rica",
    "locale": "es_CR",
    "currency_id": "CRC"
  },
  {
    "id": "CBT",
    "name": "Cross Border Trade",
    "locale": "es_AR",
    "currency_id": "ARS"
  },
  {
    "id": "EC",
    "name": "Ecuador",
    "locale": "es_EC",
    "currency_id": "USD"
  },
  {
    "id": "SV",
    "name": "El Salvador",
    "locale": "es_SV",
    "currency_id": "USD"
  },
  {
    "id": "GT",
    "name": "Guatemala",
    "locale": "es_GT",
    "currency_id": "GTQ"
  },
  {
    "id": "HN",
    "name": "Honduras",
    "locale": "es_HN",
    "currency_id": "HNL"
  },
  {
    "id": "MX",
    "name": "Mexico",
    "locale": "es_MX",
    "currency_id": "MXN"
  },
  {
    "id": "NI",
    "name": "Nicaragua",
    "locale": "es_NI",
    "currency_id": "NIO"
  },
  {
    "id": "PA",
    "name": "Panamá",
    "locale": "es_PA",
    "currency_id": "USD"
  },
  {
    "id": "PY",
    "name": "Paraguay",
    "locale": "es_PY",
    "currency_id": "PYG"
  },
  {
    "id": "PE",
    "name": "Peru",
    "locale": "es_PE",
    "currency_id": "PEN"
  },
  {
    "id": "PT",
    "name": "Portugal",
    "locale": "pt_PT",
    "currency_id": "EUR"
  },
  {
    "id": "PR",
    "name": "Puerto Rico",
    "locale": "es_PR",
    "currency_id": "USD"
  },
  {
    "id": "GB",
    "name": "Reino Unido",
    "locale": "en_GB",
    "currency_id": "GBP"
  },
  {
    "id": "DO",
    "name": "República Dominicana",
    "locale": "es_DO",
    "currency_id": "DOP"
  },
  {
    "id": "UY",
    "name": "Uruguay",
    "locale": "es_UY",
    "currency_id": "UYU"
  },
  {
    "id": "VE",
    "name": "Venezuela",
    "locale": "es_VE",
    "currency_id": "VES"
  },
  {
    "id": "COL",
    "name": "newCOL",
    "locale": "es_COL",
    "currency_id": "COLS"
  }
]
Nota:
No exemplo de resposta JSON, observa-se um valor atípico, CBT ou Cross Border Trade. Isso não representa um país, e sim uma situação particular do Mercado Livre para o negócio entre fronteiras. Além disso, também pode ser observado o resultado COL ou newCOL. Isso não se trata de uma substituição efetiva; portanto, deve ser desconsiderado.

Estrutura de resposta esperada

O resultado esperado é um array de países com a seguinte estrutura:

Parâmetro Tipo Opcional Descrição
id String Não Identificador único de 2 ou 3 caracteres
name String Não Nome do país
locale String Não Locale determinado para o país
currency_id String Não Identificador da moeda principal do país

Explorar informações do País

Depois de obter a lista de países, você pode explorar os detalhes de cada um. Isso permitirá conhecer informações específicas sobre seus estados, cidades e outros aspectos relevantes.


Chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/classified_locations/countries/$COUNTRY_ID

Parâmetros

Id do País: O parâmetro COUNTRY_ID permite filtrar por país. Aceita o identificador (ID) do país, no formato de 2 ou 3 caracteres, como detalhado na estrutura anterior.


Exemplo de chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/classified_locations/countries/AR

Resposta:


{
  "id": "AR",
  "name": "Argentina",
  "locale": "es_AR",
  "currency_id": "ARS",
  "decimal_separator": ",",
  "thousands_separator": ".",
  "time_zone": "GMT-03:00",
  "time_zone_name": "",
  "geo_information": {
    "location": {
      "latitude": -38.416096,
      "longitude": -63.616673
    }
  },
  "states": [
    { "id": "TUxBUEJSQWwyMzA1", "name": "Brasil" },
    { "id": "TUxBUENPU2ExMmFkMw", "name": "Bs.As. Costa Atlántica" },
    { "id": "TUxBUEdSQWU4ZDkz", "name": "Bs.As. G.B.A. Norte" },
    { "id": "TUxBUEdSQWVmNTVm", "name": "Bs.As. G.B.A. Oeste" },
    { "id": "TUxBUEdSQXJlMDNm", "name": "Bs.As. G.B.A. Sur" },
    { "id": "QnVlbm9zIEFpcmVz", "name": "Buenos Aires" },
    { "id": "TUxBUFpPTmFpbnRl", "name": "Buenos Aires Interior" },
    { "id": "TUxBUENBUGw3M2E1", "name": "Capital Federal" },
    { "id": "TUxBUENBVGFiY2Fm", "name": "Catamarca" },
    { "id": "TUxBUENIQW8xMTNhOA", "name": "Chaco" },
    { "id": "Y2hpbGU=", "name": "Chile" },
    { "id": "TUxBUENIVXQxNDM1MQ", "name": "Chubut" },
    { "id": "TUxBUENPUnM5MjI0", "name": "Corrientes" },
    { "id": "TUxBUENPUmFkZGIw", "name": "Córdoba" },
    { "id": "TUxBUEVOVHMzNTdm", "name": "Entre Ríos" },
    { "id": "TUxBUEZPUmE1OTk5", "name": "Formosa" },
    { "id": "TUxBUEpVSnk3YmUz", "name": "Jujuy" },
    { "id": "TUxBUExBWmE1OWMy", "name": "La Pampa" },
    { "id": "TUxBUExBWmEyNzY0", "name": "La Rioja" },
    { "id": "TUxBUE1FTmE5OWQ4", "name": "Mendoza" },
    { "id": "TUxBUE1JU3MzNjIx", "name": "Misiones" },
    { "id": "TUxBUE5FVW4xMzMzNQ", "name": "Neuquén" },
    { "id": "UHJvdmlua2lhdmVvIGRlIEJ1ZW5vcyBBaXJl", "name": "Província de Buenos Aires" },
    { "id": "TUxBUFJFUDQyMjQ4Ng", "name": "República Dominicana" },
    { "id": "TUxBUFLNT29iZmZm", "name": "Río Negro" },
    { "id": "TUxBUFNBTGFjMTJi", "name": "Salta" },
    { "id": "TUxBUFNBTm5lYjU4", "name": "San Juan" },
    { "id": "TUxBUFNBTnM0ZTcz", "name": "San Luis" },
    { "id": "TUxBUFNBTno3ZmY5", "name": "Santa Cruz" },
    { "id": "TUxBUFNBTmU5Nzk2", "name": "Santa Fe" },
    { "id": "TUxBUFNBTm9lOTlk", "name": "Santiago del Estero" },
    { "id": "TUxBUFRJRVoxM2M5YQ", "name": "Tierra del Fuego" },
    { "id": "TUxBUFRVQ244NmM3", "name": "Tucumán" },
    { "id": "TUxBUFVTQWl1cXdlMg", "name": "USA" },
    { "id": "TUxBUFVSVXllZDVl", "name": "Uruguay" }
  ]
}
Nota:
Pode-se identificar que, dentro da estrutura de states para o país, também estão incluídos países limítrofes. No caso do exemplo da Argentina, aparecem países como Chile, Brasil, Uruguai, Bolívia e Paraguai.

Estrutura de resposta esperada

O resultado esperado é uma entidade país com a seguinte estrutura:

Parâmetro Tipo Opcional Descrição
id string Não Identificador único de 2 ou 3 caracteres
name string Não Nome do país
locale string Não Locale determinado para o país
currency_id string Não Identificador da moeda principal do país
decimal_separator string Não Caractere usado como separador de decimais na moeda
thousands_separator string Não Caractere usado como separador de milhar na moeda
time_zone string Não Fuso horário local do país
time_zone_name string Sim Nome do fuso horário
geo_information.location.latitude float Não Latitude do país
geo_information.location.longitude float Não Longitude do país
states array Não Array contendo a lista de estados, cada um identificado por um id e name

Tratamento de Erros

País não encontrado:

{
  "message": "Country not found",
  "error": "not_found",
  "status": 404,
  "cause": []
}

Explorar informações de Estados

Após obter os identificadores de estado nas operações anteriores, é possível obter informações adicionais de cada um deles (também conhecidos como províncias ou regiões em alguns países). Essas informações ampliadas incluem dados como geolocalização, cidades pertencentes a cada estado e outros detalhes relevantes.

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/classified_locations/states/$STATE_ID

Parâmetros:


Id do Estado: O parâmetro STATE_ID permite filtrar por estado. Aceita o uso do identificador (ID) do estado no formato string ou cadeia de caracteres, conforme detalhado na estrutura anterior.


Exemplo de chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/classified_locations/states/TUxBUENPUmFkZGIw

Resposta:

{
  "id": "TUxBUENPUmFkZGIw",
  "name": "Córdoba",
  "country": { "id": "AR", "name": "Argentina" },
  "geo_information": { "location": { "latitude": -32.2968402, "longitude": -63.580611 } },
  "time_zone": "GMT-03:00",
  "time_zone_name": "America/Cordoba",
  "cities": [
    { "id": "TVhYQWNoaXJhc1RVeEJVRU5QVW1Ga1pHSXc", "name": "Achiras" },
    { "id": "TVhYQWx0YSBHcmFjaWFUVXhCVUVOUFVtRmtaR", "name": "Alta Gracia" },
    { "id": "TVhYQXJyb3lpdG9UVXhCVUVOUFVtRmtaR0l3", "name": "Arroyito" },
    { "id": "TVhYQmVycm90YXLDoW5UVXhCVUVOUFVtRmtaR", "name": "Berrotarán" },
    { "id": "TVhYQmlhbGV0IE1hc3PDqVRVeEJVRU5QVW1Ga", "name": "Bialet Massé" },
    { "id": "TUxBQ0NBTGMwYWZk", "name": "Calamuchita" },
    { "id": "TUxBQ0NPTDdlNmZl", "name": "Colón" },
    { "id": "TVhYQ29zcXXDrW5UVXhCVUVOUFVtRmtaR0l3", "name": "Cosquín" },
    { "id": "TVhYQ3J1eiBBbHRhVFV4QlVFTlBVbUZrWkdJd", "name": "Cruz Alta" },
    { "id": "TUxBQ0NSVWVjOGJh", "name": "Cruz del Eje" },
    { "id": "TUxBQ0NBUGNiZGQx", "name": "Córdoba" },
    { "id": "TVhYRnJleXJlVFV4QlVFTlBVbUZrWkdJdw", "name": "Freyre" },
    { "id": "TVhYR2VuZXJhbCBEZWhlemFUVXhCVUVOUFVtR", "name": "General Deheza" },
    { "id": "TUxBQ0dFTjMwYzFh", "name": "General Roca" },
    { "id": "TUxBQ0dFTmE2OGQ2", "name": "General San Martín" },
    { "id": "TUxBQ0lTQzJkZGM2", "name": "Ischilín" },
    { "id": "TVhYSmVzw7pzIE1hcsOtYVRVeEJVRU5QVW1Ga", "name": "Jesús María" },
    { "id": "TUxBQ0pVwTUyMmRh", "name": "Juárez Celman" },
    { "id": "TVhYTGEgQm9sc2FUVXhCVUVOUFVtRmtaR0l3", "name": "La Bolsa" },
    { "id": "TVhYTGEgQ2FsZXJhVFV4QlVFTlBVbUZrWkdJd", "name": "La Calera" },
    { "id": "TVhYTGEgQ2FybG90YVRVeEJVRU5QVW1Ga1pHS", "name": "La Carlota" },
    { "id": "TVhYTGEgRmFsZGFUVXhCVUVOUFVtRmtaR0l3", "name": "La Falda" },
    { "id": "TVhYTGEgUGFpc2FuaXRhVFV4QlVFTlBVbUZrW", "name": "La Paisanita" },
    { "id": "TVhYTGFndW5hIExhcmdhVFV4QlVFTlBVbUZrW", "name": "Laguna Larga" },
    { "id": "TVhYTG9zIEVzcGluaWxsb3NUVXhCVUVOUFVtR", "name": "Los Espinillos" },
    { "id": "TVhYTWFsYWd1ZcOxb1RVeEJVRU5QVW1Ga1pHS", "name": "Malagueño" },
    { "id": "TUxBQ01BUmU2ZjEx", "name": "Marcos Juárez" },
    { "id": "TVhYTWVuZGlvbGF6YVRVeEJVRU5QVW1Ga1pHS", "name": "Mendiolaza" },
    { "id": "TUxBQ01JTjI2ZDRi", "name": "Minas" },
    { "id": "TVhYT25jYXRpdm9UVXhCVUVOUFVtRmtaR0l3", "name": "Oncativo" },
    { "id": "TVhYT25nYW1pcmFUVXhCVUVOUFVtRmtaR0l3", "name": "Ongamira" },
    { "id": "TUxBQ1BPQ2RiODcy", "name": "Pocho" },
    { "id": "TVhYUG90cmVybyBkZSBHYXJheVRVeEJVRU5QV", "name": "Potrero de Garay" },
    { "id": "TUxBQ1BSRTljM2Mw", "name": "Presidente Roque Sáenz Peña" },
    { "id": "TVhYUHVlcnRvIGRlbCBBZ3VpbGFUVXhCVUVOU", "name": "Puerto del Aguila" },
    { "id": "TUxBQ1BVTjkyMmI4", "name": "Punilla" },
    { "id": "TVhYUsOtbyBDZWJhbGxvc1RVeEJVRU5QVW1Ga", "name": "Río Ceballos" },
    { "id": "TUxBQ1LNTzc4N2Fm", "name": "Río Cuarto" },
    { "id": "TUxBQ1LNT2E3Y2E5", "name": "Río Primeiro" },
    { "id": "TUxBQ1LNT2EzZjhm", "name": "Río Seco" },
    { "id": "TUxBQ1LNT2RiZTBj", "name": "Río Segundo" },
    { "id": "TUxBQ1NBTmIxNDY", "name": "San Alberto" },
    { "id": "TUxBQ1NBTjcyMDk5OA", "name": "San Francisco" },
    { "id": "TUxBQ1NBTjM3OTVl", "name": "San Javier" },
    { "id": "TUxBQ1NBTjk4MzY", "name": "San Justo" },
    { "id": "TUxBQ1NBTjlmZjVh", "name": "Santa María" },
    { "id": "TVhYU2FudGEgUm9zYSBkZSBDYWxhbXVjaGl0Y", "name": "Santa Rosa de Calamuchita" },
    { "id": "TUxBQ1NPQjVkNGVi", "name": "Sobremonte" },
    { "id": "TUxBQ1RFUmJmYmYy", "name": "Tercero Arriba" },
    { "id": "TUxBQ1RPVGIxNmYy", "name": "Totoral" },
    { "id": "TUxBQ1RVTDgxNTI5", "name": "Tulumba" },
    { "id": "TUxBQ1VOSTg2Yzhl", "name": "Unión" },
    { "id": "TVhYVmlsbGEgQWxsZW5kZVRVeEJVRU5QVW1Ga", "name": "Villa Allende" },
    { "id": "TVhYVmlsbGEgQ2FybG9zIFBhelTVeEJVRU5QV", "name": "Villa Carlos Paz" },
    { "id": "TVhYUGxvdHRpZXJUVXhCVUVOUFVtRmtaR0l3", "name": "Villa General Belgrano" },
    { "id": "TUxBQ1ZJTDE4NjE1Mg", "name": "Villa María" },
    { "id": "TVhYVmlsbGEgU2FudGEgUm9zYVRVeEJVRU5QV", "name": "Villa Santa Rosa" }
  ]
}

Estrutura de resposta esperada

O resultado esperado é uma entidade Estado com a seguinte estrutura:

Parâmetro Tipo Opcional Descrição
id string Não Identificador único no formato de cadeia de caracteres
name string Não Nome do estado
country.id string Não Identificador único de 2 ou 3 caracteres
country.name string Não Nome do país
geo_information.location.latitude float Não Latitude do estado
geo_information.location.longitude float Não Longitude do estado
time_zone string Não Fuso horário local do estado
time_zone_name string Não Nome do fuso horário
cities array Não Array com a lista de cidades, cada uma identificada por um id e name

Tratamento de Erros

Estado não encontrado:

{
  "message": "State not found",
  "error": "not_found",
  "status": 404,
  "cause": []
}

Explorar informações de Cidades

Depois de obter os identificadores de cidades nas operações anteriores, é possível obter informações adicionais de cada uma delas. Essas informações ampliadas incluem geolocalização, bairros ou comunas que a compõem e outros detalhes. É importante observar que essas cidades podem representar regiões menores que englobam não apenas bairros ou comunas, mas também vilas e povoados incluídos na região.

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/classified_locations/cities/$CITY_ID

Parâmetros:


Id da Cidade: O parâmetro CITY_ID permite filtrar por cidade. Aceita o uso do identificador (ID) da cidade, em formato string ou cadeia de caracteres, conforme detalhado na estrutura anterior.


Exemplo de chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/classified_locations/cities/TUxBQ1RNTzc4N2Fm

Resposta:

{
  "id": "TUxBQ1RNTzc4N2Fm",
  "name": "Río Cuarto",
  "state": { "id": "TUxBUENPUmFkZGIw", "name": "Córdoba" },
  "country": { "id": "AR", "name": "Argentina" },
  "neighborhoods": [
    { "id": "TUxBQkFERTc1Njc1OA", "name": "Adelia María" },
    { "id": "TUxBQkFMQzUxMTMxNg", "name": "Alcira" },
    { "id": "TUxBQkFMUDQ0Nzk5MA", "name": "Alpa Corral" },
    { "id": "TUxBQkJFUjUxNzQyMg", "name": "Berrotarán" },
    { "id": "TUxBQkJVTDUzODIyMA", "name": "Bulnes" },
    { "id": "TUxBQkNIQTYxMTY3MQ", "name": "Chaján" },
    {
      "id": "TUxBQkNIVTQ2OTM5NA",
      "name": "Chucul"
    },
    { "id": "TUxBQkNPUjg0MTg2NQ", "name": "Coronel Baigorria" },
    { "id": "TUxBQkNPUjYwMjM4OQ", "name": "Coronel Moldes" },
    { "id": "TUxBQkVMRTc3MDY5MQ", "name": "Elena" },
    { "id": "TUxBQkxBQzU2NTY4OQ", "name": "La Carolina" },
    { "id": "TUxBQkxBQzk2NzMzNg", "name": "La Cautiva" },
    { "id": "TUxBQkxBRzU0OTAyNg", "name": "La Gilda" },
    { "id": "TUxBQkxBUzkyODY4MQ", "name": "Las Acequias" },
    { "id": "TUxBQkxBUzU1NzY0NQ", "name": "Las Albahacas" },
    { "id": "TUxBQkxBUzU4OTkzMQ", "name": "Las Higueras" },
    { "id": "TUxBQkxBUzU0MjIyOA", "name": "Las Peñas" },
    { "id": "TUxBQkxBUzIzMTA1NQ", "name": "Las Vertientes" },
    { "id": "TUxBQk1BTDI2MTYwNA", "name": "Malena" },
    { "id": "TUxBQk1PTjIzNjExOQ", "name": "Monte de los Gauchos" },
    { "id": "TUxBQlBBUzg5NDM5Ng", "name": "Paso del Durazno" },
    { "id": "TUxBQlRNTzM2NDg2OA", "name": "Río Cuarto" },
    { "id": "TUxBQlNBTTkxNzExOQ", "name": "Sampacho" },
    { "id": "TUxBQlNBTjE3MDY1Mw", "name": "San Basilio" },
    { "id": "TUxBQlNBTjQxNzg4Mg", "name": "Santa Catalina" },
    { "id": "TUxBQlNVQzkzMDI3Ng", "name": "Suco" },
    { "id": "TUxBQlRPUzczNjQyMQ", "name": "Tosquitas" },
    { "id": "TUxBQlZJQzY2MDY1NA", "name": "Vicuña Mackenna" },
    { "id": "TUxBQlZJTDU3NTIxNQ", "name": "Villa El Chacay" },
    { "id": "TUxBQlZJTDMwNDk5OQ", "name": "Villa Santa Eugenia" },
    { "id": "TUxBQldBUzkyMDA1Mw", "name": "Washington" }
  ],
  "geo_information": { "location": { "latitude": -33.3475232, "longitude": -64.5266446 } }
}

Estrutura de resposta esperada

O resultado esperado é uma entidade Cidade com a seguinte estrutura:

Parâmetro Tipo Opcional Descrição
id string Não Identificador único em formato de cadeia de caracteres
name string Não Nome da cidade
state.id string Não Identificador único em formato de cadeia de caracteres para o estado
state.name string Não Nome do estado
country.id string Não Identificador único de 2 ou 3 caracteres
country.name string Não Nome do país
geo_information.location.latitude float Não Latitude da cidade
geo_information.location.longitude float Não Longitude da cidade
neighborhoods array Não Array com a lista de bairros, cada um identificado por um id e name

Tratamento de Erros

Cidade não encontrada:

{
  "message": "City not found",
  "error": "not_found",
  "status": 404,
  "cause": []
}

Explorar informações de Bairros

Após obter os IDs dos bairros nas operações anteriores, é possível obter informações adicionais de cada um. Essas informações incluem geolocalização, sub-bairros ou comunas que o compõem e outros detalhes. Vale destacar que esses bairros também podem representar comunas menores ou vilas.

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/classified_locations/neighborhoods/$NEIGHBORHOOD_ID

Parâmetros:


Id do Bairro: O parâmetro NEIGHBORHOOD_ID permite filtrar por bairro. Aceita o uso do identificador (ID) do bairro, em formato string ou cadeia de caracteres, conforme detalhado na estrutura anterior.


Exemplo de chamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/classified_locations/neighborhoods/TUxBQlRNTzM2NDg2OA

Resposta:

{
  "id": "TUxBQlRNTzM2NDg2OA",
  "name": "Río Cuarto",
  "city": { "id": "TUxBQ1RNTzc4N2Fm", "name": "Río Cuarto" },
  "state": { "id": "TUxBUENPUmFkZGIw", "name": "Córdoba" },
  "country": { "id": "AR", "name": "Argentina" },
  "geo_information": { "location": { "latitude": -33.123158, "longitude": -64.34934 } },
  "subneighborhoods": []
}

Estrutura de resposta esperada

O resultado esperado é uma entidade Bairro com a seguinte estrutura:

Parâmetro Tipo Opcional Descrição
id string Não Identificador único em formato de cadeia de caracteres para o bairro
name string Não Nome do bairro
city.id string Não Identificador único em formato de cadeia de caracteres para a cidade
city.name string Não Nome da cidade
state.id string Não Identificador único em formato de cadeia de caracteres para o estado
state.name string Não Nome do estado
country.id string Não Identificador único de 2 ou 3 caracteres
country.name string Não Nome do país
geo_information.location.latitude float Não Latitude do bairro
geo_information.location.longitude float Não Longitude do bairro
subneighborhoods array Não Array com a lista de sub-bairros, cada um identificado por um id e name

Tratamento de Erros

Bairro não encontrado:

{
  "message": "Neighborhood not found",
  "error": "not_found",
  "status": 404,
  "cause": []
}

Buscar Imóveis por Localização

Depois de selecionar a localização desejada para o seu imóvel, você pode usar este recurso para buscar anúncios com base em sua localização geográfica. Para isso, é necessário especificar um intervalo de latitude e longitude que delimite a área onde deseja realizar a busca.


Lembre-se de que a precisão da sua busca dependerá em grande parte do intervalo de latitude e longitude fornecido: um intervalo mais amplo exibirá mais resultados, porém menos precisos, enquanto um intervalo mais estreito retornará resultados mais relevantes para uma área específica.

Chamada:


curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$COUNTRY_ID/search?item_location=lat:$LATITUDE1_LATITUDE2,lon:$LONGITUDE1_LONGITUDE2&category=$CATEGORY_ID

Parâmetros:

  • Id do País: COUNTRY_ID permite filtrar por país. Formato string.
  • Latitude: LATITUDE1_LATITUDE2 permite filtrar por latitude.
  • Longitude: LONGITUDE1_LONGITUDE2 permite filtrar por longitude.
  • Id da Categoria: CATEGORY_ID permite filtrar pela categoria do imóvel.
Importante:
O parâmetro que integra latitude e longitude para a busca por localização do imóvel é item_location, e o formato correto esperado é o seguinte: item_location=lat:$LATITUDE1_LATITUDE2,lon:$LONGITUDE1_LONGITUDE2

Exemplo de chamada:


No exemplo a seguir, são buscados os imóveis da categoria MLA1459 na Argentina, limitando os resultados aos valores indicados de latitude e longitude.

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLA/search?item_location=lat:-37.987148_-30.987148,lon:-57.5483864_-50.5483864&category=MLA1459&limit=1

Resposta:

{
  "site_id": "MLA",
  "country_default_time_zone": "GMT-03:00",
  "paging": { "total": 66065, "primary_results": 1000, "offset": 0, "limit": 1 },
  "results": [ {...} ],
  "sort": { "id": "relevance", "name": "Mais relevantes" },
  "available_sorts": [
    { "id": "price_asc", "name": "Menor preço" },
    { "id": "price_desc", "name": "Maior preço" }
  ],
  "filters": [
    {
      "id": "category",
      "name": "Categorias",
      "type": "text",
      "values": [
        {
          "id": "MLA1459",
          "name": "Imóveis",
          "path_from_root": [ { "id": "MLA1459", "name": "Imóveis" } ]
        }
      ]
    },
    {
      "id": "item_location",
      "name": "Localização",
      "type": "text",
      "values": [
        {
          "id": "lat:-37.987148_-30.987148,lon:-57.5483864_-50.5483864",
          "name": "Área do mapa selecionada"
        }
      ]
    }
  ],
  "available_filters": [ {...} ],
  "currency": { "id": "ARS", "symbol": "$" },
  "available_currencies": {
    "currencies": [ { "id": "USD", "symbol": "US$" } ],
    "conversions": { "ars_usd": 0.00093589, "usd_ars": 1068.5 }
  },
  "pdp_tracking": { "group": false, "product_info": [] },
  "user_context": null,
  "ranking_introspection": {}
}
Nota:
Para fins práticos deste guia e para melhorar a legibilidade do resultado esperado, foram omitidas informações dos resultados results e filtros disponíveis na busca available_filters.

Ocultar o endereço exato da propriedade

A decisão de mostrar ou não o endereço exato de uma propriedade em um anúncio publicado cabe ao gestor do imóvel. Essa medida é tomada principalmente por motivos de segurança e privacidade. No entanto, mesmo que a localização exata não seja revelada, o anúncio sempre incluirá a localização geral e o número da propriedade.

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/address_line_by_reference

Parâmetros:


Id do Item: O parâmetro ITEM_ID permite filtrar por item ou anúncio.


Reverter ocultamento

Para reverter o ocultamento do endereço exato, é possível realizar um delete da tag.

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/address_line_by_reference

Próximos Passos

Leituras Recomendadas


Atualizações de Versão

Esta seção fornece informações sobre as atualizações da API, incluindo:


Histórico de alterações


Data Versão Descrição
08/11/2025 1.0 Publicação inicial