Amazon Bestsellers Scraper - Ranks, Prices & Ratings
Pricing
from $0.96 / 1,000 ranked products
Amazon Bestsellers Scraper - Ranks, Prices & Ratings
[$1.20 / 1K products] Scrape Amazon Best Sellers, New Releases, Most Wished For and Gift Ideas across 15 marketplaces. Full top 100 with prices, star ratings and review counts. No start fee.
Pricing
from $0.96 / 1,000 ranked products
Rating
0.0
(0)
Developer
WebData Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Amazon Bestsellers Scraper — Ranks, Prices & Ratings
Scrape Amazon's ranked lists: Best Sellers, New Releases, Most Wished For and Gift Ideas, across 15 marketplaces. The full top 100 per category, with price, star rating and review count on every row that Amazon publishes them for.
$1.20 per 1,000 products. No start fee. The cheapest Amazon bestseller Actor on the Store at the Free tier, and the only one that returns star ratings and review counts alongside the rank.
What you get
| Group | Fields |
|---|---|
| Rank | rank (1-100), listType, categoryName, categoryNodeId, categoryUrl |
| Product | asin, title, productUrl, imageUrl |
| Money | price, priceText, currency |
| Social proof | rating (0-5), ratingCount |
| Bookkeeping | marketplace, domain, page, hasPriceData, scrapedAt |
Prices come back as numbers with the marketplace's own currency code, so 1.234,56 € is
price: 1234.56, currency: "EUR" and sorts correctly next to a US row.
Three ways to name a category
1. Paste the URL. Open the Best Sellers page you want on any Amazon site and paste the address. The marketplace, the category and the list type all come from the URL.
2. Marketplace + slug. Pick amazon.de and pass books, computers, and so on.
3. Let it walk the tree. Turn on includeSubcategories and each page's own subcategory
list is read off the page and scraped too — that is how you cover a whole department instead
of just its top level. outputCategories also returns those subcategories as rows, with their
node IDs, so you can feed them straight back in.
Why the full 100, and where the prices come from
Amazon serves two different layouts for the same page. A browser gets a grid that lazy-loads, so only 30 of each 50-item page is in the HTML — but those 30 carry price and star rating. A self-identifying crawler gets a flat layout with all 50, and no prices.
This Actor fetches both and merges them on ASIN: the flat layout supplies the complete 1-100
ranking, the browser layout fills in price and rating over the top. hasPriceData tells you
which rows got the extra fields. If you only need the ranking, includePriceAndRating: false
halves the requests.
Pricing
| Event | Free | Bronze | Silver | Gold+ |
|---|---|---|---|---|
| Product | $1.20 / 1K | $1.11 / 1K | $1.03 / 1K | $0.96 / 1K |
| Subcategory row | $1.20 / 1K | $1.11 / 1K | $1.03 / 1K | $0.96 / 1K |
No start fee. Compare: the category leader charges $5.90/1K, and several competitors add a per-run fee on top of their row price.
Example output
{"itemType": "product","listType": "bestsellers","rank": 1,"asin": "B08JHCVHTY","title": "Blink Plus Plan with monthly auto-renewal","productUrl": "https://www.amazon.com/dp/B08JHCVHTY","price": 10.44,"currency": "USD","rating": 4.4,"ratingCount": 280404,"hasPriceData": true,"marketplace": "US","categoryName": "Electronics","categoryNodeId": null}
What people use it for
- Demand research. What is actually selling in a category right now, ranked, with the price it sells at and how many people reviewed it.
- New product alerts.
new-releaseson a schedule, diffed by ASIN, is a feed of every new product entering a category. - Rank tracking. Re-run daily and diff
rankbyasinto watch products climb or fall. - Competitor and supplier sourcing. Gift Ideas and Most Wished For surface products with demand that the Best Sellers list has not caught up with yet.
- Category mapping.
outputCategoriesgives you Amazon's own browse-node tree with IDs.
Honest limits
- Movers & Shakers is not available. Amazon renders that one list in the browser only — the HTML arrives with the grid empty. Rather than ship a column that is silently blank, it is left out. The other four lists server-render.
- Gift Ideas is not published for every category on every marketplace. Where Amazon has no such list, the Actor says so in the log and moves on instead of failing the run.
- Category slugs are localised.
electronicsexists on amazon.com but not on amazon.de, where the same department is a different word. Amazon answers a wrong slug with a normal looking 200 whose page title reads "…the most popular items in undefined" — the Actor detects exactly that and tells you, rather than returning nothing and calling it success. Pasting the URL avoids the problem entirely, andcategoryNodeIdis portable across marketplaces where the slug is not. - Roughly 60 of every 100 rows carry price and rating, because that is how many the richer
layout covers.
hasPriceDatamarks them. Rank, ASIN, title and image are there for all 100. - Amazon prices in the currency of wherever the request comes from. On a non-US
marketplace this Actor routes the price lookup through an exit inside that country, so
amazon.de returns euros rather than a converted dollar figure.
currencyalways records what the page actually said. - Ranks are Amazon's own and refresh hourly on their side, so two runs minutes apart can legitimately differ.
Tips
- Start with one category and
maxProductsPerList: 100to see the shape, then add lists. - The node ID in
categoryNodeIdis the portable way to name a category — unlike the slug, it means the same thing on every marketplace. - Combine
new-releaseswith a daily schedule for the cheapest early-signal feed on Amazon.