// docs

Mercado Livre PDP

Extrai dados completos de produto (PDP) do Mercado Livre.

Nota importante: alguns campos podem retornar null em produção, dependendo da página de origem. Nesta documentação, os exemplos de output são preenchidos intencionalmente com valores não nulos para facilitar integração.

Chamada HTTP

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://www.mercadolivre.com.br/p/MLB4196330777",
  "target": "mercadolivre.com.br",
  "type": "pdp"
}'

Possibilidades de input

Campos suportados nesta API do POST /v1/extract, com regras específicas de obrigatoriedade e condicionais.

Campo Tipo Status Regra Default Exemplo
url
URL alvo da extração. Para alguns PLPs pode ser omitida quando a API monta a URL a partir de outros campos.
string (URL) Obrigatório Obrigatorio para este seam. - https://www.mercadolivre.com.br/p/MLB123456
target
Fonte alvo da extração.
enum Obrigatório Sempre obrigatorio no payload e deve combinar com o seam. - mercadolivre.com.br
type
Tipo da extração: pdp, plp ou review.
enum Obrigatório Sempre obrigatorio no payload e deve combinar com o seam. - pdp

Exemplos de request

PDP por URL

Requisicao basica com URL canonica da pagina de produto.

PDP por URL
{
  "url": "https://www.mercadolivre.com.br/p/MLB4196330777",
  "target": "mercadolivre.com.br",
  "type": "pdp"
}

Schema de response (leaf paths)

Mapa de paths de saída com tipo esperado para esta API.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "data.isInternational": "boolean",
  "data.variants[]": "string",
  "data.cashPrice": "number",
  "data.canonicalUrl": "string",
  "data.price": "number",
  "data.additionalProperties[].name": "string",
  "data.additionalProperties[].value": "string",
  "data.regularPrice": "number",
  "data.sellerName": "string",
  "data.sellerLevel": "string",
  "data.freeShipping": "boolean",
  "data.itemCondition": "string",
  "data.stockQuantity": "number",
  "data.images[].url": "string",
  "data.brand.name": "string",
  "data.sellerType": "string",
  "data.soldCount": "number",
  "data.aggregateRating.ratingValue": "number",
  "data.aggregateRating.reviewCount": "number",
  "data.aggregateRating.bestRating": "number",
  "data.currency": "string",
  "data.currencyRaw": "string",
  "data.breadcrumbs[].name": "string",
  "data.breadcrumbs[].url": "string",
  "data.description": "string",
  "data.mainImage.url": "string",
  "data.sku": "string",
  "data.availability": "string",
  "data.isFullDelivery": "boolean",
  "data.name": "string",
  "data.url": "string",
  "data.otherSellers[].sellerName": "string",
  "data.otherSellers[].price": "number",
  "data.otherSellers[].sellerUrl": "string",
  "data.otherSellers[].sellerId": "string",
  "data.otherSellers[].reputationLevel": "string",
  "data.otherSellers[].powerSellerStatusTitle": "string",
  "data.sellerId": "string",
  "data.powerSellerStatusTitle": "string",
  "data.sellerUrl": "string",
  "data.installmentPrice": "string",
  "data.installmentCount": "number"
}

Exemplo de response

