Amazon Bestsellers Scraper avatar

Amazon Bestsellers Scraper

Pricing

from $5.00 / 1,000 product scrapeds

Go to Apify Store
Amazon Bestsellers Scraper

Amazon Bestsellers Scraper

Scrape Amazon Best Sellers, New Releases, Movers & Shakers, Most Wished For and Gift Ideas rankings by category across 10 marketplaces. Returns ranked products with rank, ASIN, title, price, rating, review count, Prime status and image, with no login.

Pricing

from $5.00 / 1,000 product scrapeds

Rating

5.0

(1)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

2

Bookmarked

465

Total users

132

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

What is Amazon Bestsellers Scraper?

Amazon Bestsellers Scraper is an Apify Actor for analysts, merchandisers, builders, and AI agents that need Amazon chart data from Best Sellers, New Releases, Movers & Shakers, Most Wished For, and Gift Ideas pages across 21 marketplaces. It accepts either explicit chart URLs or chart settings, and it returns one record per ranked product. Every run after the first also shows how each product moved since your previous run of the same chart (new, up, down or same), and lists products that dropped out. Each record includes rank, ASIN, title, price, priceString, currency, rating, reviews count, Prime status, badges, image URL, product URL, category context, chart type, marketplace, and scraped timestamp. The output is a flat dataset built for spreadsheets, dashboards, and Apify MCP workflows.

Best fit and connected workflows

This Actor fits workflows that begin with an Amazon ranking chart and end with structured product records. It routes well for:

  • chart URL to dataset runs for a specific Amazon category page
  • chart type plus marketplace runs when you want the Actor to build the chart URL
  • category-specific ranking review with rank, price, and review signals
  • immediate subcategory expansion when you want a broader view of the category tree
  • AI agent calls through Apify MCP where a concise, flat output is helpful

Because the output is one record per ranked product, it can feed follow-up steps such as enrichment, comparison, reporting, or manual review without extra reshaping.

Practical scenario

A category manager is reviewing the US Electronics Best Sellers chart before planning a weekly assortment check. They start with a chart URL and ask for the top 20 items. The dataset returns rank, ASIN, title, price, rating, reviews count, Prime status, image URL, product URL, chart type, marketplace, and scraped timestamp. The manager uses rank, price, and reviews count to shortlist products for a deeper internal review, then opens the product URLs for confirmation.

Input

Use HTTPS chart URLs on the supported Amazon marketplaces, without URL credentials or a custom port, or use chart settings. Invalid explicit URLs are rejected rather than replaced with a default chart. When you provide startUrls, the chart type and marketplace are detected from each URL.

Supported chart types are bestsellers, new-releases, most-wished-for, and gift-ideas (Amazon Most Gifted). Movers & Shakers is not a supported chart type; do not use its URLs with this Actor. For a category-specific ranking, supply a category chart URL or categorySlug. Top-level chart pages may return a cross-department carousel sample with repeated positions instead of one category ranking.

FieldTypePurpose
startUrlsarrayAmazon ranking-chart URLs for Best Sellers, New Releases, Most Wished For, or Gift Ideas pages
chartTypestringChart to scrape when you are not providing explicit URLs
marketplacestringMarketplace country when using chart settings instead of URLs
categorySlugstringOptional category name such as electronics or toys and games (translated where Amazon uses a different code)
trackChangesbooleanCompare with your previous run of the same chart (default on, free)
maxItemsPerCategoryintegerMaximum ranked products to return per chart
includeSubcategoriesbooleanAlso scrape immediate subcategory charts linked from the start page
proxyConfigurationobjectProxy settings, with Apify residential proxies as the default

Valid focused input example

{
"chartType": "bestsellers",
"marketplace": "US",
"categorySlug": "electronics",
"maxItemsPerCategory": 20,
"includeSubcategories": false
}

Output

The Actor returns one record per ranked product. rank represents position in the selected chart; when a card has no rank badge, it falls back to extraction order. It is not a separately fetched product-detail Best Sellers Rank (BSR). Use categoryUrl and chartType to interpret the ranking context.

FieldTypePurpose
rankintegerPosition in the chart
asinstringAmazon Standard Identification Number
titlestringProduct title shown on the chart
brandstring or nullBrand when the chart card shows one (usually null; chart cards rarely include it)
previousRankinteger or nullRank in your previous run of the same chart
rankChangeinteger or nullPlaces climbed since the previous run (positive = up)
changeStatusstring or nullnew, up, down, same, or baseline on a first run
previousScrapedAtstring or nullWhen the previous snapshot was taken
salesRankChangePctinteger or nullMovers & Shakers only: percentage sales-rank jump
salesRankPreviousinteger or nullMovers & Shakers only: sales rank 24 hours earlier
pricenumber or nullPrice as a number
priceStringstring or nullPrice exactly as displayed
currencystring or nullMarketplace currency code
ratingnumber or nullAverage star rating
reviewsCountinteger or nullNumber of ratings
isPrimebooleanWhether the Prime badge is shown
badgesstring[]Badges shown on the card
imageUrlstringProduct thumbnail URL
productUrlstringProduct detail page URL
categoryNamestring or nullHuman-readable category name
categoryUrlstringChart page URL
chartTypestringChart source type
marketplacestringMarketplace country code
scrapedAtstringISO 8601 scrape timestamp

Illustrative output record

{
"rank": 1,
"asin": "B0CHX1W1XY",
"title": "Apple AirPods Pro (2nd Generation) Wireless Earbuds",
"brand": "Apple",
"price": 189.99,
"priceString": "$189.99",
"currency": "USD",
"rating": 4.7,
"reviewsCount": 24531,
"isPrime": true,
"badges": ["Best Seller"],
"imageUrl": "https://m.media-amazon.com/images/I/61SUj2aKoEL._AC_UL300_.jpg",
"productUrl": "https://www.amazon.com/dp/B0CHX1W1XY",
"categoryName": "Electronics",
"categoryUrl": "https://www.amazon.com/gp/bestsellers/electronics",
"chartType": "bestsellers",
"marketplace": "US",
"scrapedAt": "2026-06-01T12:00:00Z"
}

