Amazon Books Bestseller Charts Scraper
Pricing
from $1.60 / 1,000 record scrapeds
Amazon Books Bestseller Charts Scraper
Scrape Amazon book bestseller charts including Best Sellers, Hot New Releases, Movers and Shakers, and Most Wished For. Collects rank, title, author, ASIN, format, price, rating, and review count across hundreds of book sub-categories with timestamped snapshots for trend analysis.
Pricing
from $1.60 / 1,000 record scrapeds
Rating
5.0
(1)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
65
Total users
17
Monthly active users
3 days ago
Last modified
Categories
Features
Share
Scrape Amazon book bestseller charts including Best Sellers, Hot New Releases, Movers and Shakers, and Most Wished For. Collects rank, title, author, ASIN, format, price, star rating, and review count across book sub-categories with timestamped snapshots for trend analysis.
What it does
For each chart type, category and Amazon site you choose, the actor returns the chart entries with rank, title, author, ASIN, price, rating, and format, each saved as a dataset record with a scraped_at timestamp.
- Eight Amazon sites in one run: amazon.com, .co.uk, .de, .fr, .it, .es, .ca and .com.au, mixed freely.
- Subcategories: switch on
includeSubcategoriesto also get the charts of every subcategory, up to three levels down. - Paste chart URLs: give
categoryUrlsinstead of picking charts and nodes by hand. - Numeric prices with a currency code, not price strings that need cleaning.
- Per-category limit with
maxItemsPerCategory, so a wide subcategory sweep returns the top few of each.
This makes it ideal for building rank-over-time datasets — schedule it hourly to track how books move up and down the charts.
Input
| Field | Type | Default | Description |
|---|---|---|---|
chartTypes | array (select) | ["best_sellers"] | Chart types to scrape: best_sellers, hot_new_releases, movers_and_shakers, most_wished_for |
categoryNodes | array | [""] (root Books) | Numeric Amazon category node IDs. Leave empty for root Books. Examples: "3" = Business & Money, "4" = Children's, "5" = Computers |
marketplaces | array (select) | ["amazon.com"] | Amazon sites to read: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.ca, amazon.com.au |
categoryUrls | array | none | Amazon Books chart page URLs from any listed site. When set, chartTypes, categoryNodes and marketplaces are ignored |
includeSubcategories | boolean | false | Also scrape each category's subcategories |
subcategoryDepth | integer | 1 | Subcategory levels to follow, 1 to 3 (with includeSubcategories) |
maxItemsPerCategory | integer | none | Stop after this many records from each category chart |
maxItems | integer | 10 | Maximum number of records per run. Set it high when you include subcategories: charts are read in order, parent first |
Category node IDs differ per Amazon site; copy them from the chart URL on that site.
Example input
{"chartTypes": ["best_sellers", "hot_new_releases"],"categoryNodes": ["3", "6"],"maxItems": 200}
Top 10 of every subcategory under Business & Money on amazon.com:
{"chartTypes": ["best_sellers"],"categoryNodes": ["3"],"includeSubcategories": true,"maxItemsPerCategory": 10,"maxItems": 1000}
Charts from different sites in one run, by URL:
{"categoryUrls": ["https://www.amazon.com/gp/bestsellers/books/3","https://www.amazon.co.uk/gp/bestsellers/books/68","https://www.amazon.de/gp/new-releases/books/187254"],"maxItems": 300}
Output
Each record contains:
| Field | Type | Description |
|---|---|---|
chart_type | string | Chart type: best_sellers, hot_new_releases, etc. |
marketplace | string | Amazon site the record came from, e.g. amazon.com, amazon.de |
category | string | Category name, e.g. Business & Money |
category_node | string | Amazon category node ID |
category_url | string | URL of the bestseller chart page this record was scraped from |
rank | integer | Current rank on the chart |
title | string | Book title |
author | string | Author name |
asin | string | Amazon Standard Identification Number |
format | string | Format: Paperback, Kindle, Hardcover, Audible |
price | number | Current price as a number, in the currency given in currency |
list_price | number | Original list price (not shown on chart pages, always null) |
currency | string | ISO currency code the price was shown in (e.g. USD, GBP, EUR), null when no price was shown |
star_rating | number | Average star rating (1.0–5.0) |
review_count | integer | Total number of customer reviews |
cover_url | string | Product cover image URL |
product_url | string | Amazon product page URL |
scraped_at | string | ISO-8601 timestamp of when this record was delivered to you |
Sample output record
{"chart_type": "best_sellers","marketplace": "amazon.com","category": "Business & Money","category_node": "3","category_url": "https://www.amazon.com/best-sellers-books-Amazon/zgbs/books/3","rank": 5,"title": "Unreasonable Hospitality","author": "Will Guidara","asin": "0593418573","format": "Hardcover","price": 16.00,"currency": "USD","star_rating": 4.8,"review_count": 6638,"cover_url": "https://images-na.ssl-images-amazon.com/...","product_url": "https://www.amazon.com/dp/0593418573","scraped_at": "2026-05-23T04:19:54.245Z"}
Common category node IDs
| Node ID | Category |
|---|---|
| (empty) | All Books (root) |
| 1 | Arts & Photography |
| 2 | Biographies & Memoirs |
| 3 | Business & Money |
| 4 | Children's Books |
| 5 | Computers & Technology |
| 6 | Cookbooks, Food & Wine |
| 12290 | Christian Books & Bibles |
| 4366 | Comics & Graphic Novels |
Use cases
- KDP analytics: Track how your own book climbs (or falls) across categories
- Publisher research: Monitor competitor titles and pricing
- Trend datasets: Build hourly rank-history time series for ML/analytics
- Retail intelligence: Price monitoring and format mix analysis
Scheduling
This actor is designed for recurring use. Schedule it hourly via Apify's scheduler to capture rank snapshots over time and build a rank-over-time dataset.
Notes
- Amazon's bestseller charts update hourly
- Each category chart returns the full top 100 (ranks 1–100, no gaps) when Max Items allows it. Subcategories and extra sites add more charts.
- Amazon prices by visitor location, so each Amazon site is read as a local shopper sees it: amazon.de
prices are the ones a shopper in Germany sees, and amazon.com.au prices are in AUD.
currencystates what the page actually showed - Gets past Amazon's bot detection, run after run
chartTypesandcategoryNodesare validated up front — an unrecognized chart type or a non-numeric category node fails the run immediately with the invalid value named, instead of quietly returning no data