PDP por URL
Requisicao basica com URL canonica de produto da Netshoes.
{
"url": "https://www.netshoes.com.br/p/tenis-adidas-breaknet-FB9-9335-205",
"target": "netshoes.com.br",
"type": "pdp"
} // docs
Extrai dados detalhados de produto (PDP) da Netshoes a partir do HTML bruto nao renderizado, incluindo grade de tamanhos, recomendacao de reviews, atributos e dimensoes.
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.netshoes.com.br/p/tenis-adidas-breaknet-FB9-9335-205",
"target": "netshoes.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
netshoes_com_br_pdp
Auth
Bearer ou X-API-Key
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "netshoes_com_br_pdp",
"arguments": {
"url": "https://www.netshoes.com.br/p/tenis-adidas-breaknet-FB9-9335-205",
"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 netshoes.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 |
Requisicao basica com URL canonica de produto da Netshoes.
{
"url": "https://www.netshoes.com.br/p/tenis-adidas-breaknet-FB9-9335-205",
"target": "netshoes.com.br",
"type": "pdp"
} Mapa de paths de saída com tipo esperado para esta API.
{
"requestId": "string (uuid)",
"executionId": "string (uuid)",
"notFound": "boolean (optional; true when the upstream entity was not found and data is null)",
"data.canonicalUrl": "string",
"data.url": "string",
"data.name": "string",
"data.sku": "string",
"data.parentSku": "string",
"data.brand.name": "string",
"data.department": "string",
"data.productType": "string",
"data.genders[]": "string",
"data.sizeType": "string",
"data.color": "string",
"data.size": "string",
"data.ean": "string",
"data.price": "number",
"data.cashPrice": "number",
"data.regularPrice": "number",
"data.discountAmount": "number",
"data.discountPercent": "number",
"data.installmentPrice": "number",
"data.installmentCount": "number",
"data.sellerName": "string",
"data.sellerId": "string",
"data.availability": "\"InStock\" | \"OutOfStock\"",
"data.freeShipping": "boolean",
"data.netshoesDelivery": "boolean",
"data.sizeBayEligible": "boolean",
"data.aggregateRating.ratingValue": "number",
"data.aggregateRating.reviewCount": "number",
"data.percentRecommended": "number",
"data.reviewHistogram[].starNumber": "number",
"data.reviewHistogram[].numberOfVotes": "number",
"data.images[].url": "string",
"data.mainImage.url": "string",
"data.breadcrumbs[].name": "string",
"data.breadcrumbs[].url": "string",
"data.additionalProperties[].name": "string",
"data.additionalProperties[].value": "string | number | boolean",
"data.mainTraits[].name": "string",
"data.mainTraits[].value": "string",
"data.features[]": "string",
"data.searchUrls[].name": "string",
"data.searchUrls[].url": "string",
"data.variants[].sku": "string",
"data.variants[].size": "string",
"data.variants[].availability": "\"InStock\" | \"OutOfStock\"",
"data.variants[].price": "number",
"data.variants[].regularPrice": "number",
"data.variants[].sellerName": "string",
"data.stamps[]": "string"
} {
"requestId": "req_netshoes_pdp_demo",
"executionId": "exec_netshoes_pdp_demo",
"data": {
"canonicalUrl": "https://www.netshoes.com.br/p/tenis-adidas-breaknet-FB9-9335-205",
"url": "https://www.netshoes.com.br/p/tenis-adidas-breaknet-FB9-9335-205",
"name": "Tênis Adidas Breaknet",
"sku": "FB9-9335-205-40",
"parentSku": "FB9-9335",
"brand": {
"id": "3",
"name": "Adidas",
"slug": "adidas"
},
"department": "Casual",
"productType": "Tênis",
"genders": [
"Masculino"
],
"sizeType": "BR",
"color": "Branco",
"size": "40",
"ean": "4067890000000",
"description": "Tênis casual da Adidas com cabedal sintético e visual clássico.",
"longDescription": "Tênis casual da Adidas com construção versátil, conforto para o uso diário e visual inspirado em quadra.",
"origin": "Nacional",
"weightInGrams": 900,
"heightInCm": 12,
"widthInCm": 10,
"depthInCm": 30,
"currency": "BRL",
"currencyRaw": "R$",
"price": 229.99,
"cashPrice": 219.99,
"regularPrice": 349.99,
"discountAmount": 120,
"discountPercent": 34,
"installmentPrice": 23,
"installmentCount": 10,
"sellerName": "Adidas",
"sellerId": "9702",
"availability": "InStock",
"freeShipping": true,
"nearExpirationDate": false,
"netshoesDelivery": true,
"sizeBayEligible": true,
"breadcrumbs": [
{
"name": "Casual",
"url": "https://www.netshoes.com.br/casual"
}
],
"images": [
{
"url": "https://static.netshoes.com.br/produtos/tenis-adidas-breaknet/05/FB9-9335-205/FB9-9335-205_zoom1.jpg"
}
],
"mainImage": {
"url": "https://static.netshoes.com.br/produtos/tenis-adidas-breaknet/05/FB9-9335-205/FB9-9335-205_zoom1.jpg"
},
"videos": [
{
"url": "https://videos.netshoes.com.br/demo.mp4",
"thumbnailUrl": "https://videos.netshoes.com.br/demo-thumb.jpg"
}
],
"aggregateRating": {
"ratingValue": 4.71,
"reviewCount": 9552,
"bestRating": 5
},
"percentRecommended": 96,
"reviewHistogram": [
{
"starNumber": 5,
"numberOfVotes": 231,
"percentOfVotes": 89
}
],
"additionalProperties": [
{
"name": "Marca",
"value": "Adidas"
},
{
"name": "Gênero",
"value": "Masculino"
},
{
"name": "Origem",
"value": "Nacional"
}
],
"mainTraits": [
{
"name": "Marca",
"value": "Adidas"
},
{
"name": "Gênero",
"value": "Masculino"
}
],
"features": [
"Marca: Adidas",
"Gênero: Masculino"
],
"searchUrls": [
{
"name": "Tênis Adidas",
"url": "https://www.netshoes.com.br/busca/tenis-adidas"
}
],
"variants": [
{
"sku": "FB9-9335-205-39",
"size": "39",
"ean": "4067890000001",
"availability": "InStock",
"price": 229.99,
"regularPrice": 349.99,
"sellerId": "9702",
"sellerName": "Adidas",
"freeShipping": true,
"nearExpirationDate": false,
"netshoesDelivery": true,
"stamps": [
"NetsGO"
]
}
],
"stamps": [
"NetsGO"
]
}
} | Path | Tipo | Descrição | Exemplo |
|---|---|---|---|
| data.additionalProperties[].name | string | Nome do atributo estruturado. | Marca |
| data.additionalProperties[].value | string | number | boolean | Valor do atributo estruturado. | Adidas |
| data.aggregateRating.ratingValue | number | Nota media agregada do produto. | 4.71 |
| data.aggregateRating.reviewCount | number | Quantidade total de reviews agregados. | 9552 |
| data.availability | "InStock" | "OutOfStock" | Status padronizado de disponibilidade do produto. | InStock |
| data.brand.name | string | Nome da marca do produto. | Adidas |
| data.breadcrumbs[].name | string | Nome do nivel do breadcrumb. | Casual |
| data.breadcrumbs[].url | string | URL publica do nivel do breadcrumb. | https://www.netshoes.com.br/casual |
| data.canonicalUrl | string | URL canonica publicada pela Netshoes para o produto. | https://www.netshoes.com.br/p/tenis-adidas-breaknet-FB9-9335-205 |
| data.cashPrice | number | Preco final sem desconto adicional de meio de pagamento. | 219.99 |
| data.color | string | Cor da variacao selecionada. | Branco |
| data.department | string | Departamento principal informado pela Netshoes. | Casual |
| data.discountAmount | number | Valor absoluto do desconto em reais. | 120 |
| data.discountPercent | number | Percentual de desconto sobre o preco de lista. | 34 |
| data.ean | string | EAN da variacao selecionada quando disponivel. | 4067890000000 |
| data.features[] | string | Representacao textual resumida dos principais atributos. | Marca: Adidas |
| data.freeShipping | boolean | Indica se a oferta principal informa frete gratis. | true |
| data.genders[] | string | Lista de generos associados ao produto. | Masculino |
| data.images[].url | string | URL de imagem do produto. | https://static.netshoes.com.br/produtos/tenis-adidas-breaknet/05/FB9-9335-205/FB9-9335-205_zoom1.jpg |
| data.installmentCount | number | Numero de parcelas informado pela Netshoes. | 10 |
| data.installmentPrice | number | Valor da parcela informado pela Netshoes. | 23 |
| data.mainImage.url | string | URL da imagem principal do produto. | https://static.netshoes.com.br/produtos/tenis-adidas-breaknet/05/FB9-9335-205/FB9-9335-205_zoom1.jpg |
| data.mainTraits[].name | string | Nome do traço principal exibido no PDP. | Marca |
| data.mainTraits[].value | string | Valor do traço principal exibido no PDP. | Adidas |
| data.name | string | Nome do produto. | Tênis Adidas Breaknet |
| data.netshoesDelivery | boolean | Indica se a entrega e operada pela Netshoes. | true |
| data.parentSku | string | Codigo pai do produto/grade. | FB9-9335 |
| data.percentRecommended | number | Percentual de usuarios que recomendam o produto. | 96 |
| data.price | number | Preco de venda exibido. | 229.99 |
| data.productType | string | Tipo de produto informado pela Netshoes. | Tênis |
| data.regularPrice | number | Preco de lista/antes do desconto. | 349.99 |
| data.reviewHistogram[].numberOfVotes | number | Quantidade de votos naquela faixa de estrelas. | 231 |
| data.reviewHistogram[].starNumber | number | Numero de estrelas da faixa avaliada. | 5 |
| data.searchUrls[].name | string | Label de busca relacionada publicada pela Netshoes. | Tênis Adidas |
| data.searchUrls[].url | string | URL absoluta da busca relacionada. | https://www.netshoes.com.br/busca/tenis-adidas |
| data.sellerId | string | Identificador do seller associado a oferta principal. | 9702 |
| data.sellerName | string | Nome do seller associado a oferta principal. | Adidas |
| data.size | string | Tamanho da variacao selecionada. | 40 |
| data.sizeBayEligible | boolean | Flag de elegibilidade SizeBay quando presente no upstream. | true |
| data.sizeType | string | Tabela/tipo de grade de tamanhos. | BR |
| data.sku | string | SKU da variacao selecionada. | FB9-9335-205-40 |
| data.stamps[] | string | Selos ou badges comerciais associados a oferta principal. | NetsGO |
| data.url | string | URL final retornada no payload do scraper. | https://www.netshoes.com.br/p/tenis-adidas-breaknet-FB9-9335-205 |
| data.variants[].availability | "InStock" | "OutOfStock" | Disponibilidade padronizada da variante. | InStock |
| data.variants[].price | number | Preco de venda da variante. | 229.99 |
| data.variants[].regularPrice | number | Preco de lista da variante. | 349.99 |
| data.variants[].sellerName | string | Seller associado a variante. | Adidas |
| data.variants[].size | string | Tamanho da variante. | 39 |
| data.variants[].sku | string | SKU de uma variante/tamanho dentro da grade. | FB9-9335-205-39 |
| executionId | string (uuid) | Identificador unico da execucao do worker. | exec_netshoes_pdp_demo |
| notFound | boolean (optional; true when the upstream entity was not found and data is null) | Indicador opcional para respostas onde a entidade nao existe no upstream. | N/A |
| requestId | string (uuid) | Identificador unico da requisicao atendida pelo gateway. | req_netshoes_pdp_demo |
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. |