Amazon Bestsellers Scraper

Extract ranked Amazon Best Sellers, New Releases, Most Wished, and Most Gifted product lists.

Data fields

FieldTypeDescription
statusstringValue exported as status.
listTypestring | nullValue exported as listType.
marketplacestring | nullValue exported as marketplace.
categorystring | nullValue exported as category.
categoryUrlstring | nullValue exported as categoryUrl.
categoryPatharrayValue exported as categoryPath.
positioninteger | nullValue exported as position.
asinstring | nullValue exported as asin.

Input preview

startUrlsStart URLs *
maxItemsMaximum product rows
subcategoryDepthSubcategory depth
includeNextPageInclude next page
proxyCountryCodeProxy country code

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Extract ranked product rows from public Amazon Best Sellers, New Releases, Most Wished For, and Most Gifted pages. Movers & Shakers URLs are reported as unsupported because Amazon no longer exposes public product-card markup on that route to anonymous HTTP clients. Export ASINs, ranks, titles, category provenance, prices, ratings, review counts, and product URLs to CSV, JSON, Excel, API, or MCP workflows.

At a glance

  • Primary job: Monitor ranked Amazon category lists without building your own parser.
  • Input: Public Amazon list/category URLs such as https://www.amazon.com/Best-Sellers/zgbs.
  • Output: One row per ranked product plus explicit diagnostic rows for blocked, invalid, or empty inputs.
  • Best for: Ecommerce research, rank monitoring, product discovery, merchandising checks, and BI enrichment.

Connect product discovery to a broader e-commerce workflow

Use Amazon Bestsellers Scraper to spot category momentum, then combine it with Amazon Products & Search Scraper for product details, Ecommerce Product Page Scraper for price and availability monitoring, and review or ads scrapers when you need customer and creative evidence.

What data can you extract?

Field Description
status OK for product rows or ERROR for diagnostic rows.
listType Best Sellers, New Releases, Most Wished For, Most Gifted, or movers-and-shakers on unsupported diagnostic rows.
marketplace Amazon marketplace hostname such as www.amazon.com.
category Category/list title visible on the page.
categoryUrl Category/list URL used for the row.
categoryPath Visible breadcrumb/subcategory path when supplied by Amazon.
position Rank within the category/list page.
asin Amazon product ASIN.
title Product title from the list card.
productUrl Public Amazon product URL.
imageUrl Product image URL.
price Parsed displayed price when visible.
priceText Raw displayed price text.
currency Currency code derived from displayed price or marketplace.
rating Star rating when visible.
reviewCount Review count when visible.
numberOfOffers Offer count when visible.
availability Availability/status text when visible.
inputUrl Original user-provided URL.
url Product URL for product rows or source URL for diagnostic rows.
scrapedAt ISO timestamp when the row was saved.
errorCode Diagnostic code for error rows.
error Short error label.
errorDescription Human-readable diagnostic description.

Example input

{
  "startUrls": [{ "url": "https://www.amazon.com/Best-Sellers/zgbs" }],
  "maxItems": 10,
  "subcategoryDepth": 0,
  "includeNextPage": false,
  "proxyCountryCode": "US"
}

Example output

{
  "status": "OK",
  "listType": "best-sellers",
  "marketplace": "www.amazon.com",
  "category": "Amazon Best Sellers",
  "categoryUrl": "https://www.amazon.com/Best-Sellers/zgbs",
  "categoryPath": ["Any Department"],
  "position": 1,
  "asin": "B0EXAMPLE1",
  "title": "Example ranked product",
  "productUrl": "https://www.amazon.com/dp/B0EXAMPLE1",
  "imageUrl": "https://m.media-amazon.com/images/I/example.jpg",
  "price": 19.99,
  "priceText": "$19.99",
  "currency": "USD",
  "rating": 4.7,
  "reviewCount": 1234,
  "numberOfOffers": null,
  "availability": null,
  "inputUrl": "https://www.amazon.com/Best-Sellers/zgbs",
  "url": "https://www.amazon.com/dp/B0EXAMPLE1",
  "scrapedAt": "2026-08-02T16:45:00.000Z",
  "errorCode": null,
  "error": null,
  "errorDescription": null
}

Who is it for

  • Ecommerce sellers checking which products lead public Amazon category rankings.
  • Retail analysts and brand teams monitoring rank, price, rating, and review-count movement.
  • Affiliate publishers finding popular products for buying guides and category pages.
  • Automation teams feeding bestseller snapshots into dashboards, alerts, or AI workflows.

Tips and limits

  • Start with maxItems: 10-30 to confirm the marketplace and category return public rows.
  • Amazon page availability, prices, currency, and visible card fields can vary by marketplace and region.
  • Diagnostic rows are saved for invalid URLs, Robot Check/Sorry responses, request failures, and pages where no product cards are detected.
  • Product detail pages, seller profiles, reviews, carts, orders, and account-specific recommendations are outside this Actor's scope.

API usage

Node.js:

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("fetch_cat/amazon-bestsellers-scraper").call({
  startUrls: [{ url: "https://www.amazon.com/Best-Sellers/zgbs" }],
  maxItems: 10
});
console.log(run.defaultDatasetId);

Python:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("fetch_cat/amazon-bestsellers-scraper").call(run_input={
    "startUrls": [{ "url": "https://www.amazon.com/Best-Sellers/zgbs" }],
    "maxItems": 10,
})
print(run["defaultDatasetId"])

cURL:

curl "https://api.apify.com/v2/acts/fetch_cat~amazon-bestsellers-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"startUrls":[{"url":"https://www.amazon.com/Best-Sellers/zgbs"}],"maxItems":10}'

MCP and AI agents

Use this Actor from MCP-compatible tools through the official Apify MCP Server.

claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/amazon-bestsellers-scraper"

Example MCP server configuration:

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Example prompts:

  • "Run fetch_cat/amazon-bestsellers-scraper for the Amazon US Best Sellers root with maxItems 20 and summarize the top categories."
  • "Compare today's top 10 product ASINs from this bestseller dataset with yesterday's dataset and highlight rank changes."

Support

Questions, bugs, or feature requests? Open an issue on the Actor page in Apify Console and include your run ID and input.

Common questions

Questions and answers reused from the canonical actor README.

Can this Actor scrape Amazon product detail pages?

No. It focuses on ranked public list pages. Use a product-detail Actor for deeper product attributes.

Why are price, rating, or review fields sometimes empty?

Amazon does not show every commerce field on every list card. The Actor preserves nulls instead of inventing values.

Does it return diagnostic rows?

Yes. Invalid URLs, Robot Check/Sorry pages, failed requests, and parse-empty pages are saved with status: "ERROR" and an error code.

Can I schedule rank monitoring?

Yes. Schedule the same category URL daily or hourly and compare ASIN + position changes across datasets.