Busca por URL
Preserva os filtros fields e a ordenação sorting presentes na URL.
{
"target": "centauro.com.br",
"type": "plp",
"url": "https://www.centauro.com.br/busca/tenis-nike"
} // docs
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.
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"
}'
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.
Endpoint
POST /v1/mcp
Tool name
centauro_com_br_plp
Auth
Bearer ou X-API-Key
{
"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"
}
}
}
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 |
Preserva os filtros fields e a ordenação sorting presentes na URL.
{
"target": "centauro.com.br",
"type": "plp",
"url": "https://www.centauro.com.br/busca/tenis-nike"
} URL opcional; page controla a página e sort a ordenação.
{
"target": "centauro.com.br",
"type": "plp",
"keyword": "tenis nike",
"page": 2,
"sort": "price"
} Use nextPageUrl retornada pela extração anterior.
{
"target": "centauro.com.br",
"type": "plp",
"url": "https://www.centauro.com.br/busca/tenis-nike?page=2"
} Mapa de paths de saída com tipo esperado para esta API.
{
"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"
} {
"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
}
]
}
]
}
} | 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 |
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. |