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-30to 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.