Amazon KDP Niche Analyzer avatar

Amazon KDP Niche Analyzer

Pricing

from $3.00 / 1,000 book analyzeds

Go to Apify Store
Amazon KDP Niche Analyzer

Amazon KDP Niche Analyzer

Analyze Amazon KDP niches by keyword: competing Kindle/paperback books with BSR, price, ratings, reviews, plus a transparent 0-100 opportunity score. 10 marketplaces. PPE. MCP-ready.

Pricing

from $3.00 / 1,000 book analyzeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

4

Monthly active users

11 days ago

Last modified

Share

What does Amazon KDP Niche Analyzer do?

Amazon KDP Niche Analyzer turns a book niche keyword into a competition snapshot. For each keyword it searches the Amazon Kindle Store (or the Books department for paperbacks), returns one dataset row per competing book — title, author, price, star rating, ratings count, organic rank, Best Sellers Rank (BSR), publisher, publish date, page count, and an independently-published flag — and then adds one niche report with a transparent 0–100 opportunity score.

It is built for self-publishers, KDP researchers, low-content book creators, and AI agents that need a structured "is this niche worth writing for?" answer in one call. It runs on Apify, so you get API access, scheduling, integrations, proxy rotation, and monitoring out of the box.

Data you receiveWhere it comes from
Title, author, cover, organic rank, sponsored flagAmazon Kindle Store / Books search results
Buy price, Kindle Unlimited flag, rating, ratings countSearch card, confirmed on the book page
Best Sellers Rank (store + subcategories), free-rank flagBook detail page (fetchDetails: true)
Publisher, publish date, page count, independently publishedBook detail page product details
Median BSR, median price, median ratings, title densityNiche report (computed)
Demand, competition, and opportunity scores + labelNiche report, formula kdp-niche-v1

Why use Amazon KDP Niche Analyzer?

  • Validate a niche before writing. See how strong the top competing books are (median BSR, ratings depth) in one run.
  • Compare niches side by side. Pass several keywords and sort the niche reports by opportunityScore.
  • Spot self-publishing room. independentShare and kindleUnlimitedShare show how many indie and KU titles already rank.
  • Feed AI agents and spreadsheets. Every row is flat JSON with stable field names, ready for Google Sheets, Airtable, or an LLM prompt.

Choose it when you want keyword-level KDP competition data with a reproducible score. Pair it with the Amazon Reviews Scraper when you then want to analyze reader complaints for the top books it surfaces, or start with the Amazon Product Intelligence Actor when you need general Amazon product data outside the book store.

How to use Amazon KDP Niche Analyzer

  1. Open the Actor and go to the Input tab.
  2. Enter one or more niche keywords, for example cozy mystery or keto cookbook.
  3. Pick the marketplace (US, UK, DE, CA, ES, IT, JP, AU, IN) and department (kindle or paperback).
  4. Set Max books per keyword (5–10 is a good start) and keep Fetch detail pages on for BSR.
  5. Click Start, then open the Books and Niche reports views in the Output tab.

Input example

{
"keywords": ["cozy mystery", "keto cookbook"],
"marketplace": "US",
"department": "kindle",
"maxBooksPerKeyword": 10,
"fetchDetails": true,
"includeNicheSummary": true
}
FieldTypeDefaultMeaning
keywordsstring[]—Niche keywords, one Amazon search each
keywordstring—Single-keyword alternative for API/agent callers
marketplaceenumUSUS, UK, DE, CA, ES, IT, JP, AU, IN
departmentenumkindlekindle (Kindle Store) or paperback (Books)
maxBooksPerKeywordinteger101–30 competing books per keyword (organic first)
fetchDetailsbooleantrueOpen each book page for BSR, publisher, date, pages
includeNicheSummarybooleantrueAdd one niche-report row per keyword
maxKeywordsinteger5Safety cap on keywords per run (1–20)
proxyConfigurationobjectApify ProxyResidential in the marketplace country is tried first

Output

Each run writes two record types to one dataset. You can download the dataset as JSON, CSV, Excel, HTML, or XML.

Book row

{
"recordType": "book",
"keyword": "keto cookbook",
"marketplace": "US",
"department": "kindle",
"asin": "B0EXAMPLE1",
"title": "Simply Keto: A Practical Approach to Health",
"author": "Example Author",
"url": "https://www.amazon.com/dp/B0EXAMPLE1",
"organicRank": 2,
"isSponsored": false,
"price": 12.99,
"currency": "USD",
"kindleUnlimited": true,
"rating": 4.6,
"reviewCount": 10305,
"detailScraped": true,
"publisher": "Example Publishing",
"independentlyPublished": false,
"publishDate": "October 3, 2017",
"pageCount": 320,
"bestSellersRank": [
{ "rank": 62505, "category": "Kindle Store", "free": false },
{ "rank": 88, "category": "Ketogenic Diets", "free": false }
],
"bsrOverall": 62505,
"bsrCategory": "Kindle Store",
"bsrIsFree": false,
"scrapedAt": "2026-01-15T10:00:00.000Z"
}

Niche report row

