// docs

OLX PDP

Extrai dados detalhados de um anúncio da OLX com hash LGPD para sellerName e telefones.

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.

Quando a entidade consultada não existe na origem, o extract e a tool MCP retornam 200 com data: null e notFound: true. Esse caso é tratado como resposta concluída, não como erro de servidor.

Chamada HTTP

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "target": "olx.com.br",
  "type": "pdp",
  "url": "https://pr.olx.com.br/regiao-de-maringa/celulares/iphone-14-128gb-branco-1506913293"
}'

Chamada MCP

A mesma seam também aparece no MCP hospedado como uma tool dedicada. Os argumentos reaproveitam os campos do extract, mas target e type já ficam fixos pela tool.

Ver guia completo do MCP

Endpoint

POST /v1/mcp

Tool name

olx_com_br_pdp

Auth

Bearer ou X-API-Key

olx_com_br_pdp tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "olx_com_br_pdp",
    "arguments": {
      "url": "https://pr.olx.com.br/regiao-de-maringa/celulares/iphone-14-128gb-branco-1506913293",
      "executionId": "exec_example_123"
    }
  }
}

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 URL do anúncio no domínio olx.com.br. - https://www.mercadolivre.com.br/p/MLB123456
target
Fonte alvo da extração.
enum Obrigatório Sempre obrigatorio e deve ser olx.com.br. - mercadolivre.com.br
type
Tipo da extração: pdp, idp, plp, quote, review ou places.
enum Obrigatório Sempre obrigatorio e deve ser pdp. - pdp

Exemplos de request

PDP por URL

Envie a URL pública do anúncio da OLX. O backend valida domínio e aplica hash nos dados sensíveis.

PDP por URL
{
  "target": "olx.com.br",
  "type": "pdp",
  "url": "https://pr.olx.com.br/regiao-de-maringa/celulares/iphone-14-128gb-branco-1506913293"
}

Schema de response (leaf paths)

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

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "notFound": "boolean (optional; true when the upstream entity was not found and data is null)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "string",
  "data.requestUrl": "string",
  "data.extractedAt": "string (iso datetime)",
  "data.data.url": "string",
  "data.data.listingId": "string",
  "data.data.adId": "string",
  "data.data.title": "string",
  "data.data.description": "string",
  "data.data.price": "number",
  "data.data.currency": "string",
  "data.data.listedAt": "string (iso datetime)",
  "data.data.listedAtEpoch": "number",
  "data.data.category": "string",
  "data.data.mainCategory": "string",
  "data.data.subCategory": "string",
  "data.data.location.state": "string",
  "data.data.location.city": "string",
  "data.data.location.neighborhood": "string",
  "data.data.location.region": "string",
  "data.data.location.ddd": "string",
  "data.data.location.zipCode": "string",
  "data.data.seller.id": "string",
  "data.data.seller.isProfessional": "boolean (optional)",
  "data.data.seller.nameHash": "string",
  "data.data.phoneHashes[]": "string (optional)",
  "data.data.images[].url": "string",
  "data.data.attributes[].name": "string",
  "data.data.attributes[].label": "string",
  "data.data.attributes[].value": "string",
  "data.data.attributes[].url": "string (optional)",
  "data.data.olxPayEnabled": "boolean",
  "data.data.olxDeliveryEnabled": "boolean"
}

Exemplo de response

