KDP Market Intel Scraper – Kindle Category Rank & Pricing
Pricing
from $5.00 / 1,000 category result fulls
KDP Market Intel Scraper – Kindle Category Rank & Pricing
Track Amazon KDP category best-seller rank within Kindle Store subcategories, Kindle Unlimited enrollment, and pricing bands — the fields general Amazon scrapers miss. Built for self-publishers and KDP authors monitoring their own catalog and competitor pricing.
Pricing
from $5.00 / 1,000 category result fulls
Rating
0.0
(0)
Developer
joseph fadero
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
KDP Market Intel Scraper – Kindle Category Rank, KU Status & Pricing
Track what general Amazon scrapers miss: Kindle Store category best-seller rank, Kindle Unlimited enrollment, and KDP-relevant pricing bands.
Amazon KDP has no dedicated Apify actor. General Amazon product scrapers (price, rating, review count) don't surface the fields self-publishers actually need: where a title ranks within its Kindle Store subcategory, whether it's enrolled in Kindle Unlimited, and keyword-to-listing competitiveness.
Who it's for
- Self-publishers tracking where their own titles rank across categories
- Publishers scouting pricing gaps in a target category before launch
- KDP authors monitoring competitor pricing and KU status
Modes
| Mode | Input | What you get |
|---|---|---|
category_snapshot | categoryUrls | Full ranked list (up to 100) for a Kindle bestseller category page — rank, title, author, price, KU flag |
keyword_search | keywords | Kindle Store search results for a keyword, in relevance order |
asin_lookup | asins | Full single-title detail: category breadcrumb, subcategory rank, publication date, print length |
Field availability by mode
Amazon splits this data across three different page types, so not every field is populated by every mode. This is a deliberate trade-off, not a bug — visiting a full product page per title would multiply run time and cost 10-20x for a 100-item category scan.
| Field | category_snapshot | keyword_search | asin_lookup |
|---|---|---|---|
categoryRank | ✅ Amazon's rank badge | ⚠️ search-result position (not an Amazon BSR) | ✅ subcategory BSR |
categoryPath | ✅ page breadcrumb (same for all items) | ❌ not shown on search cards | ✅ full breadcrumb |
estimatedMonthlySalesRank | ❌ | ❌ | ✅ store-wide Kindle BSR number |
publicationDate, pageCountOrLength | ❌ | ❌ | ✅ |
price, reviewCount, reviewAverage, isKindleUnlimited | ✅ | ✅ | ✅ |
estimatedMonthlySalesRank is Amazon's own store-wide "Bestsellers Rank" number pulled from the detail page — not a modeled sales-volume estimate. No sales curve is fabricated; the field name mirrors the PRD spec but the value is the real BSR figure Amazon publishes.
Input schema
{"mode": "category_snapshot","categoryUrls": ["https://www.amazon.co.uk/gp/bestsellers/digital-text/..."],"marketplace": "amazon.co.uk","maxResultsPerCategory": 100}
See .actor/input_schema.json for the full field list (all three modes share one input object; only the mode-relevant array is required).
Output schema
{"asin": "string","title": "string | null","author": "string | null","categoryPath": ["Kindle Store", "..."],"categoryRank": "number | null","price": "number | null","currency": "string","isKindleUnlimited": "boolean","estimatedMonthlySalesRank": "number | null","reviewCount": "number | null","reviewAverage": "number | null","publicationDate": "string | null","pageCountOrLength": "string | null","scrapedAt": "ISO timestamp","status": "success | failed","errorMessage": "string | null"}
Pricing
| Event | Price |
|---|---|
| Run started | £0.05 |
| Item scraped | £0.004 |
| Item failed | £0.001 |
Matches the portfolio's Section 1 (run-started) convention from Actor 12 (Amazon Seller Intelligence).
Setup note
No API keys required. Residential proxy strongly recommended — Amazon's bot detection is aggressive on datacenter IPs, same as Actor 12.
Before production use: the bestseller-grid and search-result selectors in src/scraper/kdpCategoryScraper.ts and src/scraper/kdpSearchScraper.ts were written against Amazon's documented DOM patterns but not verified against live pages from this environment (no network access at build time). Per the build PRD's Definition of Done, run against 3 real KDP categories and manually verify rank/price/KU accuracy for ~20 known titles before relying on this in production — tune the selector fallback lists in those two files if Amazon's markup has drifted.
Related actor
../Amazon%20Seller%20Intelligence/amazon-seller-intelligence — this actor extends its Playwright scraping core (currency resolution, price parsing, bot-detection handling) for Kindle-specific fields.
n8n integration
- Workflow A (trigger): scheduled daily/weekly run against Northbridge Press's own category list, writing to a tracking sheet.
- Workflow B (processing): alert (Slack/email) when a tracked title drops out of the top 100 in its category, or a competitor undercuts price by >15%.