Theme
Discover Creators
Search YouTube for rising creators by niche. Results are real-time — no stale database.
GET /api/discoverQuery Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
niche | Yes | — | Niche to search (e.g. gaming, fitness, finance, tech, music) |
min_followers | No | 0 | Minimum subscriber count |
max_followers | No | none | Maximum subscriber count |
sort | No | opportunity_score | Sort by: opportunity_score, subscribers, views, niche_relevance |
alert_level | No | none | Filter by alert level: HIGH_GROWTH, RISING, WATCH, STABLE |
order | No | viewCount | YouTube search order: viewCount (default), relevance, date |
offset | No | 0 | Number of results to skip |
limit | No | 20 | Max results (1-100) |
Supported Niches
gaming · fitness · finance · tech · entertainment · education · music · beauty · cooking · travel · sports
Any other string works as a custom niche search (e.g. minecraft, podcasting, asmr).
Response
json
{
"status": "ok",
"niche": "gaming",
"filters": {
"min_followers": 50000,
"max_followers": "none",
"sort": "opportunity_score",
"alert_level": null,
"order": "viewCount"
},
"pagination": {
"total": 19,
"offset": 0,
"limit": 5,
"has_more": true
},
"count": 5,
"creators": [
{
"channel_id": "UC_iQdD0AKPC44T7Hir_i8hA",
"title": "Fail Game Armaan",
"handle": "@failgamearmaan",
"avatar": "https://yt3.ggpht.com/...",
"current_subscribers": 85200,
"total_views": 5039560,
"video_count": 90,
"niche_relevance": 29,
"growth_score": 55,
"opportunity_score": 47,
"alert_level": "WATCH",
"has_history": false
}
]
}Fields
| Field | Description |
|---|---|
opportunity_score | Combined score (0-100). Blends growth potential (70%) + niche relevance (30%). Higher = more growth momentum in the right niche. |
growth_score | Raw growth momentum score based on views/subs ratio, subs/video ratio, channel size, and account age. |
niche_relevance | How well the channel matches the niche (0-100). Based on title + description keyword matches. |
alert_level | HIGH_GROWTH (75+), RISING (50+), WATCH (25+), STABLE (<25). Based on opportunity_score. |
has_history | true if we have snapshot history from our daily cron. When true, scores use real velocity data instead of heuristics. |
About HIGH_GROWTH
HIGH_GROWTH alert level requires real snapshot history from our daily cron job. Channels without history (has_history: false) will show RISING, WATCH, or STABLE based on heuristic signals. To get HIGH_GROWTH results, track creators via POST /api/track and wait for cron snapshots to build up.
How Scoring Works
When has_history: false (most results), scores are heuristic:
Views/Subs ratio — High = viral content potential (max 35 pts)
10,000 views per sub = 35 pts
5,000 views per sub = 30 pts
3,000 views per sub = 25 pts
2,000 views per sub = 20 pts
1,000 views per sub = 12 pts
Subs/Video ratio — Each video pulls subscribers (max 30 pts)
15,000 subs per video = 30 pts
10,000 subs per video = 25 pts
5,000 subs per video = 22 pts
2,000 subs per video = 18 pts
1,000 subs per video = 12 pts
Channel size sweet spot — 10K-500K subs = prime rising zone (max 25 pts)
- 10K-100K subs = 25 pts (prime rising zone)
- 100K-500K subs = 18 pts (growth stage)
- 1K-10K subs = 12 pts (early stage)
- 500K+ subs = 5 pts (already big, less upside)
Video output — Active but not oversaturated (max 15 pts)
- 50-500 videos = 15 pts (established but still growing)
- 500+ videos = 10 pts (prolific)
- 10-50 videos = 7 pts (getting started)
Account age — Young channels growing fast get bonus points (max 10 pts)
- <1 year old with 10K+ subs = 10 pts
- <2 years old with 50K+ subs = 8 pts
- ❤️ years old with 100K+ subs = 5 pts
When has_history: true, real velocity data from daily snapshots replaces the heuristic scores.
Sorting
By Opportunity Score (default)
Returns creators ranked by combined growth + niche relevance score. Best for finding the most promising creators overall.
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=gaming&min_followers=50000&sort=opportunity_score"By Subscribers
Returns the largest channels first. Good for finding established creators in a niche.
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=fitness&min_followers=50000&sort=subscribers"By Views
Returns the most-viewed channels first. Good for finding channels with high engagement.
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=tech&min_followers=10000&sort=views"By Niche Relevance
Returns channels with the best keyword matches first. Good for finding highly specialized creators.
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=cooking&sort=niche_relevance"YouTube Search Order
The order parameter controls how YouTube sorts search results before our scoring:
| Order | Description | Best For |
|---|---|---|
viewCount (default) | Channels with most views first | Finding channels with proven engagement |
relevance | Most relevant to the search query | Broad discovery, more results |
date | Most recently created channels | Finding brand-new channels |
About order=date
order=date returns the most recently created channels, which are often brand new with 0-100 subscribers. Use order=viewCount (default) or order=relevance for more useful results.
Filtering by Alert Level
Filter results to only show creators at a specific growth stage:
bash
# Only RISING channels (opportunity_score 50+)
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=fitness&alert_level=RISING&min_followers=10000"
# Only WATCH channels (opportunity_score 25-49)
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=gaming&alert_level=WATCH&min_followers=50000"Pagination
Use offset and limit to paginate through results:
bash
# Page 1 (results 1-10)
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=gaming&min_followers=50000&limit=10&offset=0"
# Page 2 (results 11-20)
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=gaming&min_followers=50000&limit=10&offset=10"
# Page 3 (results 21-30)
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=gaming&min_followers=50000&limit=10&offset=20"The response includes pagination info:
json
{
"pagination": {
"total": 19,
"offset": 0,
"limit": 10,
"has_more": true
}
}When has_more: false, you've reached the end.
Real-World Examples
Rising gaming creators for a brand deal
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=gaming&min_followers=50000&max_followers=500000&sort=opportunity_score&limit=10"Small finance creators (10K-100K subs), sorted by subscribers
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=finance&min_followers=10000&max_followers=100000&sort=subscribers"Top fitness channels sorted by views
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=fitness&sort=views&min_followers=10000&limit=10"Beauty niche, highly relevant channels first
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=beauty&sort=niche_relevance&min_followers=50000&limit=10"Custom niche (e.g. "minecraft")
bash
curl -H "X-API-Key: YOUR_KEY" \
"https://beta.pushapi.xyz/api/discover?niche=minecraft&min_followers=50000&max_followers=300000&limit=10"Cost
Each call costs 1 request from your daily quota. Internally it makes ~2 YouTube API calls (search + batch channel stats).