Creator vetting with an API: a pre-contract checklist
Creator vetting checks a shortlisted creator's recent posts, comments, transcripts and audience before a contract, to catch fake engagement, inconsistent reach and risky content. A full TikTok check takes about 15 credits per creator, plus 26 for audience demographics, so vetting 200 creators and pulling audience data on the final 40 costs about $7.60 on ScrapeIO's $47 pack.
Creator vetting is the step between a shortlist and a signed deal. You check that the reach is real, that it is steady, that the audience matches, and that nothing in the creator's past content will embarrass the brand. All of it can be done from public data in a few API calls per creator.
Who does this and why
- Influencer managers at brands, before they send a contract.
- Agencies, to defend a recommendation to a client with numbers.
- Creator platforms and marketplaces, to screen applicants at scale.
Vetting is not discovery. If you still need a list of names, start with influencer discovery tools, finding micro-influencers with AI or lookalike creators. For a deeper content screen, see brand safety checks.
The data you need
| Step | Platform | Endpoint | Credits |
|---|---|---|---|
| 1. Profile snapshot | TikTok, Instagram, YouTube | TikTok profile, Instagram profile, YouTube channel | 1 |
| 2. Last 30 to 50 posts | TikTok, Instagram, YouTube | TikTok profile videos, Instagram user posts, YouTube channel videos | 1 per page |
| 3. Comment sample | TikTok, Instagram, YouTube | TikTok comments, Instagram comments, YouTube comments | 1 per page |
| 4. What they say on camera | TikTok, Instagram, YouTube | TikTok transcript (1), Instagram transcript (2), YouTube transcript (1) | 1 or 2 |
| 5. Prior sponsors | YouTube | YouTube video sponsors | 1 |
| 6. Account region | TikTok | TikTok profile region | 1 |
| 7. Audience demographics | TikTok | TikTok user audience | 26 |
| 8. Other accounts | Cross-platform | find social profiles | 10 |
Worked example: vetting 200 TikTok creators
The base check per creator: 1 profile call, 3 pages of videos (about 90 days for a creator who posts most days), 1 page of comments on each of the 5 latest videos, 5 transcripts and 1 region call. That is 1 + 3 + 5 + 5 + 1 = 15 credits per creator.
- 200 creators x 15 = 3,000 credits.
- Audience demographics only for the 40 who pass: 40 x 26 = 1,040 credits.
- Total: 4,040 credits = $7.60 on the $47 pack ($1.88 per 1,000).
The order matters. The 26-credit audience call is the most expensive step, so run it last, on the creators who already passed the cheap checks. Private and not-found accounts are not charged, so dead handles on your list cost nothing.
Code: engagement and consistency
import requests, statistics
KEY = "YOUR_KEY"
H = {"x-api-key": KEY}
def videos(handle, pages=3):
items, cursor = [], None
for _ in range(pages):
params = {"handle": handle, **({"cursor": cursor} if cursor else {})}
d = requests.get("https://scrapeio.com/v3/tiktok/profile/videos",
params=params, headers=H, timeout=60).json()["data"]
items += d["items"]
if not d["has_more"]:
break
cursor = d["cursor"]
return items
v = [x for x in videos("creatorhandle") if x["plays"]]
plays = [x["plays"] for x in v]
er = [((x["likes"] or 0) + (x["comments"] or 0) + (x["shares"] or 0)) / x["plays"] for x in v]
print("median plays", statistics.median(plays))
print("median ER by views", round(statistics.median(er) * 100, 2), "%")
print("CV of plays", round(statistics.pstdev(plays) / statistics.mean(plays), 2))
The metrics and red flags
- Engagement rate by views = (likes + comments + shares) / plays, per post. Use the median, not the mean.
- Views to followers = median plays / followers. A large account whose posts reach a small slice of its followers may have an old or bought audience.
- Consistency = standard deviation of plays / mean plays (coefficient of variation). A high value means one or two hits carry the average. Price the deal on the median.
- Comment quality = share of sampled comments that are emoji-only, under three words, or repeated word for word. Clusters of identical generic comments on many posts are a classic sign of engagement pods or bought comments.
- Follower jumps. Snapshot the profile weekly during talks. A sudden jump with no viral post behind it needs an explanation.
- Sponsor history. Too many sponsors in a row, or a direct competitor last month, changes what the deal is worth.
Treat thresholds as starting points for your niche. Comedy accounts and B2B educators have very different normal ranges, so compare a creator to peers of the same size and topic.
Pitfalls
- Pinned posts show up first in a profile feed and are often the creator's biggest hits. Drop them before you compute medians.
- Sponsored posts usually perform below organic ones. Look at both, separately.
- Instagram views have their own meaning; read Instagram reel play counts explained before you compare reels with TikToks.
- Demographics are one input. Use them alongside the comment sample and the region, not as the only check.
- Old shapes in cache. A cached answer is free but can be up to the cache window old. For a final check, that is fine; for a live dispute, fetch again later.
Run it from an AI agent
The creator-vetting agent skill (install with npx skills add xhoantran/scrapeio-agent) wraps this checklist. With the MCP server connected, ask:
Vet @creatorhandle on TikTok for a skincare brand.
Use the last 60 videos: median plays, median engagement by views,
coefficient of variation, a 50-comment quality sample,
and any past sponsors or risky topics in the last 10 transcripts.
End with pass, review or fail and the reasons.
The agent calls tiktok_profile, tiktok_profile_videos, tiktok_comments and tiktok_transcript, and only reaches for tiktok_user_audience if you ask.
Doing it with ScrapeIO
Every step above is one endpoint on one key, with the same field names on TikTok, Instagram and YouTube, so the script works across all three by changing the path. A full TikTok check is about 15 credits, and dead handles cost nothing.
100 free credits, no card. Credits never expire.
Get API key