API da Amazon Brasil: preços, ofertas e dados de produto da amazon.com.br em JSON
Esta API lê a amazon.com.br do lado de quem compra: título, preço em reais, estrelas, quem vende e quem entrega, o texto de frete e o selo "compras no mês passado". Na Amazon Brasil, varejistas que você conhece de outros sites, como Casas Bahia e Magalu, também vendem como lojistas, e as ofertas deles aparecem lado a lado com a da própria Amazon em `product/offers`. Não tem relação com a SP-API do Seller Central nem com a API do programa de Associados (afiliados): aqui não se gerenciam pedidos, estoque ou links de comissão, só se lê o catálogo público. Para a loja brasileira, mande `"marketplace": "com.br"` em todo pedido.
Endpoints
| endpoint | O que retorna | Obrigatórios |
|---|---|---|
| search | Busca por palavra-chave: ASIN, título completo, preço em R$, estrelas, número de avaliações, imagem, selo de patrocinado, cupom e selo de oferta. Faixa de preço em reais, nota mínima e marca; ordenação por relevância, preço, avaliação, novidade ou mais vendidos. Até 336 resultados por consulta com `max_results`. | query |
| product/detail | A página do produto por ASIN: título, marca, preço e preço de lista, disponibilidade, tópicos de descrição, imagens, variações (voltagem e cor incluídas), ficha técnica, categorias, vendedor do buy box e se a entrega é feita pela Amazon, texto de entrega, "compras no mês passado", distribuição de estrelas e as oito primeiras avaliações. | asin |
| product/offers | Todas as ofertas do ASIN: a fixada no buy box e as outras, cada uma com preço, vendedor, de onde sai, condição (novo, usado) e o texto de entrega com frete e prazo. | asin |
| product/reviews | Avaliações de clientes: nota, título, data, texto, compra verificada e votos de "útil". Com `marketplaces` dá para juntar, sem repetição, as avaliações de mais de uma loja Amazon. | asin |
| product/related | Os carrosséis de recomendação da página, separados pelo tipo de relação (comprados juntos, vistos também, relacionados), cada item com ASIN, preço e estrelas. | asin |
| products_batch | Até 40 ASINs numa chamada: título, preço atual, estrelas, imagem e cupom. É o resumo do card; ficha técnica e avaliações ficam em `product/detail`. ASINs que a Amazon não devolve vêm listados em `not_found`. | asins |
| gtin-to-asin | Do código de barras ao ASIN: informe um EAN, UPC ou ISBN e receba os produtos Amazon correspondentes. Com `verify`, confere também se a página do produto traz aquele código. | todos opcionais |
| category/browse | Percorre um departamento pelo número do nó, página por página, quando você quer o sortimento inteiro e não só o que bate com uma palavra. | node |
| bestsellers | A lista de mais vendidos de um departamento, até a posição 100. | category |
| new-releases | A lista de lançamentos de um departamento, no mesmo formato dos mais vendidos. | category |
| deals | A página de ofertas da Amazon: ASIN, título, preço e imagem de cada item. | todos opcionais |
| autocomplete | O que a caixa de busca da Amazon completa a partir de algumas letras ("cafeteira" devolveu 10 sugestões, de "cafeteira com moedor" a "cafeteira portatil"). | query |
| seller/profile | Nome do lojista, percentual de avaliações positivas e total de avaliações recebidas, como aparecem na página dele. | seller_id |
| seller/products | A vitrine de um vendedor, paginada. | seller_id |
| seller/reviews | As avaliações que os compradores deixaram para o vendedor, com nota, texto e data. | seller_id |
Cada chamada é cobrada em créditos. Chamadas com erro ou bloqueadas são gratuitas.
Exemplo que funciona
Ventilador de mesa Mondial Super Power VSP-30-B, versão 110 V, consultado em 28 de outubro de 2026: 10 ofertas além da fixada. A fixada custava R$ 99,00, enviada pela Amazon, com frete grátis só no primeiro pedido. Entre as ofertas novas que não são entregues pela Amazon, a mais barata, de R$ 109,15, cobrava R$ 40 de entrega, e a Casas Bahia vendia por R$ 134,80 mais R$ 12,90. Repare que `total_price` repete o preço: o frete só aparece dentro do texto de `delivery`, então quem ordena por `total_price` coloca logo atrás da oferta fixada uma compra que sai por R$ 149,15. A versão 220 V do mesmo ventilador é outro ASIN (B09B17MQLC), com preço próprio na busca: R$ 108,52.
curl -X POST https://api.reefapi.com/amazon/v1/product/offers \
-H "x-api-key: SUA_CHAVE" \
-H "content-type: application/json" \
-d '{"asin": "B09B16LRD1", "marketplace": "com.br"}'{
"ok": true,
"data": {
"pinned": {
"price": 99.0,
"currency": "R$",
"seller": "Política de devolução",
"ships_from": "Amazon.com.br",
"condition": "Novo",
"delivery": "Entrega GRÁTIS Amanhã, 29 de Outubro no seu primeiro pedido ...",
"total_price": 99.0,
"currency_code": "BRL"
},
"offers": [
{
"price": 90.87,
"seller": "Amazon Quase Novo",
"ships_from": "Amazon",
"condition": "Usado - Muito bom",
"total_price": 90.87
},
...
{
"price": 134.8,
"currency": "R$",
"seller": "Casas Bahia.",
"ships_from": "Casas Bahia.",
"condition": "Novo",
"delivery": "Entrega R$ 12,90 13 - 17 de Novembro . Ver detalhes ... Mais",
"total_price": 134.8,
"currency_code": "BRL"
},
{
"price": 109.15,
"seller": "Multmaxx Oficial",
"ships_from": "Multmaxx Oficial",
"condition": "Novo",
"delivery": "Entrega R$40 Terça-feira, 10 de Novembro . Ver detalhes ... Mais",
"total_price": 109.15
},
...
],
"offer_count": 10
},
"meta": { "record_count": 11, "marketplace": "com.br", "currency_code": "BRL", "charged_credits": 2, "cache_hit": false, "mode": "live" }
}Scraper da Amazon em Python: o que muda na amazon.com.br
Os números da Amazon Brasil vêm escritos em português, e isso pegou até a gente. O selo "Mais de 5 mil compras no mês passado" chegou do nosso próprio parser como 5000000 nas duas páginas que abrimos em 28 de outubro (um ventilador Mondial e uma air fryer Philco), porque "mil" foi lido como milhão. Um scraper escrito para o "5K+ bought" da amazon.com tropeça no mesmo lugar, e sem erro nenhum: o número só fica mil vezes maior. Enquanto não corrigimos, o texto original vem em `bought_past_month_raw`.
A voltagem é outro ponto que só existe aqui. 110 V, 127 V e 220 V aparecem como ASINs separados, cada um com seu preço: na busca por ventilador de mesa, a mesma linha Mondial VSP-30 aparecia a R$ 99,00 em 110 V e a R$ 108,52 em 220 V. Quem junta produtos pelo título ou pelo modelo mistura as duas voltagens e calcula um preço médio que nenhum comprador vê. Em `product/detail`, `variations` traz o mapa de ASIN por voltagem.
Depois, o frete. Fora das ofertas entregues pela Amazon, ele vem como frase ("Entrega R$ 12,90"), não como número, e o "Entrega GRÁTIS" de várias ofertas enviadas pela Amazon vale só "no seu primeiro pedido". Ordenar pelo preço da oferta sem ler essa frase põe na frente quem cobra R$ 40 de entrega.
O script roda até o fim nos três casos, sem exceção nenhuma. O estrago aparece depois, no relatório de preços da Black Friday: um ventilador com 5 milhões de vendas no mês, um preço médio de 110 V com 220 V que nenhuma loja cobra e, logo depois da oferta fixada, uma de R$ 109,15 que vira R$ 149,15 quando o frete entra no carrinho.
Limites e observações honestas
- A Amazon não fornece nem autoriza este serviço; a ReefAPI não tem contrato nem parceria com a Amazon.
- Sem `marketplace` a consulta vai para a amazon.com, com preços em dólar e títulos em inglês.
- Defeito conhecido: `bought_past_month` multiplica por mil na amazon.com.br ("Mais de 5 mil compras no mês passado" virou 5000000 em 2 de 2 páginas medidas em 28/10/2026). Use `bought_past_month_raw` até a correção.
- Defeito conhecido: em `product/offers`, o `seller` da oferta fixada veio como "Política de devolução" em todas as consultas que fizemos (dois ASINs); `ships_from` estava certo (Amazon.com.br). Os vendedores da lista `offers` vieram corretos.
- `total_price` não soma o frete; o valor da entrega está só no texto de `delivery`.
- O buy box muda entre chamadas: no mesmo minuto, `product/detail` mostrou o ventilador a R$ 113,05 com um vendedor de fora, e `product/offers` fixou R$ 99,00 da Amazon. Para saber o menor preço, compare a lista de ofertas.
- Na busca, `brand` veio vazio em 40 de 40 linhas (duas buscas) e dois cards de ventilador vieram sem preço (`price: null`). Em `product/detail` a marca às vezes é o nome da loja ("LojaOficialdaPhilco" na air fryer Philco).
- Não há histórico de preços: cada resposta traz o preço do momento. Para montar a curva, chame os mesmos ASINs em intervalos e guarde o resultado do seu lado.
- A Amazon mostra no máximo 7 páginas por busca (336 resultados). Para varrer um departamento inteiro existe `category/browse`.
- Créditos: a busca cobra 1 crédito por página de resultados trazida (`max_results` 20 = 1 página); `product/detail` e `product/offers` custam 2 cada.