Amazon High‑Demand Niche Finder
Amazon High‑Demand Niche Finder
Find High‑Demand / Low‑Competition niches using BSR, reviews, price spread, and top‑of‑page density. Works offline with CSV paste. Optional Keepa/PAAPI later.
1) Input
Mode A: CSV / Paste
Target marketplace
Amazon.in (India)
Amazon.com (US)
Amazon.co.uk (UK)
Amazon.de (Germany)
Seed keyword (reference)
Paste data (CSV or table)
Columns accepted (order flexible): ASIN, BSR, Reviews, Price, Category. One product per line.
Analyze top N rows
Analyze Niche
Optional: Upload CSV
Mode B (Optional): API Setup
• For automation, add a small Node backend (server.js) with Keepa API (sales rank history, drops/month) and/or Amazon PA‑API 5 (title, price, reviews). Replace fetchFromBackend() to pull live ASIN data by keyword.
• Accuracy tip: use Keepa sales rank drops per month as sales proxy, median BSR for top N, and review count + rating for competition.
ASIN
BSR
Reviews
Price
Category
Demand
Competition
HD/LC Score
Note: No scraping. For best accuracy, connect Keepa/PA‑API on a backend. This front‑end computes conservative proxies from your CSV (BSR, reviews, price).
/* —————————– server.js (Optional Backend) ———————————
Save this as server.js if you want live data. Requires: Node 18+
Install: npm init -y && npm i express keepa –save
Run: KEEPAAK=your_keepa_key MARKET=IN node server.js
———————————————————————————————-*/
// const express = require(‘express’);
// const Keepa = require(‘keepa’);
// const app = express();
// const port = process.env.PORT || 3000;
// const marketMap = { IN: 10, US: 1, UK: 3, DE: 4 };
// const keepa = new Keepa({ key: process.env.KEEPAAK });
//
// // Example: fetch top products for a keyword using Keepa Product Finder
// app.get(‘/api/keyword’, async (req, res) => {
// try {
// const kw = (req.query.kw||”).slice(0,80);
// const market = marketMap[req.query.market] || 10; // default IN
//
// // Keepa: productFinder – filter by title keywords, sales rank range, etc.
// const finder = { title: kw, domainId: market, hasReviews: true, sortType: ‘salesRank’, sortAscending: true, perPage: 30 };
// const { productFinder } = keepa;
// const ids = await productFinder(finder);
// if(!ids?.asinList?.length) return res.json([]);
//
// const { products } = await keepa.query({ asin: ids.asinList.slice(0,30), domainId: market });
// const rows = products.map(p=>({
// asin: p.asin,
// bsr: p.stats?.current?.[3] || p.csv?.[3]?.slice(-1)?.[0] || 0, // 3 = salesRank CSV index in Keepa
// reviews: p.stats?.reviewCount || 0,
// price: (p.stats?.current?.[0]||0)/100, // convert cents
// category: p.productType || ”
// })).filter(r=>r.asin);
// res.json(rows);
// } catch (e) {
// console.error(e); res.status(500).json({ error: ‘Keepa error’, detail: String(e) });
// }
// });
//
// app.listen(port, ()=> console.log(‘Niche backend up on http://localhost:’+port));
/* —————————— package.json (optional) ————————————–
{
“name”: “amazon-niche-finder”,
“version”: “1.0.0”,
“type”: “commonjs”,
“scripts”: { “start”: “node server.js” },
“dependencies”: { “express”: “^4.19.2”, “keepa”: “^1.33.0” }
}
———————————————————————————————-*/