// docs

Casas Bahia PDP

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.

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.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621",
  "target": "casasbahia.com.br",
  "type": "pdp"
}'

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

casasbahia_com_br_pdp

Auth

Bearer ou X-API-Key

casasbahia_com_br_pdp tools/call
{
  "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"
    }
  }
}

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 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

Exemplos de request

PDP por URL

Requisicao basica com a URL publica da pagina de produto.

PDP por URL
{
  "url": "https://www.casasbahia.com.br/apple-iphone-16-128gb-61-48mp-preto/p/55067621",
  "target": "casasbahia.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.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"
}

Exemplo de response

responseExample
{
  "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"
  }
}

Referência completa de campos

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

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.