responseExample
{
  "requestId": "9d0db4f1-b7d8-4d71-9dbe-9d61a41b9521",
  "executionId": "9d0db4f1-b7d8-4d71-9dbe-9d61a41b9522",
  "data": {
    "source": "olx.com.br",
    "type": "pdp",
    "parser": "data_layer",
    "requestUrl": "https://pr.olx.com.br/regiao-de-maringa/celulares/iphone-14-128gb-branco-1506913293",
    "extractedAt": "2026-06-02T11:41:18.615Z",
    "data": {
      "url": "https://pr.olx.com.br/regiao-de-maringa/celulares/iphone-14-128gb-branco-1506913293",
      "listingId": "1506913293",
      "adId": "1780915956",
      "title": "iPhone 14 128GB Branco",
      "description": "iPhone 14 com 128GB de armazenamento, perfeito para suas fotos, videos e aplicativos.",
      "price": 2200,
      "currency": "BRL",
      "listedAt": "2026-06-01T02:37:38.000Z",
      "listedAtEpoch": 1780281458,
      "category": "Celulares e Smartphones",
      "mainCategory": "Celulares e Telefonia",
      "subCategory": "Celulares e Smartphones",
      "location": {
        "state": "PR",
        "city": "Maringá",
        "neighborhood": "Parque da Gávea",
        "region": "Maringá e região",
        "ddd": "44",
        "zipCode": "87053336"
      },
      "seller": {
        "id": "53757a3c-9496-49fe-a411-fc52ff341c4c",
        "nameHash": "d1862155c8a804c969883cb72c755dd3fa1591aac55aec154c8b2fbe42b3fb7f"
      },
      "phoneHashes": [],
      "images": [
        {
          "url": "https://img.olx.com.br/images/38/388649764309681.jpg"
        }
      ],
      "attributes": [
        {
          "name": "electronics_brand",
          "label": "Marca",
          "value": "APPLE"
        }
      ],
      "olxPayEnabled": true,
      "olxDeliveryEnabled": true
    }
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.data.adId string ID interno do anúncio. 1780915956
data.data.attributes[].label string Rótulo legível do atributo. Marca
data.data.attributes[].name string Identificador técnico do atributo. electronics_brand
data.data.attributes[].url string (optional) URL de navegação relacionada ao atributo, quando disponível. N/A
data.data.attributes[].value string Valor do atributo. APPLE
data.data.category string Categoria do anúncio. Celulares e Smartphones
data.data.currency string Moeda do anúncio. BRL
data.data.description string Descrição normalizada do anúncio. iPhone 14 com 128GB de armazenamento, perfeito para suas fotos, videos e aplicativos.
data.data.images[].url string URL de imagem do anúncio. https://img.olx.com.br/images/38/388649764309681.jpg
data.data.listedAt string (iso datetime) Data/hora ISO de publicação. 2026-06-01T02:37:38.000Z
data.data.listedAtEpoch number Timestamp unix (segundos) de publicação. 1780281458
data.data.listingId string ID da listagem OLX. 1506913293
data.data.location.city string Cidade do anúncio. Maringá
data.data.location.ddd string DDD associado ao anúncio. 44
data.data.location.neighborhood string Bairro do anúncio. Parque da Gávea
data.data.location.region string Região informada no anúncio. Maringá e região
data.data.location.state string UF do anúncio. PR
data.data.location.zipCode string CEP associado ao anúncio. 87053336
data.data.mainCategory string Categoria principal do anúncio. Celulares e Telefonia
data.data.olxDeliveryEnabled boolean Indica se OLX Delivery está habilitado. true
data.data.olxPayEnabled boolean Indica se OLX Pay está habilitado. true
data.data.phoneHashes[] string (optional) Lista de hashes SHA-256 de telefones detectados no anúncio. N/A
data.data.price number Preço numérico normalizado. 2200
data.data.seller.id string Identificador público da conta vendedora. 53757a3c-9496-49fe-a411-fc52ff341c4c
data.data.seller.isProfessional boolean (optional) Indica se o vendedor é profissional, quando disponível. N/A
data.data.seller.nameHash string Hash SHA-256 do nome do vendedor (LGPD). d1862155c8a804c969883cb72c755dd3fa1591aac55aec154c8b2fbe42b3fb7f
data.data.subCategory string Subcategoria do anúncio. Celulares e Smartphones
data.data.title string Título principal do anúncio. iPhone 14 128GB Branco
data.data.url string URL pública do anúncio. https://pr.olx.com.br/regiao-de-maringa/celulares/iphone-14-128gb-branco-1506913293
data.extractedAt string (iso datetime) Timestamp UTC da extração. 2026-06-02T11:41:18.615Z
data.parser string Parser utilizado no backend (data_layer ou jsonld). data_layer
data.requestUrl string URL efetivamente consultada no upstream. https://pr.olx.com.br/regiao-de-maringa/celulares/iphone-14-128gb-branco-1506913293
data.source string Fonte da extração. olx.com.br
data.type string Tipo da extração. pdp
executionId string (uuid) Campo executionId retornado no payload de resposta. 9d0db4f1-b7d8-4d71-9dbe-9d61a41b9522
notFound boolean (optional; true when the upstream entity was not found and data is null) Present and true when the upstream entity was not found. In this case data is null and the request still completes successfully. N/A
requestId string (uuid) Campo requestId retornado no payload de resposta. 9d0db4f1-b7d8-4d71-9dbe-9d61a41b9521

Erros comuns

Respostas com notFound: true não entram nesta tabela, porque retornam sucesso HTTP 200.

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.
5xx UPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_INVOCATION_FAILED / WORKER_FUNCTION_ERROR / WORKER_INVALID_RESPONSE / INTERNAL_ERROR Falha de servidor no worker, provider/proxy ou gateway. Nesses casos os créditos são estornados automaticamente.