Amazon Best Sellers Scraper: Ranks, 21 Countries, $1.9/1K avatar

Amazon Best Sellers Scraper: Ranks, 21 Countries, $1.9/1K

Pricing

from $1.00 / 1,000 ranked products

Go to Apify Store
Amazon Best Sellers Scraper: Ranks, 21 Countries, $1.9/1K

Amazon Best Sellers Scraper: Ranks, 21 Countries, $1.9/1K

Amazon Best Sellers, New Releases, Movers & Shakers, Most Wished For and Gift Ideas ranks in 21 countries: rank, ASIN, title, price, rating, reviews, images, category path. Subcategory crawl, rank-change monitor, optional product details.

Pricing

from $1.00 / 1,000 ranked products

Rating

0.0

(0)

Developer

Detroit Web Agent - Open Data

Detroit Web Agent - Open Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Categories

Share

Amazon Best Sellers Scraper: ranks from 5 Amazon lists in 21 countries

Amazon Best Sellers Scraper: features, price and a real output row

Run it free on Apify

Price per 1,000 productsFree planStarterScaleBusiness
This Actor$1.90$1.50$1.20$1.00

Amazon Best Sellers Scraper sample output table from a real run

Turn Amazon's public Best Sellers, New Releases, Movers & Shakers, Most Wished For and Gift Ideas lists into a clean ranked table: rank, ASIN, title, price, currency, stars, review count, thumbnail, full-size image, category and full category path. Crawl subcategories, track rank changes between runs, filter by rating, price or reviews, and optionally open every product page for brand, bullets, availability, seller and images. Public pages only. No login.

  • In short: Amazon Best Sellers Scraper (Apify actor transparent_meteorite/amazon-bestsellers) reads Amazon's public ranked lists (Best Sellers, New Releases, Movers & Shakers, Most Wished For, Gift Ideas) and returns one row per ranked product.
  • Who it is for: Amazon sellers and brands, product researchers, dropshippers, affiliate sites, retail analysts and anyone tracking what sells on Amazon.
  • Input: categories by name or slug, or any Amazon list URL; list types; country (21 Amazon sites); language; ranks per list (up to 100); subcategory depth; filters (min stars, max price, min reviews); product details on/off; monitor mode; proxy.
  • Output: one row per ranked product with 26 list fields (plus about 16 more with product details), as JSON, CSV or Excel.
  • Pricing: pay per event. Per ranked product delivered: $0.0019 on the Apify free plan, $0.0015 Bronze, $0.0012 Silver, $0.001 Gold, Platinum and Diamond. Plus a start event of $0.00005 per GB of run memory.
  • Limits: Amazon publishes at most 100 ranks per list. Movers & Shakers, Most Wished For and Gift Ideas are often empty on Amazon's side; an empty list is reported in the log and costs nothing.

Pick a country and a category; get Amazon's top 100 as a clean table in under a minute.

Run in 30 seconds

  1. Open the actor in Apify Console (a free Apify account is enough).
  2. Press Start with the prefilled input. With nothing changed it reads the top 100 US Best Sellers in Electronics, which costs about $0.19 on the free plan.
  3. Open the Output tab, switch to Table view, download as CSV, Excel or JSON.

Prefilled input:

{
"categories": ["electronics"],
"listTypes": ["bestsellers"],
"countryCode": "US",
"maxItemsPerCategory": 100
}

An empty input {} does the same thing: US Best Sellers, Electronics, ranks 1 to 100.

Why choose this over alternatives

  • Lower price per product than the most-used Amazon best sellers actor on the Free to Platinum plans and the same on Diamond (see the table). One of the alternatives is cheaper on paid plans; we say so below.
  • 18 input options against 6 on the most-used alternative: categories by name, five list types in one run, 21 countries, English or local language, subcategory depth, rating / price / review filters, product details, monitor mode and a residential fallback.
  • Monitor mode: schedule it daily and you only get (and only pay for) products that are new on a list or moved rank, with the old rank and the change.
  • Empty lists, filtered rows and unchanged rows are never charged.
This actorMost-used alternativeAnother alternative
Price per product, free plan$0.0019$0.0059$0.002
Bronze / Silver / Gold$0.0015 / $0.0012 / $0.001$0.005 / $0.0041 / $0.0032$0.00039 / $0.00029 / $0.00029
Platinum / Diamond$0.001 / $0.001$0.002 / $0.001$0.00029 / $0.00029
Input options186see its page
List types5 (Best Sellers, New Releases, Movers & Shakers, Most Wished For, Gift Ideas)see its pagesee its page
Rank-change monitor that charges only changesyesnono

