
Amazon Niche Finder v4.0
A powerful Python tool to discover profitable, low-competition niches on Amazon through intelligent multi-level exploration, comprehensive product analysis, and smart scoring algorithms. Perfect for authors, sellers, and entrepreneurs looking to identify underserved market opportunities.
What's New in v4.0
- Full Research Pipeline (
--research): The recommended new mode — one seed keyword in, a ranked shortlist of niche opportunities out. Each opportunity includes a profitability rationale and pre-grouped keyword clusters ready for listing optimisation. - Profitability Rationale: Every winning niche now comes with plain-English strengths and weaknesses backed by specific metrics so you know why a niche was chosen.
- Keyword Clustering: SEO keywords are now grouped into five semantic clusters —
title,bullets,long_tail,question, andbackend— mapped directly to Amazon listing slots. - Opportunity Score: A new balanced ranking signal (
_calculate_opportunity_score) used by the research pipeline that weights free-signal demand estimates and competitor weakness more heavily than the classic overall score. - Playwright Browser Fallback: Selenium has been replaced with Playwright (supports Brave, Chrome, or bundled Chromium). Configure the browser path with the
PLAYWRIGHT_BROWSER_PATHenvironment variable. - BSR Filtering (
--bsr-min/--bsr-max): Filter niches by product Best Sellers Rank range to target specific sales velocity bands. - Updated Demand Confidence Levels: Simplified to
low,medium, andhighbased on the number of available free signals. - Research CSV / JSON Exports: The
--researchmode produces its own export format with rank, verdict, opportunity score, BSR range, profitability rationale, and keyword clusters. - Shared Cache Architecture: The research pipeline reuses a single
SEOKeywordResearchinstance for both niche discovery and keyword generation, eliminating redundant HTTP requests.
Key Features
Intelligent Exploration
- Recursive Keyword Discovery: Explores keywords 2-3 levels deep automatically
- Smart Pruning: Skips unpromising paths to save time
- Deduplication: Never explores the same keyword twice
- Progress Indicators: See exactly what's being explored in real-time
Full Research Pipeline
- Candidate Generation: Builds a rich candidate set from direct autocomplete, alphabet expansion (a–z), modifier prefixes/suffixes, second-hop title-word expansions, and optional trend-derived seeds
- Opportunity Ranking: Ranks all discovered niches by a balanced opportunity score and selects the top winners
- Profitability Rationale: Generates metric-backed strengths and weaknesses for every winning niche
- Keyword Clustering: Groups SEO keywords into
title,bullets,long_tail,question, andbackendclusters - End-to-End in One Command:
python main.py --research --seed "your keyword"replaces running niche finder + SEO keywords separately
Comprehensive Analysis
- Competition Score: Analyzes result counts with smart weighting (sweet spot: 100-2000 results)
- Price Analysis: Average price, price range, and revenue potential scoring
- Demand Indicators: Review counts, bestseller badges, and customer engagement
- Product Quality: Average ratings and review distribution
- BSR Tracking: Best Sellers Rank per product, with average and range
- Specificity Score: Rewards longer, more specific keywords (better niches)
Advanced Scoring Algorithm
Each niche gets a weighted overall score (0-100) based on:
- 30% Competition (lower is better, but not too low)
- 20% Competitor Strength (weaker competitors = better opportunity)
- 20% Price/Revenue Potential (higher is better)
- 15% Demand Indicators (moderate is best)
- 15% Specificity (more specific = better niche)
The research pipeline uses a separate Opportunity Score with different weights:
- 25% Demand Estimate Score (free-signal demand)
- 20% Competition
- 20% Competitor Strength
- 15% Price
- 10% Specificity
- 10% Trend
Competitor Strength Analysis
Analyzes the actual competitors in each niche:
- Brand Detection: Identifies Amazon-owned brands and major established brands
- Market Concentration: Determines if market is monopolized, concentrated, or diverse
- Barrier to Entry: Calculates how hard it is to compete (low/medium/high/very_high)
- Competitor Reviews: Tracks average review counts to gauge competition strength
- Small Seller Count: Identifies niches with many small independent sellers
- Opportunity Level: Rates opportunity as excellent/good/moderate/poor
Multi-Category Support
Search across 10+ Amazon categories:
- Books (
books) - Home & Garden (
home) - Kitchen (
kitchen) - Toys & Games (
toys) - Sports & Outdoors (
sports) - Electronics (
electronics) - Beauty & Personal Care (
beauty) - Pet Supplies (
pet) - Office Products (
office) - Arts & Crafts (
arts) - All Departments (
all)
Professional Exports
- CSV Export: Spreadsheet-ready data for both classic niche mode and research mode
- JSON Export: Structured data with full metadata including keyword clusters
- Comprehensive Reports: Detailed text reports with ranked recommendations and profitability rationale
Trend Hunting & Validation
- Amazon Movers & Shakers: Discover trending products automatically
- Google Trends Integration: Validate keywords against Google Trends data
- Trend Direction Detection: Identifies rising, falling, stable, or unknown trends
- Trend Boosting: Enriches niche scores based on trend momentum
- Auto-Trends Analysis: Automatically discover trending keywords and run full niche analysis on each
- Supported Trend Categories: Books, T-shirts, Merchandise (apparel category)
Installation
# Clone the repository
git clone https://github.com/mdnaimur0/amazon-niche-finder.git
cd amazon-niche-finder
# Install dependencies using uv
uv sync
After installing, run the Playwright browser installer once to get the bundled Chromium (only needed if you plan to use --browser-fallback without a local Brave/Chrome):
uv run playwright install chromium
To use your own Brave or Chrome binary instead, set the environment variable before running:
set PLAYWRIGHT_BROWSER_PATH=C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe
Usage
Basic Usage
Search for niches in the books category:
uv run main.py --seed "coloring book for"
Recommended: Full Research Pipeline
The --research flag is the most powerful mode. It runs the complete pipeline from a single seed — candidate generation, niche analysis, opportunity ranking, profitability rationale, and keyword clustering — in one command:
# Full research pipeline (recommended)
uv run main.py --research --seed "muslim prayer tracker" --category books
# Research with Google Trends enrichment
uv run main.py --research --seed "yoga journal" --category books --use-trends
# Research with BSR filtering (target products ranked #1,000–#50,000)
uv run main.py --research --seed "coffee mug" --category kitchen --bsr-min 1000 --bsr-max 50000
# Research with custom limits
uv run main.py --research --seed "desk planner" --category office --max-niches 10 --keywords-per-niche 40
# Export research report
uv run main.py --research --seed "dog toy" --category pet --export-csv research.csv --export-json research.json
Advanced Usage Examples
Classic niche discovery:
# Kitchen products with price filtering
uv run main.py --seed "coffee mug" --category kitchen --min-price 15 --max-price 50
# Sports equipment with deeper exploration
uv run main.py --seed "yoga mat" "resistance bands" --category sports --depth 3
# Pet products with custom threshold
uv run main.py --seed "dog toy" --category pet --threshold 5000
# Filter by Best Sellers Rank
uv run main.py --seed "notebook" --category office --bsr-max 100000
Export results for analysis:
# Export to CSV
uv run main.py --seed "planner" --category office --export-csv results.csv
# Export to JSON with full metadata
uv run main.py --seed "skin care" --category beauty --export-json results.json
# Both formats
uv run main.py --seed "puzzle" --category toys --export-csv niches.csv --export-json niches.json
Generate Amazon listing SEO keywords:
uv run main.py --seo-keywords "muslim prayer tracker" --category books --limit 50
# Export ranked keywords and grouped listing recommendations
uv run main.py --seo-keywords "desk planner" --category office --limit 50 --export-csv seo.csv --export-json seo.json
Discover and analyze trending keywords:
# Discover trending products from Amazon Movers & Shakers (books category)
uv run main.py --trend-hunt
# Discover trends in a specific category
uv run main.py --trend-hunt tshirts
uv run main.py --trend-hunt merch
# Validate seed keywords with Google Trends and boost niche scores
uv run main.py --seed "coloring book for" --trend-boost
# Auto-discover trending keywords and run full niche analysis on each
uv run main.py --auto-trends
# Auto-trends with custom limit and category
uv run main.py --auto-trends tshirts --limit 5
uv run main.py --auto-trends books --limit 10
Customize scoring and filtering:
# Show top 30 niches with score ≥ 50
uv run main.py --seed "sticker" --min-score 50 --top 30
# Explore 3 levels deep with lower competition threshold
uv run main.py --seed "notebook" --depth 3 --threshold 1000
# Slow down requests and stop after 2 blocked/failed keywords
uv run main.py --seed "planner" --min-delay 4 --max-delay 9 --max-block-failures 2
# Enable Playwright browser rendering fallback for pages requests cannot parse
uv run main.py --seed "coffee mug" --category kitchen --browser-fallback
Command-Line Options
Full Research Pipeline Options
| Option | Description | Default |
|---|---|---|
--research | Run the full research pipeline: one seed → ranked niches with rationale + keyword clusters | Disabled |
--max-niches | Maximum number of niche opportunities to return in research mode | 5 |
--keywords-per-niche | Number of SEO keywords to generate per winning niche | 30 |
--candidate-budget | Maximum candidate keywords to explore in research mode | 60 |
--use-trends | Enrich research results with Google Trends data | Disabled |
--min-opportunity-score | Minimum opportunity score threshold for research mode | 40 |
Trend Hunter Options
| Option | Description | Default |
|---|---|---|
--trend-hunt | Discover trending products from Amazon Movers & Shakers (optional category: books, tshirts, merch) | Disabled |
--trend-boost | Validate seed keywords with Google Trends and boost niche scores | Disabled |
--auto-trends | Auto-discover trending keywords then run full niche analysis on each (optional category: books, tshirts, merch) | Disabled |
Niche Discovery Options
| Option | Description | Default |
|---|---|---|
--seed | Seed keyword(s) to explore (can provide multiple) | "coloring book for" |
--category | Amazon category (books, kitchen, sports, etc.) | books |
--depth | Exploration depth (1-5 levels) | 2 |
--threshold | Max results for low competition | 2000 |
--min-price | Minimum average price filter | 0 |
--max-price | Maximum average price filter | unlimited |
--bsr-min | Minimum Best Sellers Rank bound — skip niches where all BSRs are below this | None |
--bsr-max | Maximum Best Sellers Rank bound — skip niches where all BSRs are above this | None |
--min-score | Minimum overall score to display | 60 |
--top | Number of top niches to show | 20 |
SEO & Analysis Options
| Option | Description | Default |
|---|---|---|
--seo-keywords | Generate Amazon listing keyword recommendations for one niche | None |
--limit | Number of trending keywords to analyze with --auto-trends or SEO keywords to return | 3 |
--export-csv | Export to CSV file | None |
--export-json | Export to JSON file | None |
Request & Rendering Options
| Option | Description | Default |
|---|---|---|
--browser-fallback | Enable Playwright rendering fallback after request parse failures | Disabled |
--no-browser-fallback | Force requests-only mode | Default |
--min-delay | Minimum delay between requests (seconds) | 2 |
--max-delay | Maximum delay between requests (seconds) | 7 |
--request-timeout | HTTP/browser page-load timeout in seconds | 10 |
--max-block-failures | Stop after consecutive blocked/failed keyword attempts | 3 |
--max-retries | Request retry attempts per keyword | 3 |
Example Output
Classic Niche Discovery Mode
================================================================================
🎯 Amazon Niche Finder v2.0
================================================================================
Category: kitchen
Exploration Depth: 2 levels
Competition Threshold: 2,000 results
Price Range: $15.00 - $50.00
================================================================================
🔍 Exploring: coffee mug (depth 1/2)
🟢 Score: 78.5 | Results: 1,247 | Price: $18.99 | Reviews: 156 | Est. Searches: 4,200/mo
↳ Exploring: coffee mug with lid (depth 2/2)
🟢 Score: 82.3 | Results: 892 | Price: $22.50 | Reviews: 203 | Est. Searches: 3,600/mo
↳ Exploring: insulated coffee mug (depth 2/2)
🟡 Score: 71.2 | Results: 3,421 | Price: $24.99 | Reviews: 412 | Est. Searches: 5,100/mo
...
🏆 TOP 12 NICHES (Ranked by Overall Score)
🥇 #1: personalized coffee mug for mom
────────────────────────────────────────────────────────────────────────────
Overall Score: 86.7/100
Competition: 567 results (score: 95.0)
Price: $26.50 avg (range: $18.99-$34.99) (score: 80.0)
Demand: 178 avg reviews (score: 80.0)
Rating: 4.6/5.0 stars
🏆 2 bestseller(s) in results
Avg BSR: #42,318 (range #12,500-#98,700)
Specificity: 87.5 (more specific = better niche)
🟢 Competitor Strength: 78.5/100 (GOOD opportunity)
✅ Small Sellers: 15/20 products
Market: Diverse
Barrier to Entry: Low
Top Brands: CustomGifts, PersonalCreations, GiftPro
Avg Competitor Reviews: 145
Depth: Level 2
Parent: coffee mug for mom
Full Research Pipeline Mode
================================================================================
🔬 FULL RESEARCH REPORT
================================================================================
Seed keyword : muslim prayer tracker
Category : books
Generated at : 2024-11-15T14:32:08
Duration : 183.4s
Keywords explored : 48
Products analysed : 312
Niches found : 5
================================================================================
🥇 #1: muslim prayer habit tracker journal
────────────────────────────────────────────────────────────────────────────
🟢 Opportunity: STRONG (score: 74.2/100)
Overall score: 81.5 | Results: 643 | Est. searches: 2,400/mo (medium confidence)
Price: $12.99 avg ($8.99–$18.99)
Avg reviews: 87
Avg BSR: #38,204 (range #12,000-#89,500)
🟡 Competitors: GOOD (72/100) | barrier: low
✅ Strengths:
• Moderate search demand: ~2,400 estimated monthly searches.
• Low competition: only 643 search results — easy to rank.
• Acceptable price point: $12.99 average.
• Low barrier to entry: avg competitor reviews 87, 14/18 small sellers.
• Diverse market: no single brand dominates, easier to gain shelf space.
• Well-targeted niche: keyword specificity score 72/100.
🔑 Keyword Clusters:
[title] muslim prayer tracker, islamic prayer journal, prayer habit tracker (+2 more)
[bullets] daily prayer log book, salah tracker notebook, namaz journal (+8 more)
[long_tail] muslim prayer habit tracker for adults, islamic daily prayer planner journal (+12 more)
[backend] ramadan, salah, dua, quran, ummah (+18 more)
Understanding the Scores
Overall Score (0-100)
The composite score that ranks niche quality in classic mode:
- 80-100: Excellent opportunity - low competition, good demand, strong revenue potential
- 60-79: Good opportunity - worth investigating further
- 40-59: Moderate opportunity - might work with the right strategy
- 0-39: Weak opportunity - probably too competitive or low demand
Opportunity Score (Research Mode)
The primary ranking signal used by the --research pipeline. It weights free-signal demand estimates and competitor weakness more heavily than the classic overall score:
- 70-100: Strong opportunity — prioritize these
- 50-69: Moderate — worth investigating
- 40-49: Borderline — included only if better options are unavailable
- <40: Filtered out by default (see
--min-opportunity-score)
Competition Score
- 90-100: Sweet spot (100-1000 results) - low competition with proven demand
- 70-89: Acceptable (1000-5000 results) - competitive but manageable
- 50-69: High competition (5000-10000 results) - challenging
- 0-49: Very high competition (>10000 results) - difficult to rank
Price Score
Higher prices generally mean better revenue potential:
- 100: $50+ average price
- 95: $30-50 average price
- 80: $20-30 average price
- 60: $10-20 average price
- 30: <$10 average price
Demand Score
Based on review counts and bestseller badges:
- 90-100: Strong proven demand (200-500 reviews, bestsellers present)
- 70-89: Good demand (50-200 reviews)
- 50-69: Moderate demand (10-50 reviews)
- 20-49: Low demand (<10 reviews or no data)
Estimated Monthly Searches
The estimated_monthly_searches field is a directional estimate, not an exact Amazon visitor or search-volume count. It combines free signals such as Amazon autocomplete expansion, result count, average reviews, bestseller badges, sponsored results, the internal demand score, and Google Trends when available. Use it to compare keywords relative to each other, then validate manually before making product decisions.
Related export fields:
estimated_monthly_searches: Directional monthly search volume estimatedemand_estimate_score: Confidence score (0-100) for the estimatedemand_estimate_confidence: Confidence level (low,medium,high) based on signal availabilitytrend_score: Google Trends-derived score (when using--trend-boost,--auto-trends, or--use-trends)trend_direction:rising,falling,stable, orunknown
Specificity Score
Longer, more specific keywords are better niches:
- Higher word count = more specific = less competition
- Longer character count = more detailed = better targeting
Competitor Strength Score
Analyzes who you're actually competing against (0-100, higher = weaker competition):
- 80-100: Mostly small sellers with low reviews — excellent opportunity
- 60-79: Mix of small/medium sellers — good opportunity
- 40-59: Some major brands present — moderate difficulty
- 0-39: Dominated by Amazon/major brands — very difficult
Factors analyzed:
- Amazon-owned brands (Amazon Basics, Solimo, etc.) — major penalty
- Major established brands (Nike, Sony, KitchenAid, etc.) — moderate penalty
- Average competitor reviews (higher = harder to compete)
- Market concentration (monopolized vs diverse)
- Small seller presence (more small sellers = better opportunity)
Best Sellers Rank (BSR)
Products with a lower BSR number sell more units per day. The tool tracks:
avg_bsr: Average BSR across analyzed products in the nichebsr_range: Lowest (best) and highest (worst) BSR seen in results
Use --bsr-max to exclude high-BSR (slow-moving) niches, or --bsr-min to avoid ultra-competitive products ranked in the top hundreds.
Profitability Rationale (Research Mode)
Each NicheOpportunity in --research mode includes a ProfitabilityRationale with:
- Strengths: Concrete, metric-backed sentences explaining positive signals
- Weaknesses: Concrete sentences describing risks or barriers
- Verdict:
strong,moderate, orweak - Opportunity Score: 0-100 composite used for ranking
How It Works
Full Research Pipeline (--research)
- Candidate Generation: Builds a deduplicated keyword candidate list from:
- Direct autocomplete for the seed
- Alphabet expansion (seed + a–z)
- Modifier prefix/suffix expansions (
best,top,for,gift, etc.) - Second-hop title-word expansions from top suggestions
- Trend-derived seeds (when
--use-trendsis enabled)
- Niche Analysis: Scores each candidate using
analyze_niche(same engine as classic mode) - Trend Enrichment: Attaches Google Trends direction and score when
--use-trendsis set - Opportunity Ranking: Sorts all niches by opportunity score and selects top
--max-nicheswinners - Keyword Research: Generates
--keywords-per-nicheSEO keywords for each winner and clusters them into listing slots - Rationale Generation: Produces plain-English profitability explanations for every winner
- Report Assembly: Combines everything into a
ResearchReportand prints/exports it
Standard Niche Discovery
- Seed Exploration: Starts with your seed keyword(s)
- Suggestion Gathering: Fetches Amazon autocomplete suggestions
- Product Analysis: Scrapes search results to extract:
- Result counts
- Product prices
- Review counts and ratings
- Bestseller badges
- Sponsored ads
- Best Sellers Rank (BSR)
- Scoring: Calculates comprehensive scores for each niche
- Recursive Exploration: Uses promising keywords as new seeds
- Block Handling: Detects CAPTCHA, robot-check, 429, suspicious redirects, and invalid result pages
- Reporting: Ranks and presents the best opportunities, including partial results when collection stops early
Trend Hunting
- Movers & Shakers Discovery: Scrapes Amazon's Movers & Shakers page for rapidly rising products
- Keyword Extraction: Converts product titles into searchable keywords
- Google Trends Validation: Optional validation against Google Trends to detect momentum
- Trend Direction Detection: Identifies if keywords are rising, falling, stable, or unknown
- Trend Scoring: Converts Google Trends momentum into a niche score boost
- Full Analysis: Can run complete niche analysis on each discovered trend (
--auto-trends)
Tips for Finding Great Niches
- Use
--researchfor the Best Results: One seed keyword → ranked niches with rationale and keyword packs in a single run - Start Broad, Go Deep: Use general seed keywords and let the tool find specific sub-niches
- Multiple Seeds: In classic mode, provide 2-3 related seeds for better coverage
- Right Depth: Depth 2 is usually optimal; depth 3 for thorough exploration
- Price Matters: Use
--min-priceto filter out low-margin products - Use BSR Filtering:
--bsr-max 200000removes niches with very slow-selling products - Trust the Score: Niches scoring 75+ (overall) or 60+ (opportunity) are usually worth investigating
- Validate Manually: Always check top results on Amazon to confirm opportunity
- Check Trends: Use
--use-trends(in research mode) or--trend-boostto verify search momentum - Analyze Competition: Look at top competitors' reviews to find improvement opportunities
Trend Hunting Tips
--trend-hunt: Quick discovery of what's trending on Amazon — great for brainstorming--trend-boost: Validate your existing seed keywords against Google Trends to find rising opportunities--auto-trends: Most powerful trend tool — automatically discovers 3-10 trending keywords and runs full analysis on each--use-trends(research mode): Integrates trend enrichment directly into the research pipeline for seamless output- Trend Timing: Rising trends offer the best entry point — catch them early before competition saturates
- Combine with Depth: Use
--trend-huntto discover seeds, then run with--depth 3for deeper exploration - Monitor Seasonality: Google Trends data helps identify seasonal niches with predictable demand spikes
Limitations & Best Practices
- Rate Limiting: Built-in conservative delays (2-7 seconds by default) reduce request pressure — be patient
- Block-Aware Stopping: The tool stops after repeated blocked or failed keyword attempts and preserves partial results
- Browser Fallback: The Playwright fallback renders real browser pages using your local Brave/Chrome or the bundled Chromium. It does not bypass CAPTCHA, rotate proxies, or use fingerprint-spoofing libraries. Set
PLAYWRIGHT_BROWSER_PATHto point to your browser binary, or runuv run playwright install chromiumto use the bundled version. - Result Count Cap: Amazon often shows "over 10,000" which caps accuracy
- HTML Changes: Amazon occasionally changes their page structure
- No Guarantee: Low competition doesn't guarantee sales — validate demand!
- Scraping Ethics: Use responsibly and comply with Amazon's ToS
- Research Mode — Single Seed:
--researchuses only the first--seedvalue; run separately for each seed
Troubleshooting
- If you see repeated blocked or invalid responses, increase
--min-delayand--max-delay, reduce--depth, or stop and try again later. - If product cards are missing because the page requires browser rendering, install Playwright (
uv run playwright install chromium) and run with--browser-fallback. - If you're missing dependencies, run
uv syncto install them. - If the Playwright fallback can't find your browser, set the
PLAYWRIGHT_BROWSER_PATHenvironment variable to the full path of your Brave or Chrome executable. - Automated tests do not make live Amazon calls; run them with
uv run pytest.
Requirements
- Python 3.9+
- requests
- beautifulsoup4
- urllib3
- playwright (
uv run playwright install chromiumafteruv sync) - pytrends
- pytest (dev only)
License
This project is licensed under the MIT License — see the LICENSE file for details.
Disclaimer
This tool is for educational and research purposes only. Users are responsible for complying with Amazon's terms of service and implementing appropriate rate limiting. There is no guarantee that any discovered niche will be profitable. Always conduct thorough market research before making business decisions.