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

Variações

No Mercado Livre, uma publicação de imóvel pode ter variações, ou seja, a mesma publicação é apresentada com opções diferentes em atributos como área útil, número de quartos ou banheiros. Isso permite ao vendedor mostrar uma unidade em construção ou a construir com diversas alternativas, chamadas variações. Cada variação detalha uma possível unidade a construir, incluindo suas características, plantas e outros detalhes.


Essas variações são apresentadas apenas para categorias e países específicos; para a Argentina é Empreendimentos (MLA401806), assim como para Uruguai (MLU455673); para o Chile é a categoria de Projetos (MLC157523); para o México é a categoria de Empreendimentos (MLM170376).


Ao consultar essas categorias, por exemplo para a Argentina, com o seguinte comando curl:

curl --location 'https://api.mercadolibre.com/categories/MLA401806' \
--header 'Authorization: Bearer $ACCESS_TOKEN'
Parâmetro Tipo Opcional Valores
ACCESS_TOKENStringNãoToken gerado no ponto 4.3 do guia
CATEGORY_IDStringNãoID da categoria a consultar

Na resposta obtida, você encontrará o atributo attribute_types com o valor variations, o que indica que nessa categoria você poderá publicar imóveis com variações.


Exemplo de resposta:

{
    "id": "MLA401806",
    "name": "Emprendimientos",
       "path_from_root": [
        {
            "id": "MLA1459",
            "name": "Inmuebles"
        },
        {
            "id": "MLA1472",
            "name": "Departamentos"
        },
        {
            "id": "MLA1474",
            "name": "Venta"
        },
        {
            "id": "MLA401806",
            "name": "Emprendimientos"
        }
    ],
    "children_categories": [],
    "attribute_types": "variations"
    ...
}

Se desejar saber mais sobre categorias, consulte a seção de categorias.


Publique imóveis com variações

Para publicar imóveis com variações com seu usuário de teste, considere o seguinte:


1. Privilégios e pacotes de Desenvolvimento: É necessário contar com alguns privilégios e ter um pacote de desenvolvimento. Para isso, envie o formulário de suporte, selecionando a opção “Privilégios e pacote de desenvolvimento”, informando o ID do seu usuário para solicitar a atribuição desses privilégios para esse tipo de publicação.

Importante:
  • As publicações de imóveis com variações estão disponíveis apenas nos países:
    • Argentina (MLA)
    • Chile (MLC)
    • México (MLM)
    • Uruguai (MLU)
  • Ao ativar esse tipo de pacote para um usuário, o pacote permite realizar apenas uma publicação desse tipo; além disso, o usuário não poderá contratar pacotes de publicação convencionais. Consulte o guia de pacotes de projetos.

2. Consulta de atributos com variações: Para publicações com variações, é imprescindível utilizar o guia de atributos e o guia de localização de imóveis. Esses materiais detalham os parâmetros necessários e as variações aplicáveis à categoria da sua publicação.


Por exemplo, se você deseja criar uma publicação na Argentina (MLA) para Apartamentos à venda dentro da categoria de empreendimentos, utilize a categoria MLA401806. Para verificar os atributos necessários, use o comando a seguir.

curl --location 'https://api.mercadolibre.com/categories/MLA401806/attributes' \
--header 'Authorization: Bearer $ACCESS_TOKEN'

Você obterá uma resposta que inclui os atributos obrigatórios e aqueles que permitem variações. Esses atributos são identificados pela propriedade "allow_variations": true, que indica quais atributos podem ter variações; não se esqueça também dos atributos obrigatórios.

{
  "id": "BEDROOMS",
  "name": "Dormitorios",
  "tags": {
    "allow_variations": true,
    "required": true,
    "catalog_listing_required": true
  },
  "hierarchy": "ITEM",
  "relevance": 1,
  "value_type": "number",
  "value_max_length": 18,
  "attribute_group_id": "MAIN_CHARACTERISTICS_OF_MODEL",
  "attribute_group_name": "Características principales del modelo"
},
{
  "id": "FULL_BATHROOMS",
  "name": "Baños",
  "tags": {
    "allow_variations": true,
    "required": true,
    "catalog_listing_required": true
  },
  "hierarchy": "ITEM",
  "relevance": 1,
  "value_type": "number",
  "value_max_length": 18,
  "attribute_group_id": "MAIN_CHARACTERISTICS_OF_MODEL",
  "attribute_group_name": "Características principales del modelo"
}

Com os atributos obrigatórios e com variações identificados para sua publicação, monte o JSON. Inclua os atributos que variam no array attribute_combinations e os atributos comuns no array attributes. Siga o exemplo abaixo.

