Overview
Find relevant TikTok creators in a specific niche by combining user search, hashtag video analysis, and follower graph exploration. Identify creators who consistently post in your category, have authentic engagement, and are not yet saturated with sponsorships.
Trigger
Weekly on Monday at 09:00 UTC
Schedule
Weekly on Monday at 09:00 UTC
Workflow Steps
Search for niche creators
Use the search/users endpoint to find creators matching niche keywords like 'skincare review' or 'tech unboxing'.
Discover via hashtags
Pull recent videos from niche hashtags and extract unique creator profiles from the video authors.
Explore follower graphs
For top creators already on your roster, check who they follow to discover smaller creators in the same niche.
Filter by engagement and size
Keep creators with 10K-500K followers and above-average engagement for their tier. Remove accounts that are primarily brand accounts.
Output discovery list
Generate a ranked list of new creator candidates with profile stats, recent post themes, and engagement metrics.
Python Implementation
import requests, os
from collections import Counter
H = {"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}", "Content-Type": "application/json"}
BASE = "https://api.scavio.dev"
def discover_creators(niche_keywords, niche_hashtags, min_followers=10000, max_followers=500000):
creators = {}
for kw in niche_keywords:
resp = requests.post(f"{BASE}/api/v1/tiktok/search/users",
headers=H, json={"query": kw, "count": 20}).json()
for u in resp["data"].get("users", []):
fc = u.get("follower_count", 0)
if min_followers <= fc <= max_followers:
creators[u["unique_id"]] = {
"username": u["unique_id"],
"followers": fc,
"source": "search",
}
for tag in niche_hashtags:
resp = requests.post(f"{BASE}/api/v1/tiktok/hashtag/videos",
headers=H, json={"hashtag": tag, "count": 20}).json()
for v in resp["data"].get("videos", []):
author = v.get("author", {})
uid = author.get("unique_id", "")
fc = author.get("follower_count", 0)
if uid and min_followers <= fc <= max_followers and uid not in creators:
creators[uid] = {
"username": uid,
"followers": fc,
"source": "hashtag",
}
return sorted(creators.values(), key=lambda c: c["followers"], reverse=True)
found = discover_creators(["skincare routine"], ["skincaretok"])
print(f"Discovered {len(found)} creators")
for c in found[:10]:
print(f" @{c['username']} ({c['followers']:,} followers, via {c['source']})")JavaScript Implementation
const BASE = "https://api.scavio.dev";
const H = { Authorization: `Bearer ${process.env.SCAVIO_API_KEY}`, "Content-Type": "application/json" };
async function discoverCreators(keyword, hashtag) {
const users = await fetch(`${BASE}/api/v1/tiktok/search/users`, {
method: "POST", headers: H, body: JSON.stringify({ query: keyword, count: 20 })
}).then(r => r.json());
const filtered = (users.data.users || [])
.filter(u => u.follower_count >= 10000 && u.follower_count <= 500000);
console.log(`Found ${filtered.length} creators for "${keyword}"`);
filtered.slice(0, 5).forEach(u =>
console.log(` @${u.unique_id} (${u.follower_count.toLocaleString()} followers)`));
}
discoverCreators("skincare routine", "skincaretok");Platforms Used
TikTok
Trending video, creator, and product discovery