How it works

This Actor uses a Playwright browser workflow and Apify residential proxies that are geo-matched to the selected marketplace. It supports 21 marketplaces: US, UK, DE, FR, IT, ES, CA, JP, IN, AU, MX, BR, NL, SE, PL, TR, AE, SA, SG, EG, and BE.

Rank change. Each run saves a small snapshot of every chart it reads (in a store called amazon-bestsellers-history in your account) and compares the next run with it. Records carry previousRank, rankChange (positive means the product climbed), changeStatus and previousScrapedAt. Products that were in the previous snapshot but are gone now are listed in the DROPPED_OUT record of the run's key-value store. This costs nothing extra; turn it off with trackChanges.

Movers & Shakers, Most Wished For and Gift Ideas. Amazon decides what these charts show. When Amazon shows a chart as empty ("there are no ... available in this category"), the run ends with zero products, no charge, and says so in its status message. Best Sellers and New Releases are the dependable charts.

If you pass chart URLs, the Actor reads the chart type and marketplace from each URL. If you use chart settings, it builds the chart URL from the selected chart type, marketplace, and optional category slug. It can also crawl one level of immediate subcategories from the left-hand navigation when that option is enabled. The dataset is shaped for agent consumption with flat fields and one record per ranked product.

Evergreen pricing

This Actor uses Pay per event pricing plus Apify platform usage.

  • Primary event: Product scraped
  • Each returned ranked product is charged as one product event
  • Actor start is charged separately, with the number of start events depending on Actor memory
  • Current pricing details are available in the live Pricing tab on the Apify Store page

A simple event-count example in words: if a run returns one hundred ranked products, the execution includes one hundred product events, plus the Actor start event.

Use with AI agents (MCP)

This Actor is usable through Apify MCP as a structured Amazon chart-ranking tool. The exact Actor identity is khadinakbar/amazon-bestsellers-scraper.

Tool description: fetch ranked Amazon chart products from supported marketplaces and return structured records with rank, ASIN, title, pricing, ratings, Prime status, badges, image, and chart context.

Please scrape the US Amazon Electronics Best Sellers chart and return the top 20 ranked products with rank, ASIN, title, price, rating, review count, Prime status, image URL, product URL, category name, chart type, marketplace, and scraped timestamp.

Output interpretation:

  • rank shows chart position, with 1 as the top item
  • asin and productUrl identify the product for follow-up enrichment
  • price, rating, and reviewsCount are useful for comparison
  • categoryUrl, chartType, and marketplace provide provenance for the chart source
  • scrapedAt shows when the record was captured

Scope, pagination, and cost guidance:

  • Use chart URLs when you want exact chart provenance
  • Use chart settings when you want the Actor to construct the chart page
  • Set maxItemsPerCategory to the number of ranked items you need, up to the chart maximum
  • Enable subcategory crawling when you want immediate child charts as well
  • Each returned product contributes to Pay per event usage, so lower maxItemsPerCategory when you only need the top of a chart

Apify API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/amazon-bestsellers-scraper').call({
chartType: 'bestsellers',
marketplace: 'US',
categorySlug: 'electronics',
maxItemsPerCategory: 10,
includeSubcategories: false,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Best results and outcome guidance

Choose the input style that matches your workflow:

  • use startUrls when you already have a specific Amazon chart page
  • use chartType and marketplace when you want the Actor to build the chart URL
  • add categorySlug for a category-specific chart
  • reduce maxItemsPerCategory when you only need the top part of a chart
  • enable includeSubcategories when you want a broader category tree view
  • keep the default residential proxy configuration for marketplace-matched requests

Continue the workflow

Design note

I found that the live contract returns one record per ranked product and that the dataset is centered on flat fields such as rank, asin, title, productUrl, categoryUrl, chartType, marketplace, and scrapedAt. That makes the Actor straightforward to use in MCP and in downstream tables.

FAQ

When should I use a chart URL instead of chart settings?

Use a chart URL when you already know the exact Amazon page you want. Use chart settings when you want the Actor to construct the chart page from a chart type, marketplace, and optional category slug.

How does this Actor help with marketplace-specific research?

You can select one of 21 marketplaces or pass a marketplace-specific chart URL. The output includes the marketplace code and chart URL, which makes it straightforward to compare chart data across countries.

Can I use this Actor for one category or for multiple categories?

You can run it against one chart, multiple chart URLs, or a chart plus immediate subcategories. The output stays in the same one-record-per-product format.

What does the productUrl field give me?

It gives you the marketplace product detail page URL for each ranked item, which is useful for enrichment, review, or manual inspection.

How do I see what moved up or down?

Run the same chart twice. The second run (and every run after) fills changeStatus and rankChange for each product and writes the DROPPED_OUT record. For sales-rank jumps in the last 24 hours, use the Movers & Shakers chart when Amazon is showing it.

Why did my category return nothing?

Category names differ slightly between countries (for example Electronics on amazon.de is a different code, which this Actor translates). If a category still returns nothing, the run summary lists the categories that marketplace offers, and nothing is charged.

Is this Actor usable through MCP?

Yes. It is an Apify Actor that is MCP-ready and designed for AI-agent workflows through Apify MCP.

Responsible use

Use this Actor in line with applicable laws, Amazon's terms, and your own data handling policies. Keep request volumes aligned with the chart data you need, and review the live Pricing tab before running workloads at scale.