{
  "listing_type_id": "gold_premium",
  "title": "Item de prueba de variations",
  "available_quantity": 4,
  "category_id": "MLA157523",
  "currency_id": "CLP",
  "condition": "new",
  "site_id": "MLA",
  "price": 100000000,
  "location": {
    "address_line": "H-20, La Estrella, O'Higgins",
    "zip_code": "",
    "neighborhood": { "id": "", "name": "" },
    "city": { "id": "TUxDQ0xBWmE0Y2Zm", "name": "Buenos aires" },
    "state": { "id": "TUxDUE9IUzFjODg", "name": "Libertador B. O'Higgins" },
    "country": { "id": "AR", "name": "Argentina" },
    "latitude": -34.2065985,
    "longitude": -71.6742634
  },
  "attributes": [
    { "id": "POSSESSION_STATUS", "value_id": "242414" },
    { "id": "PROPERTY_CODE", "value_name": "COD123456" },
    { "id": "MODEL_NAME", "value_name": "Modelo XYZ" },
    { "id": "DEVELOPMENT_NAME", "value_name": "Desarrollo ABC" },
    { "id": "COVERED_AREA", "value_name": "60 m2" },
    { "id": "UNIT_NAME", "value_name": "Unidad 101" },
    { "id": "BALCONY_AREA", "value_name": "5 m2" },
    { "id": "UNIT_FLOOR", "value_name": "3" },
    { "id": "FACING", "value_name": "N" }
  ],
  "variations": [
    {
      "attribute_combinations": [
        { "id": "TOTAL_AREA", "value_name": "60 m²" },
        { "id": "PARKING_LOTS", "value_name": "1" },
        { "id": "BEDROOMS", "value_name": "3" },
        { "id": "FULL_BATHROOMS", "value_name": "1" }
      ],
      "price": 100000000,
      "available_quantity": 4,
      "sold_quantity": 0
    },
    {
      "attribute_combinations": [
        { "id": "TOTAL_AREA", "value_name": "80 m²" },
        { "id": "PARKING_LOTS", "value_name": "2" },
        { "id": "BEDROOMS", "value_name": "4" },
        { "id": "FULL_BATHROOMS", "value_name": "3" }
      ],
      "price": 105000000,
      "available_quantity": 10,
      "sold_quantity": 0
    }
  ]
}

Você receberá uma resposta semelhante à que seria obtida ao publicar um item. Ela pode ser consultada no guia de publicação de Imóveis, mas neste caso a resposta incluirá alguns parâmetros específicos para variações, explicados a seguir:

Parâmetro Tipo Descrição
variations Array Apresenta um ID adicional, além do ID de publicação, para cada variação publicada, incluindo todas as informações específicas de cada variação.
id String Identificador único da variação.
attribute_combinations String Atributos mais detalhados e relacionados ao projeto/unidade.

Erros comuns ao publicar com variações

Existem alguns erros frequentes ao publicar um imóvel com variações. A seguir, listamos os mais comuns:


1. Omissão de atributos obrigatórios: Dada a diversidade de atributos disponíveis para publicação, é fácil omitir algum valor obrigatório. No entanto, a API possui validações para identificar os campos ausentes. Quando uma requisição é enviada de forma incorreta, a resposta retornará um erro 400 - Bad Request. No campo message, serão listados os atributos obrigatórios que não foram informados.

{
  "message": "Validation error",
  "error": "validation_error",
  "status": 400,
  "cause": [
    {
      "department": "items",
      "cause_id": 147,
      "type": "error",
      "code": "item.attributes.missing_required",
      "references": [ "item.attributes", "item.variations.attribute_combinations" ],
      "message": "Os atributos [POSSESSION_STATUS, PROPERTY_CODE, MODEL_NAME, DEVELOPMENT_NAME, COVERED_AREA, UNIT_NAME, BALCONY_AREA, UNIT_FLOOR, FACING] são obrigatórios para a categoria MLC157523 e canal marketplace. Verifique se o atributo está presente na lista de attributes ou em todas as attribute_combinations das variações."
    }
  ]
}

Para resolver, adicione no corpo da requisição os atributos mencionados na resposta.


2. Atributos posicionados incorretamente no JSON: É possível incluir atributos inválidos para uma determinada variação ou colocados na seção errada do JSON. Isso resultará em um erro retornado pela API, que fornecerá um feedback detalhado.

{
  "message": "Validation error",
  "error": "validation_error",
  "status": 400,
  "cause": [
    {
      "department": "items",
      "cause_id": 161,
      "type": "error",
      "code": "item.variations.variation_attributes.invalid",
      "references": [ "item.variations", "item.category_id" ],
      "message": "Os atributos [POSSESSION_STATUS] são inválidos nos atributos de variação para a categoria MLC157523 e canais [marketplace]. Verifique se eles existem e possuem a tag variation_attribute."
    }
  ]
}

Para resolver esse problema, consulte o recurso de /attributes. Lá você poderá verificar se um atributo específico possui a tag "allow_variations": true, o que indicará se ele deve ser incluído no parâmetro attribute_combinations ou se é um atributo geral da publicação.


3. Valor de atributo incorreto: Ao tentar definir os atributos por meio do endpoint /attributes, devem ser utilizados apenas os valores permitidos que são exibidos no recurso. Caso valores inválidos ou não autorizados sejam enviados, a API retornará uma resposta indicando o erro encontrado.

