API

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

endpointO que retornaObrigatórios
searchBusca 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/detailA 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/offersTodas 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/reviewsAvaliaçõ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/relatedOs 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_batchAté 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-asinDo 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/browsePercorre 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
bestsellersA lista de mais vendidos de um departamento, até a posição 100.category
new-releasesA lista de lançamentos de um departamento, no mesmo formato dos mais vendidos.category
dealsA página de ofertas da Amazon: ASIN, título, preço e imagem de cada item.todos opcionais
autocompleteO 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/profileNome do lojista, percentual de avaliações positivas e total de avaliações recebidas, como aparecem na página dele.seller_id
seller/productsA vitrine de um vendedor, paginada.seller_id
seller/reviewsAs 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.

Requisição
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"}'
Resposta (resumida)
{
  "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.