Amazon KDP Niche Analyzer avatar

Amazon KDP Niche Analyzer

Pricing

from $2.00 / 1,000 book with details

Go to Apify Store
Amazon KDP Niche Analyzer

Amazon KDP Niche Analyzer

Amazon KDP niche finder and research tool: the top books for each keyword with real Best Sellers Rank (BSR), reviews, price, publisher, indie or not, plus estimated monthly sales and an opportunity score (formulas stated). Paperback and Kindle. Export to CSV, JSON or API. No login.

Pricing

from $2.00 / 1,000 book with details

Rating

0.0

(0)

Developer

Steady Scrape

Steady Scrape

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

Amazon KDP Niche Analyzer — Best Sellers Rank, sales estimates and competition for book niches

Type the niches you are thinking of publishing in — gratitude journal, coloring book for adults, password log book — and get, for each one, the top books Amazon.com shows a buyer, each with its real Best Sellers Rank, price, review count, rating, publisher, whether it is independently published (KDP), page count and publication date, plus a niche summary: how many results the search has, median price and reviews, how many top books have under 50 reviews, the median rank, an estimated monthly sales figure, the share of independent publishers, Amazon's own search-box suggestions, and an opportunity score with the reasons behind it.

Works for print (Amazon's Books department: paperbacks, hardcovers, spiral-bound and low-content books) and for the Kindle Store (with the share of Kindle Unlimited titles). No login, no Amazon account, no API key.

Who it is for

  • KDP self-publishers shortlisting niches before writing, designing or formatting anything.
  • Low-content publishers (journals, planners, log books, coloring and activity books) checking which keywords still leave room for a newcomer.
  • Market researchers benchmarking prices, page counts and review counts in a category.
  • Anyone scheduling a re-check of a niche: run it weekly and compare the summaries.

What you get

One dataset with two kinds of rows (the field type says which):

A book row for each top organic result: position, page, asin, url, title, authors, format, price, listPrice, rating, reviewCount, series, kindleUnlimited, soldBy (Kindle), sponsored, publicationDate; and with includeDetails (on by default) from the book's own page: bestSellersRank (in Books or in Kindle Store), categoryRanks, estimatedMonthlySales, publisher, independentlyPublished, pageCount, language, dimensions, isbn13.

A niche row per keyword and department: totalResults (as Amazon words it, e.g. "over 60,000"), booksAnalyzed, sponsoredSkipped, medianPrice, averagePrice, medianRating, medianReviews, averageReviews, shareUnder50Reviews, shareKindleUnlimited, medianBestSellersRank, bestBestSellersRank, estimatedMonthlySalesMedian, estimatedMonthlySalesTotal, shareIndependentlyPublished, medianPageCount, medianAgeDays, newestPublicationDate, opportunityScoreEstimate (0–100), verdictEstimate (promising / mixed / crowded), scoreReasons and suggestions.

Example niche row (from a real run, 24 top results for "password log book", 2026-10-14):

{
"type": "niche", "keyword": "password log book", "store": "books", "status": "ok",
"totalResults": 50000, "totalResultsText": "over 50,000", "booksAnalyzed": 24,
"medianPrice": 7.41, "medianReviews": 184, "shareUnder50Reviews": 0.292,
"medianBestSellersRank": 135765.5, "estimatedMonthlySalesMedian": 22.5, "shareIndependentlyPublished": 0.765,
"opportunityScoreEstimate": 46, "verdictEstimate": "mixed",
"scoreReasons": [
"demand 0.55: the median book sells an estimated 23 copies a month",
"competition 0.24: the median book has 184 reviews",
"independents 0.76: 76 % of the books with a known publisher are independently published"
],
"suggestions": ["password log book with lock"]
}

The two estimates, and their formulas

Nothing Amazon publishes says how many copies a book sells or how hard a niche is. These two fields are estimates, named so, and computed in the open so you can recompute or reweigh them:

  • estimatedMonthlySales = round(30 × min(5000, 100000 ÷ bestSellersRank)). It fits the public BSR-to-sales tables for Amazon.com books (#10,000 ≈ 10 copies a day, #100,000 ≈ 1 a day) and caps the very top at 5,000 a day. Only the overall rank (in Books or in Kindle Store) is used; a rank in Office Products or a category is not comparable and gives null. A rank is a snapshot that moves every hour.
  • opportunityScoreEstimate = round(100 × (0.45 × demand + 0.40 × competition + 0.15 × shareIndependentlyPublished)), where demand = min(1, log10(1 + median estimated monthly sales) ÷ log10(301)) — 300 copies a month or more counts as full demand — and competition = 1 − min(1, log10(1 + median review count) ÷ 3) — 1,000 reviews or more counts as fully crowded. Promising from 65, mixed from 40, crowded below. It needs at least 5 ranked books; otherwise it is null and scoreReasons says why.

independentlyPublished is true when a print book's publisher reads "Independently published", or when a Kindle book lists no publisher (how Kindle books published through KDP read); false when a publisher is named.

Input

{
"keywords": ["gratitude journal", "coloring book for adults"],
"stores": ["books", "kindle"],
"booksPerNiche": 16,
"includeDetails": true,
"includeSuggestions": true,
"analyzeSuggestions": false
}
  • booksPerNiche (1–100): top organic results analyzed per keyword and department (16 per results page).
  • analyzeSuggestions: Amazon's suggestions for your keywords become niches of their own, up to maxNiches.
  • includeSponsored: off by default, so niches are measured on organic results; sponsored ones are counted in sponsoredSkipped.

Pricing

Pay per result, no start fee:

eventpricewhen
nicheUS$0.005a niche analyzed (status ok)
book-with-detailsUS$0.002a book read with its own page (rank, publisher…)
bookUS$0.001a book with what the search shows (details off, or its page refused)

A niche of 16 books with details costs US$0.037. Rows with status invalid, no_results or blocked are free. Your spending limit is checked before each niche: the Actor never sends requests for books it could not charge, and stops with a clear message when the limit is reached.

Limits — read these

  • Amazon.com only. Amazon.ca answers too, but many of its book pages show category ranks only, and the sales formula is calibrated on the US store.
  • Amazon limits how many pages one IP reads. In our tests a run read about 115–135 pages (5 niches × 24 books with details) before Amazon started refusing its IPs, and the refusals lasted more than 4 minutes. The Actor then pauses and retries (three 60-second pauses), and whatever it still cannot read comes back as free blocked rows, or as books without details (charged at the book price). For wide research, split it across runs a few minutes apart, or turn includeDetails off for a first pass and open details only for the niches you keep.
  • Bot checks are never solved: the Actor changes route or gives up and says so.
  • Prices, ranks and review counts are what Amazon showed at that moment from a US IP.

It reads public pages anyone can open without logging in, at a human pace, and collects book data — titles, prices, ranks, publishers — not personal data beyond the author names printed on the books. Use it in line with Amazon's terms and your local law; you are responsible for how you use the data.