Amazon Bestsellers Scraper · 20 Marketplaces avatar

Amazon Bestsellers Scraper · 20 Marketplaces

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Amazon Bestsellers Scraper · 20 Marketplaces

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

Ale

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 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
  • position field 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-scraper to 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

FieldTypeDescription
startUrlsarrayBestseller URLs. Marketplace AND list type auto-detect from the URL.
categoryUrlsarrayAlias for startUrls, merged into the same queue.
browseNodeIdsarray of stringsNumeric browse-node IDs (e.g. 172282). country picks the marketplace and the list-type toggles pick the list.
countrystringMarketplace for browseNodeIds: US, UK, DE, FR, IT, ES, CA, MX, BR, NL, SE, PL, TR, JP, IN, AU, SG, SA, AE, EG.
languagestringAUTO matches the marketplace, or pick one: en, de, fr, it, es, ja, pt, ar, tr, sv, nl, pl.
maxResultsPerCategoryintegerCap per category. Maximum 100 (Amazon's own cap). Default 100.
maxResultsintegerHard cap across all categories. 0 means unlimited.
moversbooleanScrape Movers and Shakers instead of Best Sellers (applies to browseNodeIds).
newReleasesbooleanScrape New Releases instead of Best Sellers.
mostWishedbooleanScrape Most Wished For instead of Best Sellers.
mostGiftedbooleanScrape Most Gifted instead of Best Sellers.
concurrencyintegerCategories 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

  • price as {value, currency, raw}
  • listPrice (struck-through original when on sale)

Social proof

  • stars (0 to 5)
  • reviewsCount

Badges

  • isAmazonChoice, isPrime
  • isLimitedDeal (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 newReleases to 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 mostWished and mostGifted for 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.
  • brand is 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

  • categoryName and categoryBreadCrumbs are extracted from the page header. Some sub-category pages on smaller marketplaces ship without the standard header.
  • listPrice only when the product is on sale.
  • stars and reviewsCount are null on products with zero reviews.
  • dealText only when a deal badge is shown.
  • brand frequently null on bestseller cards (see above).

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.

  • 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