// docs

Centauro PLP

Extrai buscas Centauro com preço, Pix, nome do vendedor, prévia de cores, SKUs disponíveis, ordenação e paginação. Cada página custa 1 crédito.

Tempo de resposta: Suporta URLs /busca/ e buscas por keyword. Cada página retorna até 36 produtos. Cards publicam o nome do vendedor, sem ID ou URL, e uma prévia limitada de cores; consulte a PDP para obter vendedores e estoque de cada tamanho. O SKU do card identifica modelo/cor; skus contém os tamanhos disponíveis publicados. Preço e estoque refletem o catálogo sem CEP. O exemplo contém dois dos 36 itens coletados em 05/10/2026.

Nota importante: alguns campos podem retornar null em produção, dependendo da página de origem. Consulte o schema e a descrição de cada campo para tratar valores ausentes; os exemplos mostram uma resposta possível.

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": "centauro.com.br",
  "type": "plp",
  "url": "https://www.centauro.com.br/busca/tenis-nike"
}'

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

centauro_com_br_plp

Auth

Bearer ou X-API-Key

centauro_com_br_plp tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "centauro_com_br_plp",
    "arguments": {
      "url": "https://www.centauro.com.br/busca/tenis-nike",
      "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) Opcional URL HTTPS de busca em centauro.com.br ou www.centauro.com.br com caminho /busca/TERMO. Aceita page, sorting e filtros fields repetidos. URLs /nav/ ainda não são suportadas. - https://www.centauro.com.br/busca/tenis-nike
keyword
Palavra-chave para buscas PLP. Em Google Search ela representa a query enviada ao Google; em Booking PLP é obrigatória; em outros PLPs pode substituir a URL.
string Opcional Obrigatória quando url não é fornecida; 1 a 200 caracteres. Quando ambos são enviados, deve corresponder ao termo da URL. - tenis nike
sort
Ordenacao para VivaReal, Chaves na Mão, OLX e Webmotors PLP, Booking Review e Hoteis Review. VivaReal: relevance/date/price/biggest_price/biggest_area. Webmotors: relevance/price/biggest_price/year_desc/mileage_asc. OLX: relevance/date/price/biggest_price/price_relevance. Booking/Hoteis Review: most_relevant/newest_first/oldest_first/score_desc/score_asc.
"relevance" | "date" | "price" | "biggest_price" | "biggest_area" | "price_relevance" | "most_relevant" | "newest_first" | "oldest_first" | "score_desc" | "score_asc" | "year_desc" | "mileage_asc" Opcional relevance, price, biggest_price ou biggest_discount. Sem sort, preserva sorting da URL; por padrão usa relevância. - price
target
Fonte alvo da extração.
enum Obrigatório Use centauro.com.br. centauro.com.br centauro.com.br
type
Tipo da extração: pdp, idp, plp, ilp, quote, review ou places.
enum Obrigatório Use plp. plp plp
page
Paginacao. Em PLP, inclusive Trivago, e no Reclame AQUI ILP inicia em 1; em review (MercadoLivre, Booking e Hoteis) inicia em 0. O Reclame AQUI ILP aceita ate a pagina 100.
integer Opcional Número inteiro de 1 a 500. Sobrepõe a página presente na URL. 1 2

Exemplos de request

Busca por URL

Preserva os filtros fields e a ordenação sorting presentes na URL.

Busca por URL
{
  "target": "centauro.com.br",
  "type": "plp",
  "url": "https://www.centauro.com.br/busca/tenis-nike"
}

Busca por palavra-chave

URL opcional; page controla a página e sort a ordenação.

Busca por palavra-chave
{
  "target": "centauro.com.br",
  "type": "plp",
  "keyword": "tenis nike",
  "page": 2,
  "sort": "price"
}

Continuar pela próxima URL

Use nextPageUrl retornada pela extração anterior.

Continuar pela próxima URL
{
  "target": "centauro.com.br",
  "type": "plp",
  "url": "https://www.centauro.com.br/busca/tenis-nike?page=2"
}

Schema de response (leaf paths)

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

responseSchema
{
  "requestId": "string",
  "executionId": "string",
  "data.source": "string",
  "data.type": "string",
  "data.extractedAt": "string",
  "data.url": "string",
  "data.requestUrl": "string",
  "data.query": "string",
  "data.page": "number",
  "data.totalResults": "number",
  "data.resultsPerPage": "number",
  "data.offset": "number",
  "data.nextPage": "number | null",
  "data.nextPageUrl": "string | null",
  "data.items[].url": "string",
  "data.items[].sku": "string",
  "data.items[].productId": "string | null",
  "data.items[].name": "string | null",
  "data.items[].price": "number | null",
  "data.items[].regularPrice": "number | null",
  "data.items[].cashPrice": "number | null",
  "data.items[].discountPercentage": "number | null",
  "data.items[].installmentPrice": "number | null",
  "data.items[].installmentCount": "number | null",
  "data.items[].currency": "string",
  "data.items[].currencyRaw": "string",
  "data.items[].availability": "string | null",
  "data.items[].imageUrl": "string | null",
  "data.items[].brand": "string | null",
  "data.items[].sellerName": "string | null",
  "data.items[].sellerId": "null",
  "data.items[].sellerUrl": "null",
  "data.items[].aggregateRating.ratingValue": "number | null",
  "data.items[].aggregateRating.reviewCount": "number | null",
  "data.items[].aggregateRating.bestRating": "number | null",
  "data.items[].skus[]": "string",
  "data.items[].colorId": "string | null",
  "data.items[].colorsQuantity": "number | null",
  "data.items[].sizeQuantity": "number | null",
  "data.items[].variants[].productId": "string | null",
  "data.items[].variants[].color": "string | null",
  "data.items[].variants[].url": "string",
  "data.items[].variants[].imageUrl": "string | null",
  "data.items[].variants[].price": "number | null",
  "data.items[].variants[].regularPrice": "number | null",
  "data.items[].variants[].cashPrice": "number | null",
  "data.items[].aggregateRating": "object | null"
}

Exemplo de response

responseExample
{
  "requestId": "726aa41c-d0e5-4924-99bd-77d221de5040",
  "executionId": "b4dfc268-183e-4b98-8568-af4729eed6b9",
  "data": {
    "source": "centauro.com.br",
    "type": "plp",
    "extractedAt": "2026-10-05T22:14:39.851Z",
    "url": "https://www.centauro.com.br/busca/tenis-nike",
    "requestUrl": "https://www.centauro.com.br/busca/tenis-nike",
    "query": "tenis nike",
    "page": 1,
    "totalResults": 1693,
    "resultsPerPage": 36,
    "offset": 0,
    "nextPage": 2,
    "nextPageUrl": "https://www.centauro.com.br/busca/tenis-nike?page=2",
    "items": [
      {
        "url": "https://www.centauro.com.br/tenis-masculino-nike-revolution-8-995996.html?cor=31",
        "sku": "99599631",
        "productId": "995996",
        "name": "Tênis Masculino Nike Revolution 8",
        "price": 315.78,
        "regularPrice": 399.99,
        "cashPrice": 299.99,
        "discountPercentage": 25,
        "installmentPrice": 105.26,
        "installmentCount": 3,
        "currency": "BRL",
        "currencyRaw": "R$",
        "availability": "InStock",
        "imageUrl": "https://imgcentauro-a.akamaihd.net/230x230/99599631A20.jpg",
        "brand": "Nike",
        "sellerName": "Centauro",
        "sellerId": null,
        "sellerUrl": null,
        "aggregateRating": {
          "ratingValue": 4.7,
          "reviewCount": 533,
          "bestRating": 5
        },
        "skus": [
          "995996310441",
          "995996310434",
          "995996310427",
          "995996310403",
          "M16Z23310384",
          "M16Z23310377",
          "995996310410",
          "995996310397"
        ],
        "colorId": "31",
        "colorsQuantity": 14,
        "sizeQuantity": 8,
        "variants": [
          {
            "productId": "99599612",
            "color": "BEGE",
            "url": "https://www.centauro.com.br/tenis-masculino-nike-revolution-8-995996.html?cor=12",
            "imageUrl": "https://imgcentauro-a.akamaihd.net/230x230/99599612A2.jpg",
            "price": 315.78,
            "regularPrice": 399.99,
            "cashPrice": 299.99
          },
          {
            "productId": "99599619",
            "color": "PRETO/VERMELHO",
            "url": "https://www.centauro.com.br/tenis-masculino-nike-revolution-8-995996.html?cor=19",
            "imageUrl": "https://imgcentauro-a.akamaihd.net/230x230/99599619A2.jpg",
            "price": 315.78,
            "regularPrice": 399.99,
            "cashPrice": 299.99
          }
        ]
      },
      {
        "url": "https://www.centauro.com.br/tenis-feminino-nike-revolution-8-995997.html?cor=31",
        "sku": "99599731",
        "productId": "995997",
        "name": "Tênis Feminino Nike Revolution 8",
        "price": 315.78,
        "regularPrice": 399.99,
        "cashPrice": 299.99,
        "discountPercentage": 25,
        "installmentPrice": 105.26,
        "installmentCount": 3,
        "currency": "BRL",
        "currencyRaw": "R$",
        "availability": "InStock",
        "imageUrl": "https://imgcentauro-a.akamaihd.net/230x230/99599731A4.jpg",
        "brand": "Nike",
        "sellerName": "Centauro",
        "sellerId": null,
        "sellerUrl": null,
        "aggregateRating": {
          "ratingValue": 4.7,
          "reviewCount": 316,
          "bestRating": 5
        },
        "skus": [
          "995997310372",
          "995997310365",
          "995997310358",
          "995997310341",
          "M19C1P311534",
          "995997310396",
          "M19C1P310384"
        ],
        "colorId": "31",
        "colorsQuantity": 20,
        "sizeQuantity": 7,
        "variants": [
          {
            "productId": "99599711",
            "color": "LARANJA",
            "url": "https://www.centauro.com.br/tenis-feminino-nike-revolution-8-995997.html?cor=11",
            "imageUrl": "https://imgcentauro-a.akamaihd.net/230x230/995997NSA2.jpg",
            "price": 315.78,
            "regularPrice": 399.99,
            "cashPrice": 299.99
          },
          {
            "productId": "99599737",
            "color": "BRANCO/ROSA",
            "url": "https://www.centauro.com.br/tenis-feminino-nike-revolution-8-995997.html?cor=37",
            "imageUrl": "https://imgcentauro-a.akamaihd.net/230x230/9959972LA2.jpg",
            "price": 315.78,
            "regularPrice": 399.99,
            "cashPrice": 299.99
          }
        ]
      }
    ]
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.extractedAt string Data e hora da extração em ISO 8601. 2026-10-05T22:14:39.851Z
data.items[].aggregateRating object | null Avaliação agregada publicada, ou null. {"ratingValue":4.7,"reviewCount":533,"bestRating":5}
data.items[].aggregateRating.bestRating number | null Nota máxima da escala publicada. 5
data.items[].aggregateRating.ratingValue number | null Média da avaliação publicada. 4.7
data.items[].aggregateRating.reviewCount number | null Quantidade de avaliações publicada. 533
data.items[].availability string | null InStock ou OutOfStock; null quando a origem não informa. InStock
data.items[].brand string | null Marca publicada pela origem. Nike
data.items[].cashPrice number | null Preço Pix publicado, em reais; null quando não informado. 299.99
data.items[].colorId string | null Código da cor no catálogo. 31
data.items[].colorsQuantity number | null Quantidade total de cores publicada no card; pode exceder a prévia em variants. 14
data.items[].currency string Código da moeda: BRL. BRL
data.items[].currencyRaw string Símbolo monetário: R$. R$
data.items[].discountPercentage number | null Percentual de desconto publicado; pode variar entre PLP e PDP e não é recalculado. 25
data.items[].imageUrl string | null URL pública da imagem. https://imgcentauro-a.akamaihd.net/230x230/99599631A20.jpg
data.items[].installmentCount number | null Quantidade de parcelas publicada. 3
data.items[].installmentPrice number | null Valor de cada parcela em cartão, em reais. 105.26
data.items[].name string | null Nome publicado pela origem. Tênis Masculino Nike Revolution 8
data.items[].price number | null Preço atual publicado para pagamento em cartão, em reais; pode existir mesmo sem estoque. 315.78
data.items[].productId string | null Identificador de produto publicado pelo catálogo. 995996
data.items[].regularPrice number | null Preço de referência publicado, em reais. 399.99
data.items[].sellerId null null: a PLP publica somente o nome do vendedor; consulte a PDP para obter ID e URL. null
data.items[].sellerName string | null Nome do vendedor publicado para a oferta. Centauro
data.items[].sellerUrl null null: a PLP publica somente o nome do vendedor; consulte a PDP para obter ID e URL. null
data.items[].sizeQuantity number | null Quantidade de tamanhos disponíveis publicada no card. 8
data.items[].sku string Identificador do modelo/cor do card, distinto dos SKUs completos em skus[]. 99599631
data.items[].skus[] string SKU completo de um tamanho disponível publicado no card. 995996310441
data.items[].url string URL pública da origem. https://www.centauro.com.br/tenis-masculino-nike-revolution-8-995996.html?cor=31
data.items[].variants[].cashPrice number | null Preço Pix publicado, em reais; null quando não informado. 299.99
data.items[].variants[].color string | null Nome da cor publicado pela origem. BEGE
data.items[].variants[].imageUrl string | null URL pública da imagem. https://imgcentauro-a.akamaihd.net/230x230/99599612A2.jpg
data.items[].variants[].price number | null Preço atual publicado para pagamento em cartão, em reais; pode existir mesmo sem estoque. 315.78
data.items[].variants[].productId string | null Identificador de modelo/cor nas opções de cor, ou SKU completo nas opções de tamanho. 99599612
data.items[].variants[].regularPrice number | null Preço de referência publicado, em reais. 399.99
data.items[].variants[].url string URL pública da origem. https://www.centauro.com.br/tenis-masculino-nike-revolution-8-995996.html?cor=12
data.nextPage number | null Número da próxima página, ou null quando não há continuação. 2
data.nextPageUrl string | null URL para continuar a busca preservando ordenação e filtros, ou null. https://www.centauro.com.br/busca/tenis-nike?page=2
data.offset number Posição inicial da página: (page - 1) × resultsPerPage. 0
data.page number Página atual, iniciando em 1. 1
data.query string Termo utilizado na busca. tenis nike
data.requestUrl string URL pública da busca com página, ordenação e filtros aplicados. https://www.centauro.com.br/busca/tenis-nike
data.resultsPerPage number Quantidade configurada por página: 36; a última página pode conter menos itens. 36
data.source string Domínio da origem: centauro.com.br. centauro.com.br
data.totalResults number Quantidade total de resultados informada pelo catálogo. 1693
data.type string Tipo da extração. plp
data.url string URL pública da origem. https://www.centauro.com.br/busca/tenis-nike
executionId string Identificador da execução do worker. b4dfc268-183e-4b98-8568-af4729eed6b9
requestId string Identificador da requisição HTTP na GeckoAPI. 726aa41c-d0e5-4924-99bd-77d221de5040

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.