Amazon Bestsellers Scraper · 20 Marketplaces
Pricing
from $1.00 / 1,000 results
Amazon Bestsellers Scraper · 20 Marketplaces
Extract Amazon's Best Sellers, Movers and Shakers, New Releases, Most Wished For and Most Gifted rankings across 20 marketplaces. Returns top 100 per category with rank, ASIN, brand, price, list price, stars, reviews, Amazon's Choice / Prime / deal badges. Pay-per-result.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Ale
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Amazon Bestsellers Scraper
Extract Amazon's Best Sellers, Movers and Shakers, New Releases, Most Wished For and Most Gifted rankings across 20 marketplaces. Returns rank, ASIN, title, brand, price, list price, stars, reviews, Amazon's Choice / Prime / Limited-time-deal flags and thumbnail. Pay-per-result, no login required.
What it does
You give it Amazon bestseller URLs or browse-node IDs. You get back clean, structured JSON, one row per ranked product.
- Five list types in one actor: Best Sellers, Movers and Shakers, New Releases, Most Wished For, Most Gifted
- Top 100 per category by walking pagination (Amazon's own list cap)
- Handles both Amazon layouts: modern grid (50 per page, 2 pages) and legacy list (20 per page, 5 pages)
- Marketplace and list type auto-detect from any bestseller URL you pass
- Pass numeric browse-node IDs when you don't have the URL handy
positionfield carries the true 1-to-100 rank across paginated pages
Sample output
{"asin": "B09B8V1LZ3","url": "https://www.amazon.com/dp/B09B8V1LZ3","marketplace": "US","categoryUrl": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/","categoryName": "Best Sellers in Electronics","categoryBreadCrumbs": ["Electronics"],"listType": "bestseller","position": 1,"title": "Amazon Echo Dot (5th Gen, 2022 release) | With bigger vibrant sound","brand": "Amazon","thumbnailImage": "https://m.media-amazon.com/images/I/example.jpg","price": { "value": 49.99, "currency": "$", "raw": "$49.99" },"listPrice": { "value": 59.99, "currency": "$", "raw": "$59.99" },"stars": 4.7,"reviewsCount": 193736,"isAmazonChoice": true,"isPrime": true,"isLimitedDeal": false,"dealText": null,"scrapedAt": "2026-06-15T07:33:09Z"}
Pricing
$0.001 per actor start, plus $0.001 per scraped result. Roughly $1 per 1,000 results.
A full top-100 walk of one category costs $0.10. Walking 100 categories across a marketplace (10,000 products) costs $10.
You only pay for results that successfully return data. Failed fetches are not charged.
New to Apify? Every account gets a $5 free monthly platform credit, enough for around 5,000 results on this actor before you commit to paying anything. Plenty to test the full feature set.
Why this scraper
Five list types, one actor. Best Sellers, Movers and Shakers, New Releases, Most Wished For, Most Gifted: all toggled from a single input. Most competitors only ship the default Best Sellers list.
Auto-detects everything. Drop in any Amazon bestseller URL and the actor figures out the marketplace, the list type, and the layout (Amazon ships two and switches between them) without configuration.
Top 100 walk built in. Pagination is automatic. The actor walks until the category's full top 100 is gathered, then stops cleanly when the list ends.
20 marketplaces. Auto-detects marketplace from the URL TLD. For browse-node IDs the country input selects the marketplace. Locale-correct prices and currencies thanks to per-marketplace proxy routing.
Pay only for results. $0.001 per successfully scraped row. Failed fetches are not charged.
Use with AI Agents (MCP)
Connect this actor to any MCP-compatible AI client: Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Apify MCP server URL:
https://mcp.apify.com?tools=santamaria-automations/amazon-bestsellers-scraper
Example prompt once connected:
"Use
amazon-bestsellers-scraperto fetch the top 100 in Electronics on amazon.com. Return as a CSV."
Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically.
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Bestseller URLs. Marketplace AND list type auto-detect from the URL. |
categoryUrls | array | Alias for startUrls, merged into the same queue. |
browseNodeIds | array of strings | Numeric browse-node IDs (e.g. 172282). country picks the marketplace and the list-type toggles pick the list. |
country | string | Marketplace for browseNodeIds: US, UK, DE, FR, IT, ES, CA, MX, BR, NL, SE, PL, TR, JP, IN, AU, SG, SA, AE, EG. |
language | string | AUTO matches the marketplace, or pick one: en, de, fr, it, es, ja, pt, ar, tr, sv, nl, pl. |
maxResultsPerCategory | integer | Cap per category. Maximum 100 (Amazon's own cap). Default 100. |
maxResults | integer | Hard cap across all categories. 0 means unlimited. |
movers | boolean | Scrape Movers and Shakers instead of Best Sellers (applies to browseNodeIds). |
newReleases | boolean | Scrape New Releases instead of Best Sellers. |
mostWished | boolean | Scrape Most Wished For instead of Best Sellers. |
mostGifted | boolean | Scrape Most Gifted instead of Best Sellers. |
concurrency | integer | Categories fetched in parallel, 1 to 20. Default 5. |
List-type toggles are mutually exclusive. If multiple are true, precedence is movers, newReleases, mostWished, mostGifted, bestseller.
Example input: Best Sellers in three categories
{"startUrls": [{"url": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"},{"url": "https://www.amazon.com/Best-Sellers/zgbs/hpc/"},{"url": "https://www.amazon.de/gp/bestsellers/electronics/"}],"maxResultsPerCategory": 100,"concurrency": 3}
Example input: New Releases by browse-node ID
{"browseNodeIds": ["172282", "1055398"],"country": "US","newReleases": true,"maxResultsPerCategory": 50}
Output fields
Identity and ranking
asin, title, url, marketplace, categoryUrl, categoryName, categoryBreadCrumbs, listType, position
Pricing
priceas{value, currency, raw}listPrice(struck-through original when on sale)
Social proof
stars(0 to 5)reviewsCount
Badges
isAmazonChoice,isPrimeisLimitedDeal(true on Limited Time Deal or Lightning Deal badges)dealText(literal badge text when a deal is active)
Media
thumbnailImage
Brand
brand (when shown on the card, often null on bestseller listings)
Run metadata
input, scrapedAt
Common use cases
- Market-trend monitoring. Track which products rank in a category over time.
- New-product discovery. Use
newReleasesto surface fresh launches in a niche. - Category-rank tracking for your own SKUs. Find where your ASIN sits in its category's top 100, daily.
- Wishlist and gifting trend analysis. Use
mostWishedandmostGiftedfor social-shopping signals not visible on Best Sellers. - Movers and Shakers alerts. Catch products gaining sales rank fast (24h rolling window) for trend-spotting.
Notes and limits
- Amazon caps every list at 100. The actor cannot return more than 100 rows per category. This is Amazon's own limit.
- Lazy-loaded rows on some categories (2026-06). A handful of high-traffic Best Seller categories now lazy-load positions 31 to 50 via a JSON API on initial render. v1 returns the rows that appear in the server-rendered HTML (typically around 60 of 100 on affected categories). v1.1 will call the JSON endpoint to fill the gap.
- Category slugs differ across marketplaces. A path like
/zgbs/electronics/is US-specific. For other marketplaces, open the bestsellers root nav of that marketplace and use the actual category URL from there. Browse-node IDs also differ per marketplace. - Layout auto-detection. Amazon ships two layouts (modern grid and legacy list). The actor sniffs both and handles either silently.
- Bestsellers refresh hourly. Pulling these more often than that returns identical data.
brandis often null. Bestseller cards frequently omit the brand line. Fetch the ASIN through Amazon Product Scraper for guaranteed brand data.
Fields that may be null
categoryNameandcategoryBreadCrumbsare extracted from the page header. Some sub-category pages on smaller marketplaces ship without the standard header.listPriceonly when the product is on sale.starsandreviewsCountare null on products with zero reviews.dealTextonly when a deal badge is shown.brandfrequently null on bestseller cards (see above).
Recommended concurrency
3 to 5 concurrent categories is the sweet spot. Pages within a single category are walked sequentially to preserve session warmth. Cross-category parallelism is what the concurrency setting controls.
Multi-marketplace runs
Mixing marketplaces in one run is supported. Accept-Language, locale headers, and the proxy country are tuned per category. Expect slightly longer runtime on smaller marketplaces (.sa, .ae, .eg, .sg) where Amazon's anti-bot is more aggressive.
Related Actors
- Amazon Product Scraper: pull the full 50+ field PDP detail for any ASIN returned here (description, A+ content, variants, AI review summary, top reviews).
- Amazon Search Scraper: scrape search results pages by keyword across the same 20 marketplaces.
- Amazon Seller Scraper: extract seller storefronts, ratings, business addresses and full product catalogs.
Support
For issues, feature requests, or marketplaces not yet supported, please open an issue on the Issues tab of this actor. We typically respond within 24 hours.
Contact: contact@nanoscrape.com