Amazon US Scraper - Products, Prices, Reviews, ASIN Data
Pricing
from $20.00 / 1,000 product scrapeds
Amazon US Scraper - Products, Prices, Reviews, ASIN Data
Scrape Amazon.com (US) products, reviews, ratings, prices, sellers, and detailed features with optional AI market analysis.
Pricing
from $20.00 / 1,000 product scrapeds
Rating
5.0
(1)
Developer
viralanalyzer
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
🇺🇸 Amazon US Intelligence — Products, Prices & Reviews from Amazon.com
🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português
Scrape Amazon.com (US marketplace) products with prices, ratings, reviews, Prime status, sellers, and best-seller rank. Dedicated US-only fork of the amazon-brazil-intelligence canonical pattern — datacenter-proxy compatible, US English headers, USD currency, US Prime browse-node filter.
✨ Features
- Amazon.com only — single TLD, en-US locale, USD prices, no multi-country branching
- Search OR ASIN URLs — keyword search OR direct
amazon.com/dp/ASINURLs - Pagination — auto-follows "Next" for at most 10 search-result pages, stopping earlier once
maxProductsis reached - Sort modes — relevance / price-asc / price-desc / rating / newest
- Price range filter —
minPrice/maxPricein USD - Category filter —
categorykeeps only products whose Amazon breadcrumb contains your text; applied before billing, so filtered-out products are never charged - Prime-only toggle — adds US Prime filter
rh=p_n_prime_eligible:2470955011 - Customer reviews — optional, rating, date, verified-purchase badge and helpful votes, read from at most 5 review pages per ASIN
- Review sentiment heuristic —
positive/mixed/negativeclassification from rating distribution - CheerioCrawler — HTTP-only, runs on Apify default datacenter proxy (validated working from DC US 2026-05-14)
- Optional AI analysis — Gemini-powered pricing & sentiment summary (requires
GEMINI_API_KEY) - CAPTCHA detection + session rotation — fingerprinted IPs auto-recycle
📥 Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | string | Yes* | wireless earbuds | Search keyword on amazon.com |
productUrls | string[] | Yes* | [] | Direct amazon.com product URLs (alternative to search) |
category | string | No | "" | Keeps only products whose Amazon breadcrumb contains this text (case/accent-insensitive substring). Applied in memory before billing. Empty = no filtering. See the "Category filter" section below |
maxProducts | integer | No | 50 | Ceiling on products (1-500). Search paging stops at 10 pages, so high values often return fewer |
includeReviews | boolean | No | false | Extract customer reviews (slower) |
maxReviewsPerProduct | integer | No | 10 | Ceiling on reviews per product (1-100). Review paging stops at 5 pages per ASIN, so 100 usually returns fewer |
sortBy | enum | No | relevance | relevance / price-asc / price-desc / rating / newest |
minPrice | number | No | 0 | Minimum USD price filter |
maxPrice | number | No | 0 | Maximum USD price filter (0 = no limit) |
primeOnly | boolean | No | false | Only return Prime-eligible products |
includeAiAnalysis | boolean | No | false | Adds Gemini summary (requires GEMINI_API_KEY env) |
proxyConfiguration | object | No | Apify datacenter | Default Apify datacenter proxy (useApifyProxy: true); upgrade to RESIDENTIAL US only if blocked |
*Either searchQuery OR productUrls is required.
Input example (JSON)
{"searchQuery": "robot vacuum","maxProducts": 30,"sortBy": "rating","minPrice": 100,"maxPrice": 500,"primeOnly": true,"includeReviews": true,"maxReviewsPerProduct": 20}
🗂️ Category filter
category is a free-text field, not a dropdown, because Amazon narrows a search to a
department through an internal browse-node id rather than through words. This Actor does not
resolve browse-node ids, so the filter is not applied to the search URL — it is applied to
the categories breadcrumb that each product detail page returns.
Match criterion. Your text and every breadcrumb entry are normalized the same way
(lowercased, accents stripped, whitespace collapsed). A product is kept when at least one
breadcrumb entry contains your text as a substring. Substring rather than exact equality, so
headphones matches the breadcrumb node Headphones, Earbuds & Accessories.
category input | Breadcrumb on the product | Result |
|---|---|---|
Electronics | Electronics › Headphones | ✅ kept |
headphones | Electronics › Headphones, Earbuds & Accessories | ✅ kept |
Electronics | Home & Kitchen › Vacuums | ❌ dropped (mismatch) |
Electronics | (no breadcrumb captured) | ❌ dropped (unverifiable) |
| (empty) | anything | ✅ kept — no filtering |
Products with no category. The breadcrumb only exists on the /dp/ detail page. If that
page was blocked or its layout changed, the product arrives without categories and the filter
cannot be verified — such products are excluded rather than delivered and billed unverified.
They are never dropped silently: the run log reports droppedMismatch and droppedNoCategoryData
counts. A high droppedNoCategoryData means the detail pages were not readable — switch
proxyConfiguration to RESIDENTIAL / apifyProxyCountry: "US" and re-run.
Billing. Filtering runs after the crawl but before pushData and before the
product-scraped charge, so you are never billed for a product the filter discards.
When nothing survives the filter, the run fails with a message naming the filter and both drop counts — the scrape worked, the filter is what emptied the result, and reporting that as a successful empty run would hide it from you.
📤 Output
{"asin": "B0BTYCRJSS","title": "iRobot Roomba Combo j5+ Self-Emptying Robot Vacuum & Mop","url": "https://www.amazon.com/dp/B0BTYCRJSS","price": 399.0,"originalPrice": 599.99,"discount": 33,"currency": "USD","rating": 4.3,"reviewCount": 8421,"mainImage": "https://m.media-amazon.com/images/I/...jpg","isPrime": true,"brand": "iRobot","seller": "Amazon.com","categories": ["Home & Kitchen", "Vacuums & Floor Care", "Robotic Vacuums"],"features": ["Smart mapping with Imprint", "2-in-1 vacuum and mop", "..."],"bestSellerRank": 12,"isAvailable": true,"reviews": [{"rating": 5,"title": "Works great on tile and carpet","body": "Picked up everything...","verified": true,"helpfulVotes": 47,"date": "2026-04-22"}],"reviewSentiment": "positive","scrapedAt": "2026-05-15T14:00:00Z"}
✅ Capabilities & Limits
Stated up front, so you do not pay a run to find out.
Built here: search results are only half the work. Every ASIN found on a search page is re-queued as its own /dp/{ASIN} detail request and merged over the card data, so a 50-product keyword run issues about 50 extra page loads at maxConcurrency: 2 (hard ceiling maxRequestsPerCrawl = maxProducts * 3 + 20). That is why runtime and compute run far above a plain SERP scrape even though PPE bills once per product. Two ceilings bound the crawl and outrank your input: 10 search-result pages per run and 5 review pages per ASIN. Both are printed in the run log before the crawl starts, so a short result set is visible in the log rather than a silent shortfall.
| Input / feature | Supported | Notes |
|---|---|---|
searchQuery | ✅ | Product search term (e.g., 'iPhone 15', 'wireless earbuds', 'gaming laptop') |
productUrls | ✅ | Direct Amazon.com product URLs to scrape (alternative to search) |
category | ✅ | Free-text breadcrumb filter, case/accent-insensitive substring. Applied in memory before billing — filtered-out products are not charged. Products whose detail page yielded no breadcrumb are excluded (counted in the log). Not applied to Amazon's search URL: no browse-node id is resolved |
Result volume (maxProducts) | ⚠️ | Ceiling, not a guarantee — the crawl delivers what 10 search pages yield |
includeReviews | ✅ | Scrape customer reviews for each product (slower but more data) |
Result volume (maxReviewsPerProduct) | ⚠️ | Ceiling, not a guarantee — the crawl delivers what 5 review pages per ASIN yield |
sortBy | ✅ | How to sort search results |
minPrice | ✅ | Filter products above this price |
Result volume (maxPrice) | ⚠️ | Filter products below this price (0 = no limit) |
primeOnly | ✅ | Only return products with Amazon Prime delivery |
includeAiAnalysis | ✅ | AI-powered pricing and sentiment analysis (requires GEMINI_API_KEY) |
| Proxy | ⚠️ | Proxy settings — recommended for Amazon scraping |
| Search pages beyond 10 | ❌ | Pagination halts at the 10th result page even when maxProducts is still unmet |
| Review pages beyond 5 | ❌ | Review pagination halts at the 5th page per ASIN even when maxReviewsPerProduct is still unmet |
💰 Pricing
$0.04 per product extracted (product-scraped), plus the Apify platform usage of the run,
billed to you at Apify's standard rates and shown on the run page.
One charge per product actually extracted. A CAPTCHA wall or a 0-item run charges no event.
🚀 Use cases
- US affiliate research — surface high-rating products in Amazon Associates verticals (3-12% commission)
- Competitor price tracking — daily snapshots of USD pricing on key SKUs
- Best-seller rank monitoring — track BSR movement in a category over time
- Review mining for SEO — extract review bodies for long-tail keyword discovery
- Catalog import — seed a comparison-shopping site with structured Amazon.com data
⚠️ Common errors
| Error | Cause | Fix |
|---|---|---|
CAPTCHA page detected | Amazon fingerprinted the proxy session | Wait 60s + retry; consider upgrading to RESIDENTIAL US |
[FAIL] Zero products extracted | Datacenter IP blocked OR keyword too narrow | Switch apifyProxyGroups: ["RESIDENTIAL"], countryCode: "US" |
productUrls country mismatch | URL is amazon.com.br or .co.uk | This actor handles amazon.com only — use Amazon Multi-Country for other TLDs |
GEMINI_API_KEY missing (with includeAiAnalysis=true) | Env var not set in actor secrets | Add GEMINI_API_KEY in Apify Console > Settings > Environment Variables |
[FAIL] Category filter "X" discarded all N scraped product(s) | Your category text matched no breadcrumb, or the detail pages were unreadable | Use the wording Amazon shows in the breadcrumb above the product title (or a fragment of it), or clear category. If droppedNoCategoryData is high, switch to RESIDENTIAL US proxy |
🔒 Privacy
No third-party proxy vendors. Datasets stay inside your Apify account. GEMINI_API_KEY (when provided) is sent only to Google's Gemini API over HTTPS.
📚 Related actors
- Amazon Multi-Country Scraper — US/UK/DE/FR/IT/ES/CA in one actor
- Amazon Brazil Intelligence — Amazon.com.br canonical
- CJ Affiliate Products — Commission Junction API (US-heavy)
- ClickBank Marketplace Intelligence — US digital affiliate products
🆕 Changelog
- v1.2 (2026-08-28): the two pagination ceilings the code always had — 10 search-result pages, 5 review pages per ASIN — are now named in the code, printed in the run log before the crawl, and stated in the input schema.
maxProductsup to 500 andmaxReviewsPerProductup to 100 remain accepted, but the docs no longer imply those numbers are delivered. - v1.1 (2026-08-27):
categoryis now actually honoured. It was declared in the input schema and shown in the Console form but never read by the code, so the chosen category was silently ignored. It now filters on the product breadcrumb, in memory, before billing. - v1.0 (2026-05-13): Initial release. Forked from
amazon-brazil-intelligencecanonical, retargeted to amazon.com, en-US headers, USD parsing, US Prime filter.
Português
🇺🇸 Amazon US Intelligence — Produtos, Preços e Reviews da Amazon.com
Scrape Amazon.com (mercado US) com preços, ratings, reviews, status Prime, vendedores e best-seller rank. Fork dedicado US do padrão amazon-brazil-intelligence — compatível com proxy datacenter, headers en-US, moeda USD, filtro Prime US.
✨ Recursos
- Apenas amazon.com — TLD único, locale en-US, USD, sem branching multi-país
- Busca OU URLs ASIN — palavra-chave OU URLs diretas
/dp/ASIN - Paginação automática — segue "Next" por no máximo 10 páginas de resultado, parando antes se
maxProductsfor atingido - Ordenação — relevância / preço asc-desc / rating / mais novos
- Faixa de preço em USD —
minPrice/maxPrice - Filtro de categoria —
categorymantém só produtos cujo breadcrumb da Amazon contém o texto; aplicado antes da cobrança, então produto descartado não é cobrado - Apenas Prime — adiciona
rh=p_85%3A2470955011à URL de busca e descarta em memória os cards sem selo Prime - Reviews opcionais — data, verified e helpful-votes, lidos de no máximo 5 páginas de review por ASIN
- Sentimento das reviews —
positive/mixed/negativeheurístico - CheerioCrawler — HTTP-only, roda com proxy datacenter padrão
- Análise AI opcional — Gemini (requer
GEMINI_API_KEY) - CAPTCHA + rotação de sessão — IPs sinalizados são reciclados
📥 Input
| Parâmetro | Tipo | Obrigatório | Default | Descrição |
|---|---|---|---|---|
searchQuery | string | Sim* | wireless earbuds | Busca |
productUrls | string[] | Sim* | [] | URLs diretas amazon.com |
category | string | Não | "" | Mantém só produtos cujo breadcrumb contém este texto (substring, ignora maiúsculas e acentos). Aplicado em memória antes da cobrança. Vazio = sem filtro. Ver a seção "Filtro de categoria" abaixo |
maxProducts | integer | Não | 50 | Teto de produtos (1-500). A paginação de busca para na 10ª página, então valores altos costumam render menos |
includeReviews | boolean | Não | false | Extrair reviews |
maxReviewsPerProduct | integer | Não | 10 | Teto de reviews por produto (1-100). A paginação de review para na 5ª página por ASIN, então 100 costuma render menos |
sortBy | enum | Não | relevance | Ordenação |
minPrice / maxPrice | number | Não | 0 | Filtro de preço USD |
primeOnly | boolean | Não | false | Só Prime |
includeAiAnalysis | boolean | Não | false | Sumário Gemini |
proxyConfiguration | object | Não | Apify datacenter | Proxy datacenter padrão (useApifyProxy: true); troque para RESIDENTIAL US só se bloqueado |
🗂️ Filtro de categoria
category é texto livre, não um menu, porque a Amazon restringe uma busca a um departamento
por um browse-node id interno, não por palavras. Este actor não resolve browse-node id, então o
filtro não entra na URL de busca — ele é aplicado ao breadcrumb (categories) que a página
de detalhe de cada produto devolve.
Critério de match. Seu texto e cada entrada do breadcrumb são normalizados igual (minúsculas,
acentos removidos, espaços colapsados). O produto é mantido quando ao menos uma entrada do
breadcrumb contém seu texto como substring — substring, e não igualdade exata, para que
headphones case com o nó Headphones, Earbuds & Accessories.
Produto sem categoria. O breadcrumb só existe na página /dp/. Se ela foi bloqueada ou mudou
de layout, o produto chega sem categories e o filtro não pode ser verificado — esses produtos
são excluídos em vez de entregues e cobrados sem verificação. Nunca são descartados em
silêncio: o log do run informa droppedMismatch e droppedNoCategoryData. droppedNoCategoryData
alto significa que as páginas de detalhe não abriram — troque proxyConfiguration para
RESIDENTIAL com apifyProxyCountry: "US" e rode de novo.
Cobrança. O filtro roda depois do crawl mas antes do pushData e antes da cobrança
product-scraped — você nunca paga por produto que o filtro descartou.
Se nada sobreviver ao filtro, o run falha citando o filtro e as duas contagens: o scrape funcionou, quem esvaziou o resultado foi o filtro, e reportar isso como sucesso vazio esconderia o problema de você.
💰 Cobrança
Pay-per-event product-scraped: cobrado por produto extraído. Run com CAPTCHA / 0 itens não cobra.
🚀 Casos de uso
- Pesquisa de afiliados US (Amazon Associates 3-12%)
- Rastreamento de preço de concorrentes em USD
- Monitoramento de Best Seller Rank
- Mineração de reviews para SEO long-tail
- Importação de catálogo para sites de comparação
⚠️ Erros comuns
CAPTCHA page detected: trocar para RESIDENTIAL US[FAIL] Zero products extracted: keyword muito estreita ou IP bloqueadoGEMINI_API_KEY missing: definir em Settings > Environment Variables do actor[FAIL] Category filter "X" discarded all N scraped product(s): o texto decategorynão bateu com nenhum breadcrumb (ou as páginas de detalhe não abriram) — use a grafia do breadcrumb da Amazon, ou limpecategory
🔒 Privacidade
Sem proxy de terceiros. Datasets ficam na sua conta Apify.
📚 Actors relacionados
- Amazon Multi-Country
- Amazon Brazil Intelligence
- CJ Affiliate Products
- ClickBank Marketplace Intelligence
🆕 Changelog
- v1.2 (2026-08-28): os dois tetos de paginação que o código sempre teve — 10 páginas de busca e 5 páginas de review por ASIN — agora têm nome no código, aparecem no log antes do crawl e constam do input schema.
maxProductsaté 500 emaxReviewsPerProductaté 100 continuam aceitos, mas a documentação não sugere mais que esses números são entregues. - v1.1 (2026-08-27):
categorypassou a ser efetivamente respeitado. Estava no input schema e aparecia no formulário do Console, mas o código nunca lia o campo — a categoria escolhida era ignorada em silêncio. Agora filtra pelo breadcrumb do produto, em memória, antes da cobrança. - v1.0 (2026-05-13): release inicial, fork US do canonical Brazil.