Amazon Search Products Scraper: Top Rated & Best Reviewed
Pricing
$19.99/month + usage
Amazon Search Products Scraper: Top Rated & Best Reviewed
The Amazon Search Products Scraper efficiently extracts product data from Amazon search results. It collects titles, prices, ratings, ASINs, reviews, and product URLs for each listing. Ideal for eCommerce research, price monitoring, and market analysis, providing structured JSON or CSV output.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
Scraper Engine
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Amazon Search Products Scraper — Ratings, Reviews & Weighted Rank
This Amazon product search scraper screens keyword or URL searches by star rating and review count, then re-ranks every result with a Bayesian weighted score — so a 5-star product with three reviews never outranks a proven 4.7-star product with 40,000. Output includes ratingValue, countReview, weightedRating and price as structured JSON, with optional ratings histograms, Amazon's own AI review summaries, and on-page top reviews. Run it on Apify to get ranked, quality-screened Amazon results.
What is Amazon Search Products Scraper: Top Rated & Best Reviewed?
Amazon Search Products Scraper: Top Rated & Best Reviewed runs an Amazon keyword or URL search, filters the results by minimum star rating and review count, and re-ranks the surviving products with a Bayesian weighted score before optionally enriching the top results with product-page detail. It returns one JSON row per product, with a stable field set across every run. No Amazon account, login, or API key is required — the Actor reads only the public search and product pages that any visitor sees. It's built for product researchers, e-commerce analysts, and AI engineers who need pre-screened, ranked Amazon product data instead of raw, unranked search results.
What Amazon product search data is publicly available to scrape?
Amazon's search and product pages show titles, prices, ratings, review counts and on-page reviews to any logged-out visitor. Amazon gates the rest behind an account.
| Data Category | Publicly Available | Restricted behind Amazon login |
|---|---|---|
| Title, price, image, ASIN | Yes | — |
| Star rating & review count | Yes | — |
| Ratings histogram & AI review summary | Yes, when rendered | — |
| Top on-page reviews | Yes | Full review pagination — login since Nov 2024 |
| Prime badge & delivery estimate | Yes | Personalized delivery date — signed-in account |
| Personalized pricing & coupons | No | Account + browsing history |
Amazon Search Products Scraper only returns publicly visible data — what any visitor sees. Nothing behind a login wall.
What data can I extract with Amazon Search Products Scraper?
Every run returns product identity, pricing and rating fields on every row, plus search-context metadata and optional review-intelligence fields when their input toggle is on.
Product identity & listing details
| Field | Description |
|---|---|
asin | Amazon Standard Identification Number — the product's unique ID |
productDescription | Product title as shown on the search card |
imgUrl | Product thumbnail image URL |
productUrl | Absolute canonical product URL (https://<marketplace>/dp/<asin>) |
dpUrl | Raw product-page link as scraped from the card |
manufacturer | Brand/manufacturer, filtered against a badge-text blocklist — null when the card shows a badge instead of a real brand |
series | Product series/model number parsed from the title when present |
variations | Up to 5 short variant labels shown on the card (size/color options) |
productDetails | Up to 3 short spec/detail lines shown on the card |
Ratings, pricing & sales signals
| Field | Description |
|---|---|
productRating | Star rating as Amazon displays it (e.g. "4.5 out of 5 stars") |
ratingValue | Numeric rating parsed from productRating (e.g. 4.5) |
countReview | Total number of ratings/reviews |
weightedRating | Bayesian-weighted rating computed across the filtered result set — see the FAQ below |
price | Current price |
retailPrice / listPrice | Struck-through list price when Amazon shows one (same value; listPrice is the clearer alias) |
secondaryOffer | Secondary used/refurbished price when shown, else null |
prime | Whether the card shows a Prime badge |
sponsored | Whether the card is a sponsored/ad placement |
salesVolume / salesVolumeNumeric | Raw "X bought in past month" text, and its parsed number (e.g. "7K+" → 7000) |
deliveryMessage | Delivery estimate text shown on the card |
Search context & review intelligence
| Field | Description |
|---|---|
keyword | The keyword or parsed term this row's search used |
domainCode | Amazon marketplace suffix scraped (e.g. com, co.uk) |
page / currentPage | Search result page number this row came from |
searchResultPosition | 0-based rank on that result page, before the weightedRating re-sort |
resultCount | Total result count Amazon reports for the search |
sortStrategy | The sortOrder value used for this search |
searchUrl | Full Amazon search URL that produced this row |
selectedCategory | Department/category from the URL's i= param or Amazon's detected search alias |
browseNode | Browse-node ID parsed from an rh= refinement, when present |
nodeHierarchy / categories | Breadcrumb/category path detected on the results page |
similarKeywords | Related-search suggestions Amazon rendered, with their URLs |
statusCode / statusMessage | 200 / "FOUND" for every row that reaches the dataset |
scrapedAt | ISO-8601 UTC timestamp of the scrape |
starsBreakdown (needs includeRatingBreakdown) | 5★→1★ percentage breakdown, e.g. {"5star":0.72,...} |
reviewInsights (needs includeReviewInsights) | Amazon's "Customers say" AI summary object: summary, banner, featureAspects[] (each with name, sentiment, mention counts) |
topReviews (needs includeTopReviews) | On-page top reviews: title, text, rating, date, author, verifiedPurchase, reviewId |
🤖 Add-on: Need additional Amazon data?
Pair this search-level data with Amazon Best Sellers Scraper (Scraper-Engine/amazon-bestsellers-scraper) to pull the public Best Sellers ranking for any category, or with Amazon Seller Data Extractor: AI Sentiment & Feedback Analytics (Scraper-Engine/amazon-seller-data-extractor-ai-sentiment-feedback-analytics) to resolve the seller behind any ASIN and analyze their feedback history. Combine either with this scraper to go from "what's ranking" to "who's selling it" in one pipeline.
How does Amazon Search Products Scraper differ from the official Amazon API?
Amazon's own product API — the Creators API, successor to the Product Advertising API (PA-API 5.0) after its April–May 2026 retirement — is built for approved Amazon Associates, not open data collection. Per Amazon's own eligibility and rate-limit documentation (checked 2026-07-25), it requires ≥10 qualifying sales in the trailing 30 days to keep access active, and new credentials start at 1 request/second with an 8,640/day cap before limits scale with sales revenue. It covers keyword search, ASIN lookup and offers data — no review text, histograms, or AI summaries.
| Feature | Amazon Creators API | Amazon Search Products Scraper |
|---|---|---|
| Access requirement | Approved Associate, ≥10 qualifying sales / 30 days | None needed |
| Rate limit | 1 req/s, 8,640/day, then sales-based scaling | Your own Apify run/proxy settings |
| Setup | OAuth 2.0 app via Associates Central | Paste keywords/URLs, run |
| Rating/review filtering | Not offered | minRating / minReviewCount + Bayesian re-rank |
| Review-page data | None | Ratings histogram, AI insights, top reviews |
| Data scope | Items linkable as an Associate | Any search result, 16 marketplaces |
Use the Creators API as an approved Associate building on official pricing data. Use this scraper for rating-based screening or review-page intelligence the official API doesn't expose.
How to use Amazon Search Products Scraper
This Actor runs on Apify — there's no separate signup or API key beyond your Apify account.
- Open the Actor on its Apify Store listing (or call it via the Apify API/CLI).
- Add one or more keywords or full Amazon search URLs to
reviewSearches(e.g."wireless earbuds") — the run needs at least one to produce results. - Set
minRatingandminReviewCountfor your quality floor, and switch onincludeRatingBreakdown/includeReviewInsights/includeTopReviewsfor review intelligence. - Adjust
marketplace,sortOrderormaxPagesif the defaults don't fit. - Start the run and export the dataset as JSON, CSV, or another Apify-supported format.
How to scale to bulk Amazon product search extraction
reviewSearches is an array — add as many keywords or search URLs as you need in one run; each entry runs as its own search, and maxPages controls how many result pages are pulled per entry. There's no separate "bulk mode" input: scaling is simply adding more entries to the same array, or triggering repeated runs with different marketplaces via the API for multi-region coverage.
What can you do with Amazon product search data?
- A product researcher validating a new niche uses
weightedRatingandcountReviewto shortlist genuinely well-reviewed products instead of ones with a handful of 5-star ratings. - A pricing analyst tracking a category uses
priceandlistPricetogether to spot how much discount depth top-rated competitors are running. - A brand manager auditing search visibility uses
sponsoredandsearchResultPositionto see how much of a keyword's top results a brand or its competitors are paying for. - A CX or product team uses
reviewInsights.featureAspects(positive/negative mention counts per aspect) to find recurring praise or complaints without reading every review. - An AI engineer feeds
productDescription,reviewInsights.summary, andtopReviews[].textinto a RAG pipeline or shopping agent so it can answer "what do buyers actually say about this" with grounded, sourced text instead of a hallucinated guess.
How does Amazon Search Products Scraper handle rate limits and blocking?
The Actor rotates proxies and retries automatically; it does not solve CAPTCHAs. Requests start with no proxy (or your proxyConfiguration setting), and escalate through three states — none → Apify datacenter → Apify residential — whenever Amazon responds with HTTP 403/429 or serves a CAPTCHA/"unusual traffic" interstitial. A separate soft-block guard watches for Amazon's other failure mode: an HTTP 200 page with zero product cards. When that happens, the Actor rotates the proxy IP and retries the same page up to four times before moving on. Detail-page enrichment (when a review-intelligence toggle is on) retries up to three times if the requested content — like the review list — is missing from the response. Network timeouts get exponential backoff, up to three attempts per request. If a page still fails after every retry, that page is skipped and logged, and the run continues with the remaining keywords and pages rather than aborting entirely. proxyConfiguration defaults to no proxy; enabling Apify Proxy with a residential group pinned to the marketplace country is recommended for detail-page enrichment.
⬇️ Input
All 13 parameters are optional — the run exits early only if reviewSearches ends up empty after parsing.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
minRating | No | integer | Keep only products rated at or above this many stars (0–5). On amazon.com a whole-star value (1–4) also asks Amazon to pre-filter server-side, then re-checks locally on every marketplace. Default 0 = no floor. | 4 |
minReviewCount | No | integer | Keep only products with at least this many ratings/reviews. Default 0 = no floor. | 1000 |
reviewSearches | No | array | Keywords or full Amazon search URLs. Query, department (i=), browse node and price/rating refinements (rh=) in a pasted URL are preserved. | ["wireless earbuds", "https://www.amazon.com/s?k=coffee+maker"] |
includeRatingBreakdown | No | boolean | Fetch each product's ratings histogram (5★→1★ breakdown). Adds one request per enriched product. Default false. | true |
includeReviewInsights | No | boolean | Fetch Amazon's "Customers say" AI review summary and per-aspect sentiment. null when Amazon doesn't render it. Adds one request per enriched product. Default false. | true |
includeTopReviews | No | boolean | Collect the top on-page reviews per product (logged-out only — full pagination is login-gated). Default false. | true |
maxInsightLookups | No | integer | Cap on how many top-ranked products get a detail-page fetch when any intelligence toggle is on. 0 = unlimited. Default 10. | 10 |
marketplace | No | string (select) | Amazon marketplace to screen: amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .com.au, .co.jp, .in, .com.mx, .com.br, .nl, .se, .sg, .ae. Default "amazon.com". | "amazon.com" |
language | No | string (select) | Page language for localization. Empty = auto-detect from the marketplace. | "en-US" |
proxyCountry | No | string (select) | Pin the proxy exit country, or "AUTO" to derive it from the marketplace. Default "AUTO". | "US" |
sortOrder | No | string (select) | How Amazon orders results before filtering: review-rank (Avg. customer review), relevanceblender (Relevance), price-asc-rank, price-desc-rank, date-desc-rank. Default "review-rank". | "review-rank" |
maxPages | No | integer | Search result pages to scrape per keyword (1–20; 1 page ≈ up to 48 products). Default 1. | 2 |
proxyConfiguration | No | object | Proxy behavior. Default: no proxy, with automatic fallback to datacenter then residential when Amazon blocks. | { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] } |
Example input
{"reviewSearches": ["wireless earbuds", "https://www.amazon.com/s?k=coffee+maker"],"minRating": 4,"minReviewCount": 1000,"includeRatingBreakdown": true,"includeReviewInsights": true,"includeTopReviews": true,"maxInsightLookups": 10,"marketplace": "amazon.com","language": "en-US","proxyCountry": "US","sortOrder": "review-rank","maxPages": 2,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
⬆️ Output
Each dataset row is one product, sorted weightedRating-best-first, with a stable field set across every run. Export as JSON, CSV, Excel, XML or any other Apify-supported format. The Actor bills one row_result charged event per product row pushed — there are no separate uncharged accounting rows.
Example output
{"asin": "B0CHWRXH8B","productDescription": "Wireless Earbuds Bluetooth 5.3 Headphones with Charging Case","imgUrl": "https://m.media-amazon.com/images/I/61abc123XYZ._AC_SL1500_.jpg","productUrl": "https://www.amazon.com/dp/B0CHWRXH8B","manufacturer": "SoundCore","productRating": "4.5 out of 5 stars","ratingValue": 4.5,"countReview": 32345,"weightedRating": 4.487,"price": 29.99,"retailPrice": 49.99,"listPrice": 49.99,"prime": true,"sponsored": false,"salesVolume": "7K+ bought in past month","salesVolumeNumeric": 7000,"deliveryMessage": "FREE delivery Tomorrow","starsBreakdown": {"5star": 0.72, "4star": 0.14, "3star": 0.06, "2star": 0.03, "1star": 0.05},"reviewInsights": {"summary": "Customers appreciate the sound quality and battery life of these earbuds.","banner": "AI-generated from the text of customer reviews","featureAspects": [{"name": "Sound quality", "sentiment": "POSITIVE", "featureMentionCount": 2206, "featureMentionPositiveCount": 1936, "featureMentionNegativeCount": 270}]},"topReviews": [{"title": "Great value for the price", "text": "Battery lasts all day and the case charges fast.", "rating": "5.0 out of 5 stars", "date": "Reviewed in the United States on June 3, 2026", "author": "M. Torres", "verifiedPurchase": true, "reviewId": "R2ABC123XYZ"}],"keyword": "wireless earbuds","domainCode": "com","page": 1,"searchResultPosition": 3,"resultCount": 8412,"sortStrategy": "review-rank","searchUrl": "https://www.amazon.com/s?s=review-rank&page=1&k=wireless+earbuds","scrapedAt": "2026-07-25T12:00:00+00:00"}
How does it work?
Each run sends direct HTTP requests to Amazon's public search and product pages using a browser-matched header set and session cookies — no headless browser is used. Requests start with no proxy, then automatically escalate to Apify datacenter and finally residential proxies whenever Amazon returns a 403/429, a CAPTCHA interstitial, or a soft block (HTTP 200 with zero product cards), retrying before moving on. HTML is parsed directly against Amazon's current markup, so the DOM selectors are the only thing that changes when Amazon updates its layout — the JSON field names in your dataset stay identical across runs. Only what a logged-out visitor can already see — search cards, product pages, on-page reviews — is ever read; nothing behind a login wall is accessed, and the same stable schema applies whether you scrape one keyword or a hundred.
Integrations
Amazon Search Products Scraper runs on the Apify platform, so it works with anything that can call Apify — your own code, no-code automation tools, or AI agents.
Calling Amazon Search Products Scraper programmatically
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("Scraper-Engine/amazon-search-products-scraper-top-rated-best-reviewed").call(run_input={"reviewSearches": ["wireless earbuds"],"minRating": 4,"minReviewCount": 1000,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["asin"], item["weightedRating"])
Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.
MCP integration for AI agents
This Actor is callable through Apify's official MCP server at https://mcp.apify.com (Bearer-token auth) or locally via npx @apify/actors-mcp-server, which lets an MCP client discover and run any Apify Actor — including this one, by its ID Scraper-Engine/amazon-search-products-scraper-top-rated-best-reviewed — and page through its dataset results. Compatible with Claude, Claude Code, and any other MCP-aware agent client that supports Streamable HTTP or stdio transport.
No-code tools (n8n, Make, LangChain)
In n8n, use the Apify node (or the HTTP Request node against the Actor's run endpoint) to trigger a run and pull the resulting dataset into your workflow. In Make, the Apify app module runs an Actor and passes its output straight into your scenario. In LangChain, wrap the Actor with the built-in Apify integration (ApifyWrapper/ApifyActorsTool) to load ranked Amazon product data straight into a chain or agent.
Is it legal to scrape Amazon product search data?
Scraping publicly available product data — titles, prices, ratings, review counts — is generally lawful; this Actor only returns what any logged-out visitor can see on Amazon's search and product pages. Amazon's own product listings are business/product data rather than personal data, so the relevant framing is Amazon's Terms of Service and database/content-reuse rights, not a personal-data regime like GDPR. One exception: when includeTopReviews is on, rows also carry each reviewer's public display name (author) — a public username, not private contact information, but still worth handling carefully if you store it at scale. Consult legal counsel for your specific use case, especially around bulk storage or redistribution.
Frequently asked questions
What Amazon product fields does Amazon Search Products Scraper return?
Every row includes asin, productDescription, ratingValue, countReview, weightedRating and price on every run, plus optional starsBreakdown, reviewInsights and topReviews when their toggles are enabled. See the full field tables above.
How is "top-rated" / "best-reviewed" actually determined?
It's a real computed re-rank, not just a label or Amazon's own sort order. After minRating/minReviewCount filter out low-quality products, every surviving product gets a Bayesian weighted score (weightedRating = (v/(v+m))·R + (m/(v+m))·C, where R is the product's rating, v its review count, C the mean rating and m the median review count of that run's filtered set), and results are re-sorted by that score. This means weightedRating is relative to the products collected in that specific run, not a universal absolute score — rerunning with a different keyword set or maxPages will shift C and m slightly. Amazon's own sortOrder setting only controls the order Amazon serves pages in before this filtering and re-ranking happen.
Does it require an Amazon account or login?
No. It reads only Amazon's public search and product pages — no login, cookies, or API key from you are needed.
How many products can I extract in one run?
There's no hard cap in the Actor itself. Each search page returns up to roughly 48 products, maxPages allows up to 20 pages per keyword, and reviewSearches accepts as many keywords/URLs as you add — so total yield scales with how many searches and pages you configure, minus whatever minRating/minReviewCount filter out.
What happens if a search returns zero results?
The Actor rotates the proxy IP and retries the same page (Amazon sometimes soft-blocks by returning HTTP 200 with no product cards). If a search comes back empty on two consecutive pages, it stops paging that keyword, logs it, and moves on to the next search rather than failing the whole run.
Can I scrape multiple Amazon searches at once?
Yes. reviewSearches is an array — add multiple keywords or search URLs and each runs as its own search within the same run.
Does Amazon Search Products Scraper work with Claude, ChatGPT, and other AI agent tools?
Yes. It's reachable through Apify's official MCP server (https://mcp.apify.com) for MCP-aware clients like Claude, and callable as a plain HTTP endpoint by any other agent framework via the Apify API.
How does this scraper differ from other Amazon product-search scrapers?
Most Amazon search scrapers pass through Amazon's raw star rating and review count as-is. This one adds a quality filter (minRating/minReviewCount) plus a Bayesian re-rank (weightedRating) so thinly-reviewed outliers don't sit above proven, heavily-reviewed products, and optionally layers in review-page intelligence — ratings histogram, Amazon's AI review summary, and on-page top reviews — that plain search scrapers typically don't fetch at all.
Does Amazon Search Products Scraper return data in a format LLMs can use directly?
Yes. Output is typed, normalized JSON with consistent field names across runs — no HTML, no CSS selectors. Pass it directly to an LLM, index it into a vector store, or feed it to an agent tool.
What happens when Amazon changes its layout or anti-bot system?
The Actor is maintained and its output schema is designed to stay stable across Amazon layout changes — only the internal HTML selectors need updating. No specific fix turnaround time is promised.
Which fields work best for AI training data and RAG indexing?
For RAG, index productDescription, reviewInsights.summary and topReviews[].text — the high-information text fields. For structured training data, ratingValue, countReview, weightedRating and price return as consistent typed primitives (floats/integers) across every row.
Related scrapers
| Scraper Name | What it extracts |
|---|---|
| Amazon Best Sellers Scraper | Amazon's public Best Sellers category rankings (top 100 per category) |
| Amazon Seller Data Extractor: AI Sentiment & Feedback Analytics | Seller storefront ratings, feedback history and optional AI sentiment analysis |
| eBay Product Scraper | eBay listing titles, prices, seller and availability data |
| eBay Seller Scraper | Public eBay seller profile, feedback snapshot and live listings |
Your feedback
Found a bug or missing a field? Let us know through the Actor's Issues tab on Apify or your Scraper-Engine support channel — reports like this directly shape the next update.