responseExample
{
  "requestId": "11111111-1111-4111-8111-111111111111",
  "executionId": "11111111-2222-4222-8222-111111111111",
  "data": {
    "isInternational": false,
    "variants": [
      "https://www.mercadolivre.com.br/p/MLB4196330777?attributes=COLOR_SECONDARY_COLOR:QW5kaXJvYmE="
    ],
    "cashPrice": 620.21,
    "canonicalUrl": "https://www.mercadolivre.com.br/p/MLB4196330777",
    "price": 620.21,
    "additionalProperties": [
      {
        "name": "Marca",
        "value": "Suvinil"
      }
    ],
    "regularPrice": 689,
    "sellerName": "Loja Oficial RN",
    "sellerLevel": "5_green",
    "freeShipping": true,
    "itemCondition": "new",
    "stockQuantity": 7,
    "images": [
      {
        "url": "https://http2.mlstatic.com/D_NQ_NP_904711-MLB91911673092_092025-O.webp"
      }
    ],
    "brand": {
      "name": "Suvinil"
    },
    "sellerType": "brand",
    "soldCount": 42,
    "aggregateRating": {
      "ratingValue": 4.8,
      "reviewCount": 125,
      "bestRating": 5
    },
    "currency": "BRL",
    "currencyRaw": "R$",
    "breadcrumbs": [
      {
        "name": "Construcao",
        "url": "https://www.mercadolivre.com.br/c/construcao"
      }
    ],
    "description": "Tinta acrilica premium com acabamento acetinado.",
    "mainImage": {
      "url": "https://http2.mlstatic.com/D_NQ_NP_904711-MLB91911673092_092025-O.webp"
    },
    "sku": "MLB-4196330777",
    "availability": "InStock",
    "isFullDelivery": true,
    "name": "Acrilico Toque de Seda Premium 16L",
    "url": "https://www.mercadolivre.com.br/p/MLB4196330777",
    "otherSellers": [
      {
        "sellerName": "Casa da Tinta",
        "price": 629.9,
        "sellerUrl": "https://lista.mercadolivre.com.br/?seller_id=123456",
        "sellerId": "123456",
        "reputationLevel": "5_green",
        "powerSellerStatusTitle": "gold"
      }
    ],
    "sellerId": "1006734354",
    "powerSellerStatusTitle": "platinum",
    "sellerUrl": "https://lista.mercadolivre.com.br/?seller_id=1006734354",
    "installmentPrice": "719.64",
    "installmentCount": 12
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.additionalProperties[].name string Campo data.additionalProperties[].name retornado no payload de resposta. Marca
data.additionalProperties[].value string Campo data.additionalProperties[].value retornado no payload de resposta. Suvinil
data.aggregateRating.bestRating number Campo data.aggregateRating.bestRating retornado no payload de resposta. 5
data.aggregateRating.ratingValue number Campo data.aggregateRating.ratingValue retornado no payload de resposta. 4.8
data.aggregateRating.reviewCount number Campo data.aggregateRating.reviewCount retornado no payload de resposta. 125
data.availability string Campo data.availability retornado no payload de resposta. InStock
data.brand.name string Campo data.brand.name retornado no payload de resposta. Suvinil
data.breadcrumbs[].name string Campo data.breadcrumbs[].name retornado no payload de resposta. Construcao
data.breadcrumbs[].url string Campo data.breadcrumbs[].url retornado no payload de resposta. https://www.mercadolivre.com.br/c/construcao
data.canonicalUrl string Campo data.canonicalUrl retornado no payload de resposta. https://www.mercadolivre.com.br/p/MLB4196330777
data.cashPrice number Campo data.cashPrice retornado no payload de resposta. 620.21
data.currency string Campo data.currency retornado no payload de resposta. BRL
data.currencyRaw string Campo data.currencyRaw retornado no payload de resposta. R$
data.description string Campo data.description retornado no payload de resposta. Tinta acrilica premium com acabamento acetinado.
data.freeShipping boolean Campo data.freeShipping retornado no payload de resposta. true
data.images[].url string Campo data.images[].url retornado no payload de resposta. https://http2.mlstatic.com/D_NQ_NP_904711-MLB91911673092_092025-O.webp
data.installmentCount number Campo data.installmentCount retornado no payload de resposta. 12
data.installmentPrice string Campo data.installmentPrice retornado no payload de resposta. 719.64
data.isFullDelivery boolean Campo data.isFullDelivery retornado no payload de resposta. true
data.isInternational boolean Campo data.isInternational retornado no payload de resposta. false
data.itemCondition string Campo data.itemCondition retornado no payload de resposta. new
data.mainImage.url string Campo data.mainImage.url retornado no payload de resposta. https://http2.mlstatic.com/D_NQ_NP_904711-MLB91911673092_092025-O.webp
data.name string Campo data.name retornado no payload de resposta. Acrilico Toque de Seda Premium 16L
data.otherSellers[].powerSellerStatusTitle string Campo data.otherSellers[].powerSellerStatusTitle retornado no payload de resposta. gold
data.otherSellers[].price number Campo data.otherSellers[].price retornado no payload de resposta. 629.9
data.otherSellers[].reputationLevel string Campo data.otherSellers[].reputationLevel retornado no payload de resposta. 5_green
data.otherSellers[].sellerId string Campo data.otherSellers[].sellerId retornado no payload de resposta. 123456
data.otherSellers[].sellerName string Campo data.otherSellers[].sellerName retornado no payload de resposta. Casa da Tinta
data.otherSellers[].sellerUrl string Campo data.otherSellers[].sellerUrl retornado no payload de resposta. https://lista.mercadolivre.com.br/?seller_id=123456
data.powerSellerStatusTitle string Campo data.powerSellerStatusTitle retornado no payload de resposta. platinum
data.price number Campo data.price retornado no payload de resposta. 620.21
data.regularPrice number Campo data.regularPrice retornado no payload de resposta. 689
data.sellerId string Campo data.sellerId retornado no payload de resposta. 1006734354
data.sellerLevel string Campo data.sellerLevel retornado no payload de resposta. 5_green
data.sellerName string Campo data.sellerName retornado no payload de resposta. Loja Oficial RN
data.sellerType string Campo data.sellerType retornado no payload de resposta. brand
data.sellerUrl string Campo data.sellerUrl retornado no payload de resposta. https://lista.mercadolivre.com.br/?seller_id=1006734354
data.sku string Campo data.sku retornado no payload de resposta. MLB-4196330777
data.soldCount number Campo data.soldCount retornado no payload de resposta. 42
data.stockQuantity number Campo data.stockQuantity retornado no payload de resposta. 7
data.url string Campo data.url retornado no payload de resposta. https://www.mercadolivre.com.br/p/MLB4196330777
data.variants[] string Campo data.variants[] retornado no payload de resposta. https://www.mercadolivre.com.br/p/MLB4196330777?attributes=COLOR_SECONDARY_COLOR:QW5kaXJvYmE=
executionId string (uuid) ID de execucao para rastreio e deduplicacao. 11111111-2222-4222-8222-111111111111
requestId string (uuid) ID unico da requisicao no gateway. 11111111-1111-4111-8111-111111111111

Erros comuns

Status errorCode Quando acontece
400 INVALID_PAYLOAD JSON inválido ou violação das regras de validação do payload.
401 UNAUTHORIZED Header Authorization ausente ou token/chave inválida.
402 INSUFFICIENT_CREDITS Saldo de créditos insuficiente para a API solicitada.
403 FORBIDDEN Usuário sem acesso ou API temporariamente desabilitada.
409 EXECUTION_CONFLICT executionId conflita com uma execução em estado incompatível.
429 RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS Limite de taxa ou limite de requisições em voo excedido.
500 WORKER_ERROR / INTERNAL_ERROR Falha interna no worker ou no gateway.