Amazon Best Sellers Scraper (rank, price, rating, monitor) avatar

Amazon Best Sellers Scraper (rank, price, rating, monitor)

Pricing

from $1.60 / 1,000 result items

Go to Apify Store
Amazon Best Sellers Scraper (rank, price, rating, monitor)

Amazon Best Sellers Scraper (rank, price, rating, monitor)

Amazon Best Sellers, New Releases and Movers & Shakers scraper: one row per ranked product with Amazon's rank, price in the marketplace currency, rating and review count, on ten marketplaces. Monitor mode alerts on rank moves and price changes. You pay only for rows returned.

Pricing

from $1.60 / 1,000 result items

Rating

0.0

(0)

Developer

Viktor Dubnytskiy

Viktor Dubnytskiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

One row per ranked product from an Amazon category list — Best Sellers, New Releases or Movers & Shakers — on ten marketplaces, with Amazon's own rank, the price in that marketplace's currency, the rating and the review count. Monitor mode turns the same input into a daily alert on rank moves and new entries.

What you get

One row per product: id (<marketplace>:<ASIN>), asin, url, marketplace, listType, category, categoryUrl, rank, title, price, priceText, currency, rating, ratingCount, imageUrl, isPrime, salesRankChange, query, page, scrapedAt.

rank is Amazon's own rank on the list, read from the ranking data the page carries — not the row's position in your dataset, so a row keeps its true rank no matter how the dataset is sorted or filtered.

Example output

{
"id": "com:B08JHCVHTY",
"asin": "B08JHCVHTY",
"url": "https://www.amazon.com/dp/B08JHCVHTY",
"marketplace": "com",
"listType": "bestsellers",
"category": "Electronics",
"categoryUrl": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics",
"rank": 1,
"title": "blink plus plan with monthly auto-renewal",
"price": 11.99,
"priceText": "$11.99",
"currency": "USD",
"rating": 4.4,
"ratingCount": 280228,
"imageUrl": "https://images-na.ssl-images-amazon.com/images/I/31YHGbJsldL._AC_UL300_SR300,200_.png",
"page": 1
}
ranktitlepriceratingratingCount
1blink plus plan with monthly auto-renewal11.99 USD4.4280228
513 Pairs Replacement Ear Tips for AirPods Pro6.99 USD4.340644
1 (amazon.de)NEW'C for iPhone 17, Tempered Glass7.99 EUR4.3292804

Use cases

  • Category tracking. Run it daily on your categories and keep a rank history: what entered the top 100, what fell out, what changed price.
  • Competitor and niche research. Rank, price, rating and review count side by side is enough to size a niche before you source a product.
  • New-product radar. listType: new-releases is the list of what Amazon just started selling in a category — in monitor mode you get an alert the day a product appears.
  • Cross-marketplace price gaps. The same list on .com and .de returns each marketplace's own currency, because the exit country is pinned to the marketplace.

Input

FieldMeaningDefault
categoryUrlsBest Sellers / New Releases / Movers & Shakers URLs, one per line. Any marketplace, any depth of sub-categoryempty
categoriesCategory slugs (electronics, books, kitchen) used with marketplace and listTypeempty
marketplacecom, de, co.uk, fr, it, es, ca, co.jp, in, com.aucom
listTypebestsellers, new-releases or movers-and-shakersbestsellers
maxPagesPerListPages per list, 1-10 (Amazon has two per list)2
maxItemsStop after this many rows100
modescrape, or monitor for only new/changed rowsscrape
monitorStateId, webhookUrl, telegramBotToken, telegramChatIdMonitor-mode state key and alert targetsempty

Give either categoryUrls or categories — a URL names its own marketplace and list type, so the two other fields are ignored for it.

Monitor mode keys each product on <marketplace>:<ASIN> and compares rank and price, so you are alerted when a product enters the list, moves rank, or changes price — and charged only for those rows.

Pricing

EventPrice
result$0.002 per product ($2 per 1,000)
monitor-check$0.006 per monitor run
change$0.002 per new or changed product

You are charged only for rows actually pushed. A refused request pushes nothing and charges nothing.

The actor runs through Apify's residential proxy with the exit in the marketplace's own country. That is what the proxy is for here: Amazon quotes prices and availability by exit location, so an exit in a random country returns a foreign currency or no price at all. That proxy traffic is platform usage billed to your account at Apify's own rate; a list page measured 450-470 KB on 2026-09-17.

Limits — read this before you buy

  • 30 products per page. Amazon ranks 50 products per page but server-renders the first 30 and loads the rest from its own browser-side API. This actor returns the rendered 30, so the default two pages give you ranks 1-30 and 51-80 of a list, and maxPagesPerList: 1 gives ranks 1-30. Every row carries its true rank, so the gap is visible rather than silently renumbered.
  • Movers & Shakers is empty at the source right now. Checked on 2026-09-17 on .com, .de and .co.uk: every Movers & Shakers URL answers "there are no movers and shakers available in this category". The list type is implemented and salesRankChange is filled the moment Amazon serves the data again; until then a Movers & Shakers run returns nothing (and charges nothing). Use bestsellers or new-releases.
  • Category slugs differ per marketplace. electronics is a .com slug; on .de the same list is ce-de. The safe way is to paste the URL from your browser into categoryUrls. An unknown slug is reported as invalid input, not as an empty result.
  • isPrime is usually empty, because the list cards mostly carry no Prime badge. price is empty for the few cards Amazon renders without one.
  • Prices are the list-card price in the marketplace's currency, not a per-variant or per-seller offer.
  • Ten marketplaces, and only those ten: .com, .de, .co.uk, .fr, .it, .es, .ca, .co.jp, .in, .com.au. Each one's robots.txt was read before the host was enabled, and a URL on any other Amazon host is refused rather than fetched.
  • No sub-category rows: the sub-category URLs found in the left rail are written to the run's LIST_SUMMARY record so you can feed them back as categoryUrls, but they are never pushed as rows.

What is NOT collected

No personal data of any kind. Rows are product-level: no reviewer names, no review text, no customer profiles, no seller contacts, no buyer data. The review pages linked from every card are never opened, and the tracking tails Amazon puts in its own links (session ids, ref= tags) are stripped from every URL.

FAQ

Why does my dataset skip ranks 31-50? See Limits: Amazon renders 30 of the 50 products a page ranks.

Do I need my own proxy? No. The actor uses Apify's residential proxy with the exit pinned to the marketplace's country, which is what keeps prices in that marketplace's currency.

Why did a run return nothing? The RUN_SUMMARY record in the run's key-value store carries emptyReason: no_matches (the list itself was empty — Movers & Shakers today), invalid_input (the slug or URL does not exist on that marketplace) or blocked (Amazon answered with its robot check). A blocked run never masquerades as an empty one.

Can it follow sub-categories automatically? Not in this version. The sub-category URLs are in the LIST_SUMMARY record of every run; paste the ones you want into categoryUrls.

Changelog

  • 0.1: initial release — Best Sellers, New Releases and Movers & Shakers on ten marketplaces, rank from the page's own ranking data, per-marketplace currency, monitor mode on rank and price, robot checks reported as blocks instead of empty datasets.

If this actor saved you time, a short review on its Store page genuinely helps other people find it. Found a bug or need a field that is missing? Open a ticket on the Issues tab.