{
"recordType": "niche-report",
"keyword": "keto cookbook",
"marketplace": "US",
"department": "kindle",
"bookCount": 10,
"medianBsr": 56500,
"bsrBasis": "paid",
"medianPrice": 11.99,
"medianReviews": 8700,
"titleDensity": 1,
"competitionScore": 88,
"demandScore": 60,
"opportunityScore": 40,
"opportunityLabel": "medium",
"independentShare": 0.1,
"kindleUnlimitedShare": 0.75,
"formulaVersion": "kdp-niche-v1",
"disclaimer": "Heuristic niche score from public Amazon listing data. Not a sales, royalty, or earnings estimate."
}

How the niche score works (kdp-niche-v1)

ScoreInputsDirection
demandScore (0–100)Median paid Best Sellers Rank of the analyzed booksLower BSR → higher demand
competitionScore (0–100)Weighted 0.5 median ratings depth, 0.3 title density, 0.2 search volumeHigher → harder to rank
opportunityScore (0–100)0.55 × demand + 0.45 × (100 − competition)Higher → better opening
opportunityLabel≥65 opportunity, 40–64 medium, <40 saturated—

Free Kindle Store ranks (free or promo books) are flagged with bsrIsFree and left out of the demand median whenever paid ranks exist (bsrBasis).

Run outcome records

Every run also writes OUTPUT and RUN_SUMMARY to the key-value store with an outcome field: COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT, UPSTREAM_FAILED, or CONFIG_ERROR, plus per-keyword search status and chargedEventCounts.

Workflow story: from keyword list to a shortlist of niches

A cozy-fiction author starts with ten candidate keywords, runs them through the Actor on the US Kindle Store with maxBooksPerKeyword: 10, and then sorts the niche reports by opportunityScore. The three best niches get a second run on the UK marketplace to compare. Next, the author passes the top ASINs to a reviews scraper to read what readers wish those books did better, and schedules a monthly re-run to watch BSR movement.

Pricing

This Actor uses Pay per event (PPE) plus Apify platform usage, so you pay for results and the compute your run uses. Check the live Pricing tab for the current numbers.

EventPriceWhen it is charged
apify-actor-start$0.00005Once per run
book-analyzed$0.003Once per competing book saved
niche-report$0.02Once per keyword that produced at least one book

Example: one keyword with 10 books and a niche report costs about 10 × $0.003 + $0.02 = $0.05 in events, plus platform usage. Keywords with no matching books create no book or report charges.

Use with AI agents (MCP)

The Actor is available as an MCP tool (apify--amazon-kdp-niche-analyzer) through the Apify MCP server, so Claude, ChatGPT, and other AI agents can call it directly.

Analyze the KDP niches "cozy mystery" and "dragon romance" on the US Kindle Store with 10 books each, then rank them by opportunityScore and explain the demand and competition behind each score.

Agents should read OUTPUT.outcome first: COMPLETE and PARTIAL include usable rows, VALID_EMPTY means Amazon showed no matching books, and UPSTREAM_FAILED means Amazon pages were unavailable for that run. The dataset holds the per-book evidence behind every score.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~amazon-kdp-niche-analyzer/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords":["cozy mystery"],"marketplace":"US","department":"kindle","maxBooksPerKeyword":5}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/amazon-kdp-niche-analyzer').call({
keywords: ['cozy mystery', 'keto cookbook'],
marketplace: 'US',
maxBooksPerKeyword: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((row) => row.recordType === 'niche-report'));

Best results

  • Use specific buyer phrases (cozy mystery with cats) rather than one broad word for a sharper competitor set.
  • Keep fetchDetails on for niche decisions: the demand score is anchored on Best Sellers Rank from the book page.
  • Start with 5–10 books per keyword; the top of the search results carries most of the signal.
  • Use paperback for low-content and print niches (journals, planners, coloring books).
  • Residential proxies in the marketplace country give the most consistent Amazon pages; the default proxy setting tries them first.
  • Rows that could only use search-card data are marked detailScraped: false, and the run outcome becomes PARTIAL so you can re-run just those keywords.

Builder's note

I built this because every KDP niche tool I tried hid its formula. My goal was a score you can recompute yourself from the rows in the dataset: median paid BSR for demand, ratings depth and title density for competition, and a simple weighted blend for opportunity. In my testing, free-promo books with tiny free-store ranks distorted demand badly, so the Actor separates free ranks from paid ranks and tells you which basis it used.

This Actor collects publicly visible Amazon listing data. Amazon Kindle Direct Publishing (KDP) and Amazon are trademarks of Amazon.com, Inc.; this Actor is independent and is not affiliated with, endorsed by, or sponsored by Amazon. The scores are heuristics from public listing signals and are not sales, royalty, or earnings estimates. Make sure your use complies with applicable laws and the site terms, and use the data for research and publishing decisions.

FAQ

Which marketplaces are supported? US, UK, DE, FR, CA, ES, IT, JP, AU, and IN.

Does it estimate monthly sales or royalties? It reports BSR and other public signals. Converting BSR to sales depends on category and season, so the Actor keeps the raw rank and a transparent score instead.

Can I analyze paperbacks? Yes, set department to paperback to search the Books department.

Where do I report issues or request features? Open the Issues tab on the Actor page.