How to Build an Influencer Discovery Pipeline (Find Creators by Niche)
Influencer discovery platforms are expensive, and most of what you're paying for is a database you could assemble yourself from public data. The per-seat pricing, the "contact sales" enterprise tiers, the locked exports, all of that sits on top of information that's public the moment a creator posts. If you're technical, or even just Zapier-technical, you can build the discovery half of that stack for the cost of a few API credits.
This is the pipeline: start from a niche, surface creators posting in it, pull their public stats, and rank them, so you end up with a shortlist worth a human's time instead of an endless scroll.
The pipeline in four stages
Discovery isn't one query, it's a funnel. Each stage narrows the field:
- Seed — start from what defines the niche: hashtags, keywords, or a competitor's tagged creators.
- Surface — use search endpoints to find creators posting against those seeds.
- Enrich — pull each candidate's public profile stats (followers, engagement signals).
- Rank — score and sort so the shortlist floats to the top.
You run this once to build an initial list, then re-run the seed and surface stages periodically to catch new creators entering the niche.
Stage 1–2: Seed and surface
TikTok and Instagram are where most creator discovery starts. SociaVault gives you search endpoints on both. Base URL https://api.sociavault.com/v1, x-api-key header, 1 credit per call, payload under data.
On TikTok you can search users directly, or search keyword/hashtag to find who's posting on a topic:
const API_KEY = process.env.SOCIAVAULT_API_KEY;
const BASE = "https://api.sociavault.com/v1";
async function get(path, params) {
const qs = new URLSearchParams(params).toString();
const res = await fetch(`${BASE}${path}?${qs}`, {
headers: { "x-api-key": API_KEY },
});
if (!res.ok) throw new Error(`${path} failed: ${res.status}`);
return (await res.json()).data;
}
// Find creators by keyword on TikTok
const users = await get("/scrape/tiktok/search/users", { query: "home barista" });
// Or find who's posting under a niche hashtag on Instagram
const posts = await get("/scrape/instagram/search/hashtag", {
hashtag: "homebarista",
});
The user search gives you creators directly; the hashtag/keyword search gives you posts, from which you collect the authors. Dedupe the handles you gather across seeds, that's your candidate list.
Stage 3: Enrich with public profile stats
Now pull each candidate's public profile to get the numbers that matter. TikTok uses handle; Instagram uses handle too:
import os, time, requests
API_KEY = os.environ["SOCIAVAULT_API_KEY"]
BASE = "https://api.sociavault.com/v1"
def get(path, **params):
r = requests.get(f"{BASE}{path}", headers={"x-api-key": API_KEY},
params=params, timeout=60)
r.raise_for_status()
return r.json().get("data")
def enrich_tiktok(handles):
profiles = []
for h in handles[:100]: # cap so a loop can't burn credits
try:
data = get("/scrape/tiktok/profile", handle=h)
stats = (data or {}).get("stats", {})
profiles.append({
"handle": h,
"followers": stats.get("followerCount"),
"hearts": stats.get("heartCount"),
})
except Exception as e:
print(f"skip {h}: {e}")
time.sleep(1) # be gentle
return profiles
Read fields defensively. On TikTok profiles the stats live under data.stats.followerCount and data.stats.heartCount, not userInfo.stats, and it's worth logging one raw response to confirm before you build on it. For Instagram, follower count is under data.edge_followed_by.count.
Stage 4: Rank into a shortlist
Raw follower count is the worst way to rank creators, it rewards bought audiences and ignores fit. A better first-pass score blends reach with an engagement proxy and down-weights the giant accounts that won't reply to you anyway:
function score(creator) {
const followers = creator.followers ?? 0;
if (followers < 1000) return 0; // too small to bother
const engagementProxy = (creator.hearts ?? 0) / Math.max(followers, 1);
// reward engagement, mildly favor reachable mid-tier over mega accounts
const reachFit = followers > 500000 ? 0.6 : 1;
return engagementProxy * reachFit * Math.log10(followers);
}
That's deliberately simple, tune it for your goals. The point is that a transparent score you control beats a black-box "influencer score" you're renting. Sort by it, take the top 30–50, and hand those to a human. Before you reach out, it's worth vetting each creator's last 90 days so you're not surprised by a recent slump or a brand-safety issue.
The honest limits
- Engagement rate from public data is an estimate. You're inferring it from likes and followers, not measuring true reach or watch time. Label it an estimate and treat it that way.
- Follower counts include fakes. High follower counts can hide bought audiences. Discovery surfaces candidates; it doesn't confirm audience quality, that's a separate fake-follower check.
- Search is broad, not exhaustive. Hashtag and keyword search surface a strong sample of who's posting in a niche, not every single creator. Use several seeds to widen coverage.
- No contact info by default. Discovery finds creators and their public stats; getting an email is a separate step, and only public/business contact details are fair game.
- The last mile is human. A ranking gets you a shortlist. Fit, tone, and whether someone's a good partner is a judgment call, don't automate that part.
Frequently Asked Questions
How do I find influencers in a specific niche?
Seed the niche with its hashtags and keywords, then use TikTok's user and keyword search plus Instagram's hashtag search to surface creators posting against those seeds. Collect and dedupe the handles, then enrich each with a public profile lookup.
Can I build this without an expensive influencer platform?
Yes, that's the point. The discovery layer, finding creators and pulling public stats, is buildable with search and profile endpoints for a few credits. You're mainly replacing a rented database, not the human judgment on top of it.
How should I rank creators?
Don't rank on raw followers. Blend an engagement proxy (likes relative to followers) with reach, and consider down-weighting mega accounts if you want reachable mid-tier creators. A transparent score you control beats a black-box vendor score.
How accurate are the engagement numbers?
They're estimates derived from public likes and follower counts, not true reach or watch-time data. They're directionally useful for ranking but shouldn't be treated as exact, and they can be distorted by fake followers.
How much does a discovery run cost?
Each search or profile call is 1 credit. A run that surfaces and enriches a few dozen candidates is a few dozen credits, and you start with 50 free with no card.
Does this find creators' email addresses?
Not directly. Discovery gives you creators and their public stats. Finding contact details is a separate step and should stick to publicly listed or business contact info.
Want to build your own creator shortlist instead of renting one? Start free with 50 credits, no card required and run your first niche search today. For the vetting step after discovery, see how to vet a creator's last 90 days.
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.