PDP por URL
Requisicao basica com a URL publica da pagina de produto.
{
"url": "https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621",
"target": "casasbahia.com.br",
"type": "pdp"
} // docs
Extrai dados completos de produto (PDP) da Casas Bahia via endpoint mobile publico, incluindo oferta principal, sellers secundarios, atributos e variacoes.
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.
curl -X POST https://api.geckoapi.com.br/v1/extract \
-H "Authorization: Bearer SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621",
"target": "casasbahia.com.br",
"type": "pdp"
}'
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
casasbahia_com_br_pdp
Auth
Bearer ou X-API-Key
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "casasbahia_com_br_pdp",
"arguments": {
"url": "https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621",
"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) | 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 ser casasbahia.com.br. | casasbahia.com.br | mercadolivre.com.br |
| type Tipo da extração: pdp, idp, plp, quote, review ou places. | enum | Obrigatório | Sempre obrigatorio no payload e deve ser pdp. | pdp | pdp |
Requisicao basica com a URL publica da pagina de produto.
{
"url": "https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621",
"target": "casasbahia.com.br",
"type": "pdp"
} Mapa de paths de saída com tipo esperado para esta API.
{
"requestId": "string (uuid)",
"executionId": "string (uuid)",
"data.extractedAt": "string (ISO 8601)",
"data.canonicalUrl": "string",
"data.cashPrice": "number",
"data.price": "number",
"data.regularPrice": "number",
"data.sellerName": "string",
"data.sellerId": "string",
"data.currency": "string",
"data.currencyRaw": "string",
"data.sku": "string",
"data.availability": "string",
"data.name": "string",
"data.url": "string",
"data.description": "string",
"data.images[].url": "string",
"data.mainImage.url": "string",
"data.brand.name": "string",
"data.breadcrumbs[].name": "string",
"data.additionalProperties[].name": "string",
"data.additionalProperties[].value": "string | number",
"data.variants[].sku": "string",
"data.variants[].name": "string",
"data.variants[].url": "string",
"data.variants[].image": "string",
"data.color": "string",
"data.otherSellers[].sellerName": "string",
"data.otherSellers[].price": "number",
"data.otherSellers[].sellerId": "string",
"data.mpn": "string",
"data.features[]": "string",
"data.ean": "string",
"data.installmentPrice": "number",
"data.installmentCount": "integer",
"data.productId": "string"
} {
"requestId": "5cb8cfd2-4cb3-4b90-a058-77bd20f7e9e4",
"executionId": "0b9c4f3d-96f9-45f7-9f0d-3db4d796d8fb",
"data": {
"extractedAt": "2026-04-18T00:00:00.000Z",
"canonicalUrl": "https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621",
"cashPrice": 4999,
"price": 5299,
"regularPrice": 5499,
"sellerName": "Casas Bahia",
"sellerId": "0",
"currency": "BRL",
"currencyRaw": "R$",
"sku": "55067621",
"availability": "InStock",
"name": "Apple iPhone 16 128GB 6,1 48MP Preto",
"url": "https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621",
"description": "iPhone 16 com camera Fusion de 48 MP, chip A18 e armazenamento de 128GB.",
"images": [
{
"url": "https://imgs.casasbahia.com.br/55067621/1xg.jpg"
}
],
"mainImage": {
"url": "https://imgs.casasbahia.com.br/55067621/1xg.jpg"
},
"brand": {
"name": "Apple"
},
"breadcrumbs": [
{
"name": "Telefones e Celulares"
},
{
"name": "Smartphones"
},
{
"name": "iPhone"
}
],
"additionalProperties": [
{
"name": "Memoria total",
"value": "128GB"
},
{
"name": "Cor",
"value": "Preto"
}
],
"variants": [
{
"sku": "55067622",
"name": "Apple iPhone 16 128GB 6,1 48MP Rosa",
"url": "https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-rosa/p/55067622",
"image": "https://imgs.casasbahia.com.br/55067622/1xg.jpg"
}
],
"color": "Preto",
"otherSellers": [
{
"sellerName": "Marketplace Parceiro",
"price": 5359,
"sellerId": "33013"
}
],
"mpn": "MYE73BR/A",
"features": [
"Tela de 6,1 polegadas",
"Camera Fusion de 48 MP",
"Chip A18"
],
"ean": "195949822450",
"installmentPrice": 529.9,
"installmentCount": 10,
"productId": "80872678"
}
} | Path | Tipo | Descrição | Exemplo |
|---|---|---|---|
| data.additionalProperties[].name | string | Nome do atributo tecnico extraido das secoes de informacoes. | Memoria total |
| data.additionalProperties[].value | string | number | Valor do atributo tecnico extraido. | 128GB |
| data.availability | string | Status de disponibilidade normalizado da oferta principal. | InStock |
| data.brand.name | string | Nome da marca normalizada. | Apple |
| data.breadcrumbs[].name | string | Cada nivel da navegacao de categorias do produto. | Telefones e Celulares |
| data.canonicalUrl | string | URL canonica sintetizada para a pagina de produto. | https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621 |
| data.cashPrice | number | Preco a vista normalizado quando a oferta expoe desconto para pagamento. | 4999 |
| data.color | string | Cor principal inferida a partir dos atributos do produto. | Preto |
| data.currency | string | Codigo da moeda retornada pelo seam. | BRL |
| data.currencyRaw | string | Representacao textual da moeda exibida na origem. | R$ |
| data.description | string | Descricao textual normalizada do produto. | iPhone 16 com camera Fusion de 48 MP, chip A18 e armazenamento de 128GB. |
| data.ean | string | EAN do produto quando identificado na descricao ou nos atributos. | 195949822450 |
| data.extractedAt | string (ISO 8601) | Timestamp ISO em que a extracao foi finalizada. | 2026-04-18T00:00:00.000Z |
| data.features[] | string | Lista resumida de caracteristicas destacadas do produto. | Tela de 6,1 polegadas |
| data.images[].url | string | URL de cada imagem da galeria. | https://imgs.casasbahia.com.br/55067621/1xg.jpg |
| data.installmentCount | integer | Quantidade de parcelas do melhor parcelamento. | 10 |
| data.installmentPrice | number | Valor da parcela no melhor parcelamento encontrado. | 529.9 |
| data.mainImage.url | string | URL da imagem principal do produto. | https://imgs.casasbahia.com.br/55067621/1xg.jpg |
| data.mpn | string | Codigo de referencia ou MPN inferido a partir dos atributos tecnicos. | MYE73BR/A |
| data.name | string | Titulo do produto. | Apple iPhone 16 128GB 6,1 48MP Preto |
| data.otherSellers[].price | number | Preco informado para o seller alternativo. | 5359 |
| data.otherSellers[].sellerId | string | Identificador normalizado do seller alternativo. | 33013 |
| data.otherSellers[].sellerName | string | Nome de um seller alternativo retornado no payload de oferta. | Marketplace Parceiro |
| data.price | number | Preco principal atual do produto. | 5299 |
| data.productId | string | Identificador interno do produto na origem. | 80872678 |
| data.regularPrice | number | Preco de referencia anterior ou sem desconto. | 5499 |
| data.sellerId | string | Identificador normalizado do seller principal. | 0 |
| data.sellerName | string | Nome do seller principal da oferta. | Casas Bahia |
| data.sku | string | SKU da oferta principal resolvido a partir da URL. | 55067621 |
| data.url | string | URL publica usada como referencia da entidade extraida. | https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621 |
| data.variants[].image | string | Imagem principal da variacao relacionada. | https://imgs.casasbahia.com.br/55067622/1xg.jpg |
| data.variants[].name | string | Nome exibido da variacao relacionada. | Apple iPhone 16 128GB 6,1 48MP Rosa |
| data.variants[].sku | string | SKU da variacao relacionada. | 55067622 |
| data.variants[].url | string | URL publica sintetizada da variacao relacionada. | https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-rosa/p/55067622 |
| executionId | string (uuid) | Identificador unico da execucao do worker para rastreabilidade. | 0b9c4f3d-96f9-45f7-9f0d-3db4d796d8fb |
| requestId | string (uuid) | Identificador unico do request HTTP na GeckoAPI. | 5cb8cfd2-4cb3-4b90-a058-77bd20f7e9e4 |
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. |