{
  "message": "Validation error",
  "error": "validation_error",
  "status": 400,
  "cause": [
    {
      "department": "structured-data",
      "cause_id": 3510,
      "type": "error",
      "code": "invalid.item.attribute.values",
      "references": [ "item.name" ],
      "message": "O atributo [FACING] não é válido. Valores enviados: [(null:NORTE)]"
    }
  ]
}

4. Cota não disponível: Ao solicitar a ativação de um pacote de desenvolvimento para projetos imobiliários que permite publicar imóveis com variações, é importante observar que esse pacote habilita a publicação apenas uma vez. Isso significa que, após publicar um imóvel com variações, não será possível repetir a operação até que o pacote seja reativado. Caso seja feita uma nova tentativa após o consumo do pacote, será retornada uma mensagem como a seguinte:

{
  "message": "Not available quota",
  "error": "bad_request",
  "status": 400,
  "cause": []
}

Consulte sua publicação com variações

Você pode consultar as variações do seu item fazendo a seguinte chamada:


curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' 
https://api.mercadolibre.com/items/$ITEM_ID?attributes=variations
Parâmetro Tipo Opcional Valores
ACCESS_TOKEN string Não Lembre-se de usar o token gerado no ponto 4.3 do guia “Passos Rápidos para Publicar um Imóvel de Teste”.
ITEM_ID String Não ID do item obtido como resposta ao publicar o imóvel.

Você receberá um JSON com as variações da sua publicação:

{
  "variations": [
    {
      "item_relations": [],
      "id": 18377456123,
      "attribute_combinations": [
        {
          "value_name": "1",
          "values": [{ "id": null, "name": "1", "struct": null }],
          "value_type": "number",
          "id": "FULL_BATHROOMS",
          "name": "Banheiros",
          "value_id": null
        },
        {
          "values": [{ "struct": null, "id": null, "name": "3" }],
          "value_type": "number",
          "id": "BEDROOMS",
          "name": "Dormitórios",
          "value_id": null,
          "value_name": "3"
        },
        {
          "id": "PARKING_LOTS",
          "name": "Vagas de estacionamento",
          "value_id": null,
          "value_name": "1",
          "values": [{ "id": null, "name": "1", "struct": null }],
          "value_type": "number"
        },
        {
          "values": [{
            "id": null,
            "name": "60 m²",
            "struct": { "number": 60, "unit": "m²" }
          }],
          "value_type": "number_unit",
          "id": "TOTAL_AREA",
          "name": "Área total",
          "value_id": null,
          "value_name": "60 m²"
        }
      ],
      "available_quantity": 4,
      "sold_quantity": 0,
      "seller_custom_field": null,
      "user_product_id": "MLCU3231182496",
      "price": 100000000,
      "sale_terms": [],
      "picture_ids": [],
      "catalog_product_id": null,
      "inventory_id": null
    }
  ]
}

A maioria dos atributos corresponde a uma publicação convencional — você pode consultá-los no guia de Publicação de Imóveis. Os demais são explicados a seguir:

Parâmetro Tipo Descrição
item_relationsArrayLista de relações de itens.
idNúmeroIdentificador único da variação.
attribute_combinationsArrayAtributos detalhados relacionados ao projeto/unidade (ex.: dormitórios, banheiros).
value_nameStringNome do valor de um atributo.
valuesArrayLista de detalhes do valor, incluindo nome e estrutura.
value_typeStringTipo de valor (ex.: "number", "number_unit").
idStringIdentificador de um atributo (ex.: "FULL_BATHROOMS").
nameStringNome de um atributo (ex.: "Banheiros").
value_idNullIdentificador de um valor específico.
available_quantityNúmeroQuantidade de unidades disponíveis para venda.
sold_quantityNúmeroQuantidade de unidades já vendidas.
seller_custom_fieldNullCampo personalizado para o vendedor.
user_product_idStringIdentificador do produto do usuário.
priceNúmeroPreço do item.
sale_termsArrayTermos de venda do item.
picture_idsArrayIdentificadores das imagens do item.
catalog_product_idNullIdentificador do produto no catálogo.
inventory_idNullIdentificador do item no inventário.

Se desejar consultar uma variação específica, você deve consultar o seu item e usar o recurso /variations, adicionando o ID da variação que deseja consultar, da seguinte forma:


curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' 
https://api.mercadolibre.com/items/$ITEM_ID/variations/$Variation_id
Parâmetro Tipo Opcional Valores
ACCESS_TOKEN string Não Token gerado.
ITEM_ID String Não ID do item obtido como resposta ao publicar o imóvel.
Variation_id Número Não ID da variação a ser consultada.

Você receberá uma resposta igual à descrita anteriormente, porém contendo apenas a variação específica consultada.


Leituras recomendadas

Atualizações de versão

Esta seção resume o histórico de alterações do guia/API.

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