# Amazon KDP Profitable Niche Detector & BSR Sales Calculator (`automation_studio/amazon-kdp-niche-detector`) Actor

Uncover high-demand, low-competition Amazon KDP book niches in seconds. Analyzes Best Sellers Rank (BSR), calculates daily/monthly royalties, flags low review barriers, and scores niche profitability.

- **URL**: https://apify.com/automation\_studio/amazon-kdp-niche-detector.md
- **Developed by:** [Automation Studio](https://apify.com/automation_studio) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 niche opportunity reports

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 📚 Amazon KDP Profitable Niche & Royalty Radar

> **Stop guessing. Find high-demand, low-competition book niches on Amazon KDP in seconds.**\
> The ultimate cloud alternative to **Publisher Rocket ($97)** and **BookBeam ($49/mo)** — batch analyze dozens of keywords automatically via API, webhooks, or the Apify Console.

[![Apify](https://img.shields.io/badge/Apify-Actor-blue?style=flat-square\&logo=apify)](https://apify.com)
[![KDP Ready](https://img.shields.io/badge/Amazon-KDP%20Ready-green?style=flat-square)](https://kdp.amazon.com)
[![Pricing](https://img.shields.io/badge/Pricing-Pay--Per--Event%20\($0.005\)-orange?style=flat-square)]()
[![Rating](https://img.shields.io/badge/Rating-5.0%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%85-brightgreen?style=flat-square)]()

***

### 💡 Why Every KDP Publisher Needs This Tool

Writing or generating a book takes weeks. **Publishing it in the wrong niche guarantees $0 in sales.**

To build a sustainable $5,000+/month Kindle Direct Publishing (KDP) business, self-publishers and agency creators need three critical metrics:

1. **Sales Demand**: Are people actually buying books in this subgenre right now?
2. **Competition Barrier**: Can a brand new book with 0 reviews realistically rank on Page 1?
3. **Monthly Royalties**: What is the real take-home net profit per book?

Desktop tools like **Publisher Rocket** cost $97 upfront and force you to search keywords manually one by one. **Amazon KDP Niche Radar** lets you plug in 50, 100, or 200 keywords at once, scans real-time Amazon Page 1 search results, and outputs a single **Niche Opportunity Score (0–100)**.

***

### ⚡ What You Get

For every analyzed keyword, you receive:

- **🎯 Niche Opportunity Score (0 to 100)**: Proprietary weighted rating combining Sales Demand (40%), Low-Review Penetration (40%), and Price Profitability (20%).
- **🏷️ Market Verdict**: Instant classification:
  - 🟢 **GOLDMINE**: High sales velocity + books with <100 reviews ranking on Page 1.
  - 🟡 **PROMISING**: Solid demand with manageable competition.
  - 🟠 **COMPETITIVE**: High review moat (needs launch team / ads).
  - 🔴 **AVOID**: Saturated or dead demand (BSR > 350k).
- **💰 Estimated Monthly Royalties ($)**: Calibrated BSR-to-Sales curves calculating average monthly author royalties based on KDP 70% eBook & 60% print royalty tiers.
- **🛡️ Review Competition Barrier**: Percentage of top 10 books with fewer than 100 reviews. If $\ge 40%$ of ranking books have low reviews, **you can rank easily**.
- **📈 Median Best Sellers Rank (BSR)**: The true median BSR of top ranking competitors.
- **📊 Top 10 Books Breakdown**: Title, ASIN, Author, Price, Rating, Review Count, BSR, and Kindle Unlimited badges.

***

### 🥊 Comparison: How We Beat The Competition

| Feature | Publisher Rocket ($97) | Helium 10 ($39–$99/mo) | Generic Amazon Scrapers | 🚀 KDP Niche Radar |
| :--- | :---: | :---: | :---: | :---: |
| **Pricing** | $97 one-time | $39–$99 / month | $0.05 / run | **Pay-Per-Event ($0.005/niche)** |
| **Platform** | Desktop App only | Browser Extension | Apify Cloud | **Cloud + API + Webhook + Zapier** |
| **Batch Scanning** | ❌ 1 by 1 manual | ❌ 1 by 1 manual | ❌ Raw URLs only | **✅ 50–200 keywords in 1 click** |
| **BSR → Sales & Royalties** | Yes | Yes (FBA gross) | ❌ Raw rank only | **✅ Yes (KDP net royalty model)** |
| **Review Competition Barrier** | Opaque score | Review count | ❌ No | **✅ Transparent Low-Review Ratio** |
| **Paperback & eBook Support** | Yes | General goods | ❌ No | **✅ Dedicated Books & Kindle filters** |
| **Automated Scheduling** | ❌ No | ❌ No | Partial | **✅ Weekly / Monthly Niche Alerts** |

***

### 📥 Input Settings

| Parameter | Type | Default | Description |
| :--- | :---: | :---: | :--- |
| `search_keywords` | `array` | `["coloring books for adults", "anxiety journal"]` | Target book keywords, subgenres, or book ideas to evaluate. |
| `search_department` | `select` | `stripbooks` | Choose between **Books (Paperback/Hardcover)** or **Kindle Store (eBooks)**. |
| `marketplace` | `select` | `amazon.com` | Target Amazon marketplace (`amazon.com`, `amazon.co.uk`, `amazon.de`, `amazon.ca`). |
| `max_books_per_keyword` | `integer` | `10` | Number of top search results to evaluate per keyword (5 to 30). |
| `min_reviews_threshold` | `integer` | `100` | Review ceiling under which books are considered easy targets to outrank. |
| `royalty_rate_percent` | `integer` | `70` | Standard KDP royalty percentage (70% for Kindle $2.99–$9.99). |
| `custom_proxy_url` | `string` | `""` | Optional external residential proxy URL if running outside Apify. |

***

### 💰 Transparent Pay-Per-Event Pricing

| Operation | Unit Cost | What It Delivers |
| :--- | :---: | :--- |
| **Actor Start** | **$0.0005** | Cloud container initialization & Apify proxy setup |
| **Niche Opportunity Report** | **$0.005** | **Complete Niche Analysis**: 0–100 score, BSR sales velocity, monthly royalties, review barrier, and all top 10 books |

- **10 keywords** = **$0.05** (analyzes 100 books)
- **100 keywords** = **$0.50** (analyzes 1,000 books)
- **1,000 keywords** = **$5.00** (analyzes 10,000 books)

***

### 📤 Output Structure

#### 1. Default Dataset (Clean Niche Overview)

Each item represents **one complete niche opportunity**, perfectly formatted for the Apify Console table view:

```json
{
  "keyword": "cyberpunk thriller",
  "opportunity_score": 80,
  "verdict": "🟢 GOLDMINE (High Demand + Low Competition)",
  "competition_level": "🟢 LOW BARRIER (Easy to Rank)",
  "est_monthly_royalties": 383.35,
  "est_monthly_sales": 120,
  "est_daily_sales": 4,
  "avg_price": 8.39,
  "median_bsr": 45000,
  "avg_reviews": 176,
  "low_review_count": 6,
  "low_review_percentage": 60.0,
  "books_analyzed": 10,
  "department": "stripbooks",
  "marketplace": "amazon.com",
  "analyzed_at": "2026-09-18T09:10:00.000Z",
  "top_books": [
    {
      "asin": "B08X4PZ91L",
      "title": "Neon Syndicate: A Gritty Cyberpunk Thriller",
      "author": "Independent Author",
      "price": 9.99,
      "rating": 4.7,
      "review_count": 64,
      "bsr": 12400,
      "est_daily_sales": 8,
      "est_monthly_sales": 240,
      "est_monthly_royalties": 837.60,
      "is_prime": true,
      "is_kindle_unlimited": false,
      "url": "https://www.amazon.com/dp/B08X4PZ91L"
    }
  ]
}
```

#### 2. Key-Value Store Artifacts

- **`OUTPUT`**: Instant summary JSON with top goldmine recommendations.
- **`NICHE_OPPORTUNITY_CSV`**: One-click downloadable CSV of all evaluated niches.
- **`ALL_BOOKS_CSV`**: Complete spreadsheet detailing every individual book across all niches (ASIN, Title, Author, Price, Rating, Reviews, BSR, Sales, Royalties, URL).
- **`top-books-breakdown` (Named Dataset)**: Dedicated tabular dataset of all individual books.

***

### 🎯 High-Value Use Cases

1. **Low-Content & Medium-Content Publishing**:
   Evaluate demand for coloring books, daily planners, prompt journals, recipe organizers, and puzzle books in seconds.
2. **Fiction Indie Authors**:
   Test reader demand for trending micro-tropes (e.g. *enemies to lovers fantasy*, *cyberpunk noir detective*, *clean small-town romance*).
3. **KDP Automation Agencies & Ghostwriters**:
   Connect via Apify API or Zapier to automatically scan 100 keywords every week and export the top 5 goldmine opportunities for clients.

***

### 🏷️ Related Keywords & Search Tags

`kdp niche finder`, `publisher rocket alternative`, `amazon kdp research`, `kindle keyword tool`, `kdp bsr calculator`, `amazon book scraper`, `bookbeam alternative`, `kdspy alternative`, `kdp royalties estimator`, `kdp low content niches`.

# Actor input Schema

## `search_keywords` (type: `array`):

Enter one or more book keywords, subgenres, or book ideas to evaluate for market demand and competition.

## `search_department` (type: `string`):

Select whether to evaluate physical print books (Paperback/Hardcover) or Kindle eBooks.

## `marketplace` (type: `string`):

Target Amazon country store.

## `max_books_per_keyword` (type: `integer`):

Number of top-ranking books to scrape and analyze per keyword (typically top 10 on page 1).

## `min_reviews_threshold` (type: `integer`):

Books with fewer reviews than this number are considered easy to outrank with a new book launch.

## `royalty_rate_percent` (type: `integer`):

Standard KDP eBook royalty is 70% (.99-.99 tier). Paperback net royalty is typically ~60%.

## `custom_proxy_url` (type: `string`):

Enter custom residential proxy URL (e.g. http://user:pass@proxy.example.com:8080) if running outside Apify.

## `proxyConfiguration` (type: `object`):

Apify Proxy configuration. Highly recommended for Amazon scraping.

## Actor input object example

```json
{
  "search_keywords": [
    "coloring books for adults",
    "anxiety journal",
    "cyberpunk thriller",
    "daily habit tracker"
  ],
  "search_department": "stripbooks",
  "marketplace": "amazon.com",
  "max_books_per_keyword": 10,
  "min_reviews_threshold": 100,
  "royalty_rate_percent": 70,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing parsed niche summaries and top-ranking book metrics.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "search_keywords": [
        "coloring books for adults",
        "anxiety journal",
        "cyberpunk thriller",
        "daily habit tracker"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation_studio/amazon-kdp-niche-detector").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "search_keywords": [
        "coloring books for adults",
        "anxiety journal",
        "cyberpunk thriller",
        "daily habit tracker",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("automation_studio/amazon-kdp-niche-detector").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "search_keywords": [
    "coloring books for adults",
    "anxiety journal",
    "cyberpunk thriller",
    "daily habit tracker"
  ]
}' |
apify call automation_studio/amazon-kdp-niche-detector --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automation_studio/amazon-kdp-niche-detector"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/VrMqG5S1LiYOo9maI/builds/SQWSTYnzJNdho4k0m/openapi.json