Prices read from each actor's public pricing on 2026-10-13. Speed measured 2026-10-13: the empty-input run (100 ranks, US Electronics) took 47 s end to end in a local test through Apify datacenter proxy, with 4 page requests and 0 blocks. One run is a small sample.

What it does and who it is for

Amazon publishes five public ranked lists for every department and most subcategories, updated about every hour:

  • Best Sellers: the products that sell most in a category right now.
  • New Releases: the best-selling products released recently.
  • Movers & Shakers: the biggest gainers in sales rank over the last 24 hours, with the percentage change.
  • Most Wished For: products added most often to wish lists and registries.
  • Gift Ideas: products bought most often as gifts.

This actor opens those lists for the countries and categories you choose, reads all ranks Amazon shows (1 to 100), and writes one row per product. It is built for:

  • Amazon sellers and brands watching where their products and competitors sit in their categories.
  • Product researchers and dropshippers looking for products that are rising (New Releases, Movers & Shakers) before they are everywhere.
  • Affiliate and review sites building "top 10" and "best of" pages that need fresh rank, price and image data.
  • Retail and market analysts comparing what sells in the US, the UK, Germany, Japan, India and other markets.
  • Agencies and data teams feeding dashboards, spreadsheets or databases on a schedule.

Quick start

  1. Choose a Country (21 Amazon sites, default US).
  2. Add one or more Categories by name or slug, for example electronics, Toys & Games, kitchen, beauty, books. Or paste any Amazon list URL into List URLs, including subcategory URLs.
  3. Pick the List types (Best Sellers by default; add New Releases or the others).
  4. Optional: set Subcategory depth to 1 to also read every subcategory, add filters, or turn on Add product details.
  5. Press Start. Rows stream into the Output tab while the run is going.

Category names are matched against the department list Amazon shows in that country, so local names work too (Küche, Haushalt & Wohnen on amazon.de). If a name does not match, the log lists every valid department with its slug.

What you get: output fields

FieldExampleNotes
rank1Position on the list, 1 to 100
asinB08JHCVHTYAmazon product ID
titleblink plus plan with monthly auto-renewalAs shown on the list
urlhttps://www.amazon.com/dp/B08JHCVHTYCanonical product URL
price11.99Lowest price on the list card, site currency
priceMaxnullUpper end when the card shows a range, else null
currencyUSDISO code
stars4.4Average rating, 0 to 5
reviewsCount281069Number of ratings
thumbnailhttps://images-na.ssl-images-amazon.com/images/I/31YHGbJsldL._AC_UL300_SR300,200_.pngList card image
highResImagehttps://images-na.ssl-images-amazon.com/images/I/31YHGbJsldL.pngFull-size image
listTypebestsellersbestsellers, new-releases, movers-and-shakers, most-wished-for, most-gifted
listNameBest SellersHuman name
categoryCamera & PhotoCategory name as Amazon shows it
categoryPathElectronics > Camera & PhotoAncestors and category
categorySlugelectronicsDepartment slug
categoryId502394Browse node of a subcategory, null for a department
categoryUrlhttps://www.amazon.com/gp/bestsellers/electronics/502394/The list that was read
countryCodeUSAmazon site
salesRank, previousSalesRank, percentChangeMovers & Shakers only: rank now, 24 hours ago, and the change in percent
subtitle, offersTextAuthor / format line or "N offers from" text when Amazon shows it
page11 = ranks 1-50, 2 = ranks 51-100
scrapedAt2026-10-13T15:02:11.000ZWhen the list was read

Monitor mode adds changeType (new, up, down), rankLastRun, rankChange (positions gained, negative when it fell) and lastRunAt.

With Add product details each row also gets: brand, bullets, availability, seller, images (all full-size images), detailPrice, listPrice, isPrime, breadcrumbs, bestsellerRanks (every Best Sellers Rank on the product page, e.g. #1 in Home & Kitchen, #1 in Washing Machine Parts & Accessories), boughtInPastMonth, dateFirstAvailable, manufacturer, modelNumber, dimensions, weight and description. A product page that cannot be read keeps the list fields and gets detailError.

Fields that Amazon does not show are null, never 0 or an empty string pretending to be a value.

Sample output

{
"rank": 76,
"asin": "B0DC6GXZSV",
"title": "Surge Protector Power Strip - CHCORE 5Ft Braided Extension Cord with 8 Outlets with 4 USB (2 USB C) Charging Ports, Flat Plug Multi Plug Outlet Extender Charging Station for Home Office, ETL, White",
"url": "https://www.amazon.com/dp/B0DC6GXZSV",
"price": 9.99,
"priceMax": null,
"currency": "USD",
"stars": 4.6,
"reviewsCount": 9035,
"thumbnail": "https://images-na.ssl-images-amazon.com/images/I/611zhZdA6DL._AC_UL300_SR300,200_.jpg",
"highResImage": "https://images-na.ssl-images-amazon.com/images/I/611zhZdA6DL.jpg",
"listType": "bestsellers",
"listName": "Best Sellers",
"category": "Electronics",
"categoryPath": "Electronics",
"categorySlug": "electronics",
"categoryId": null,
"categoryUrl": "https://www.amazon.com/gp/bestsellers/electronics/",
"countryCode": "US",
"salesRank": null,
"previousSalesRank": null,
"percentChange": null,
"subtitle": null,
"offersText": null,
"page": 2,
"scrapedAt": "2026-10-13T15:02:11.000Z"
}

A German subcategory row (local language):

{
"rank": 1,
"asin": "B0CQ45YD2C",
"title": "Lifewit 105L Pfandflaschen Sammelbehälter mit Deckel ...",
"price": 17.98,
"currency": "EUR",
"stars": 4.8,
"reviewsCount": 3098,
"listName": "Best Sellers",
"category": "Abfall & Recycling",
"categoryPath": "Küche, Haushalt & Wohnen > Abfall & Recycling",
"categorySlug": "kitchen",
"categoryId": "3312271",
"countryCode": "DE"
}

Input options

OptionDefaultWhat it does
Categories (categories)electronicsDepartment names or slugs in the chosen country
List URLs (startUrls)noneAny list URL of the 5 types, incl. subcategories; a root URL expands into every department
List types (listTypes)bestsellersAny of bestsellers, new-releases, movers-and-shakers, most-wished-for, most-gifted
Country (countryCode)USUS, UK, DE, FR, IT, ES, NL, BE, SE, PL, TR, CA, MX, BR, JP, IN, AU, SG, AE, SA, EG
Language (language)localen uses Amazon's English pages where they exist
Ranks per list (maxItemsPerCategory)100Top N per list, 1 to 100
Max rows (maxItems)100Stop for the whole run and your cost cap
Subcategory depth (depth)01 = also direct subcategories, up to 5
Max lists (maxCategories)50Upper bound on lists per run
Min stars (minRating)noneDrop rows below this rating
Max price (maxPrice)noneDrop rows above this price
Min reviews (minReviews)noneDrop rows with fewer ratings
Add product details (scrapeProductDetails)offOpens each product page for 16 more fields
Detail pages in parallel (detailConcurrency)51 to 10
Monitor mode (monitorMode)offOutput only new or moved products
Monitor store name (monitorStoreName)amazon-bestsellers-monitorOne name per tracker
Proxy (proxyConfiguration)Apify datacenterAny Apify proxy group or your own
Residential fallback (autoProxyFallback)onSwitch a country to residential if it keeps blocking

Input examples

Top 100 New Releases and Best Sellers in UK Toys & Games:

{ "countryCode": "UK", "categories": ["Toys & Games"], "listTypes": ["bestsellers", "new-releases"] }

Every subcategory of German Kitchen, top 20 each, in English:

{ "countryCode": "DE", "categories": ["kitchen"], "depth": 1, "maxItemsPerCategory": 20, "maxItems": 2000, "language": "en" }

A subcategory by URL, with product details:

{ "startUrls": [{ "url": "https://www.amazon.com/Best-Sellers-Electronics-Camera-Photo-Products/zgbs/electronics/502394/" }], "maxItemsPerCategory": 20, "scrapeProductDetails": true }

Daily rank tracker that only reports changes (schedule it):

{ "categories": ["beauty"], "monitorMode": true, "monitorStoreName": "beauty-us-tracker", "maxItems": 100 }

Well-rated, cheap products only:

{ "categories": ["home-garden"], "minRating": 4.5, "maxPrice": 25, "minReviews": 500 }

Pricing

Pay per event. There is no subscription and no rental fee for this actor.

EventFreeBronzeSilverGoldPlatinumDiamond
Ranked product (one per row delivered)$0.0019$0.0015$0.0012$0.001$0.001$0.001
Actor start (one per GB of run memory, minimum one)$0.00005$0.00005$0.00005$0.00005$0.00005$0.00005

The default run memory is 512 MB, so the start costs $0.00005 per run. The price per row is the same with product details on or off.

Worked examples:

Rows deliveredFreeBronzeSilverGoldPlatinumDiamond
100 (one full list, the default)$0.19005$0.15005$0.12005$0.10005$0.10005$0.10005
1,000$1.90005$1.50005$1.20005$1.00005$1.00005$1.00005
10,000$19.00005$15.00005$12.00005$10.00005$10.00005$10.00005

A daily monitor on one 100-rank list typically outputs only the products that moved, so 30 days cost far less than 30 x 100 rows; the first run outputs the whole list.

Apify's free plan includes $5 of monthly platform credit, which covers about 2,600 rows with this actor at the free-plan price.

What is and is not charged:

  • One event per ranked product row written to the dataset.
  • Empty lists ("no items available, check back later") deliver nothing and cost nothing.
  • Rows dropped by a filter are not charged.
  • In monitor mode, unchanged products are not output and not charged.
  • A list that stays blocked after all retries delivers nothing and costs nothing.
  • The same product on the same list is never delivered twice in one run.

To cap spend, set Max rows or Maximum cost per run in the run options; the actor stops when either limit is reached.

How to run it

In Apify Console

Open the actor, fill in the form and press Start. Rows appear in the Output tab while the run is going. When the run ends, use Export for JSON, CSV, Excel, XML or HTML, or switch views: Overview, Rank changes (monitor mode) and With product details.

From the API or a client library

Set APIFY_TOKEN to your token from Apify Console > Settings > API & Integrations.

curl -X POST "https://api.apify.com/v2/acts/transparent_meteorite~amazon-bestsellers/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"countryCode":"US","categories":["toys-and-games"],"maxItemsPerCategory":50}'

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("transparent_meteorite/amazon-bestsellers").call(run_input={
"countryCode": "UK",
"categories": ["electronics"],
"listTypes": ["bestsellers", "new-releases"],
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["rank"], row["asin"], row["price"], row["title"][:60])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('transparent_meteorite/amazon-bestsellers').call({ countryCode: 'DE', categories: ['kitchen'], depth: 1, maxItemsPerCategory: 10 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0]);

On a schedule

In Apify Console open Schedules, create a schedule (for example every day at 06:00), and add this actor with your input. Turn on Monitor mode so each run only returns what changed since the last one. Use a different Monitor store name for each tracker.

With n8n, Make, Zapier or AI agents

Use the Apify integration in n8n, Make or Zapier: "Run actor" with transparent_meteorite/amazon-bestsellers, then "Get dataset items". Each row is flat JSON, so it maps straight into Google Sheets, Airtable, a database or a Slack message. AI agents can call it through the Apify MCP server (see the end of this page).

Reliability and blocking

  • Each page is fetched on a fresh proxy session. A robot-check page, a 503/429, a JavaScript challenge or any page that is not a real list is treated as blocked and retried on a new IP with exponential backoff, up to 6 times.
  • Ranks 31 to 50 of each page are loaded the same way Amazon's own page does (a follow-up request on the same session), so a list returns all 50 ranks per page, 100 in total.
  • If a country keeps blocking the proxy, the run switches that country to Apify residential proxy in the right country for the rest of the run (turn off with Switch to residential proxy if blocked).
  • Prices are requested in each site's own currency, so amazon.co.jp returns yen even through a proxy in another country.
  • Captchas are never solved. A list that stays blocked is reported in the log and costs nothing.

Run summary record

Every run writes an OUTPUT record to its key-value store:

{
"lists": 1,
"emptyLists": 0,
"failedLists": 0,
"requests": 4,
"ok": 4,
"blocked": 0,
"delivered": 100,
"charged": 100,
"filtered": 0,
"unchanged": 0,
"duplicates": 0,
"detailFailures": 0,
"successRatePct": 100,
"residentialFallback": false,
"warnings": []
}

warnings names every empty list, unknown category (with the valid ones), list that stayed blocked, and skipped URL.

Limits and honest caveats

  • Amazon publishes at most 100 ranks per list, so maxItemsPerCategory stops at 100.
  • Movers & Shakers, Most Wished For and Gift Ideas are frequently empty on Amazon itself ("Sorry, there are no movers and shakers available in this category. Please check back later."). On 2026-10-13 they were empty in every country and category we tried. The actor supports them fully and reports an empty list in the log without charging; Best Sellers and New Releases always had items.
  • The list card shows the lowest current offer price; with product details on, detailPrice is the buy-box price, which can differ.
  • Some products have no price on the list (unavailable or only third-party offers); price is then null.
  • Category names depend on the site language. Slugs (such as electronics) work everywhere.
  • Ranks change about every hour. Each row is a snapshot at scrapedAt.
  • 21 Amazon sites were verified on 2026-10-13. Other Amazon sites are not supported yet.

New to Apify? Create a free account and run this Actor in under a minute. Some links are affiliate links.

More tools from the same publisher that fit this workflow:

Use from AI agents: every actor here is callable through the Apify MCP server (mcp.apify.com).

FAQ

Do I need an Amazon account or cookies? No. Only public list pages are read.

How many products does one list have? Up to 100. Ranks 1 to 50 come from page 1 and 51 to 100 from page 2.

Can I scrape a subcategory? Yes: paste its URL into List URLs, or set Subcategory depth to 1 or more to crawl all subcategories of a department.

Which category names can I use? Whatever Amazon shows in that country's Best Sellers menu, or the slug from the URL (/gp/bestsellers/<slug>/). An unknown name makes the log list every valid one.

Why did Movers & Shakers return nothing? Amazon shows that list as empty right now ("check back later"). You were not charged.

Can I get English titles from amazon.de or amazon.co.jp? Yes, set Language to English. It uses Amazon's own English pages, which exist on DE, FR, IT, ES, NL, BE, SE, JP, SA and EG.

How do I track ranks over time? Turn on Monitor mode and schedule the actor. Each run outputs only products that are new or moved, with the previous rank.

Is the price the same with product details? Yes, one event per row either way.

Troubleshooting

  • "category ... not found": copy a name or slug from the list printed in the same warning, or paste the list URL instead.
  • 0 rows and "Amazon currently shows no items": that list is empty on Amazon. Try Best Sellers or New Releases, or another category.
  • Some rows lack ranks 31-50: Amazon refused the follow-up request; the warning names the list. Run again or lower Ranks per list to 30.
  • Blocked pages in the summary: normal at low rates; they are retried. If a whole list stays blocked, leave the residential fallback on or choose a residential proxy group.
  • Prices in the wrong currency: open an issue with the run URL; prices are requested in the site's currency.

Terms & responsible use

This actor reads public Amazon pages that anyone can open without logging in. Amazon's Conditions of Use restrict automated access, so you are responsible for how you use the data: respect Amazon's terms, applicable law and rate limits, do not resell Amazon content as your own, and keep volumes reasonable. The actor collects no login data, no cookies of yours and no personal data of any kind. It is an independent tool and is not affiliated with or endorsed by Amazon. Ranks and prices change quickly and vary by location; treat each row as a snapshot at scrapedAt.

More resources

Works well with

Other actors from Detroit Web Agent - Open Data that pair with this one:

Changelog

  • 2026-10-13: First version (private): 5 list types, 21 countries, subcategory depth, filters, product details, monitor mode.

Support

A list that should have returned rows, a field that parsed wrongly, or a field you need added? Open an issue on this actor's Issues tab with the run URL and what you expected. The run URL lets us see the exact input and the OUTPUT record.

Need more than the data?

This actor is built by Detroit Web Agent, a small Detroit studio that builds websites, lead pages and simple data tools for small businesses. If you want these results turned into a working website, a landing page or a dashboard, or you need a field this actor does not cover yet, open an issue on the Issues tab or visit detroitwebagent.com.


Built and maintained by Detroit Web Agent - Open Data (Detroit, Michigan). Questions, bugs or a field you need: open an issue on this Actor's Issues tab and we will reply there.

Use it from AI assistants (MCP)

Amazon Best Sellers Scraper works as a tool for AI assistants through the official Apify MCP server. Add this server URL to any MCP client (Claude Desktop, Claude Code, Cursor, ChatGPT connectors, VS Code):

https://mcp.apify.com/?actors=transparent_meteorite/amazon-bestsellers
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?actors=transparent_meteorite/amazon-bestsellers",
"headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
}
}
}