TikTok 7 min read

How to build a TikTok creator research skill with AI

Use an AI skill to turn a niche and customer into TikTok searches, analyze what creators say, calculate recent average views, and collect only business emails they publish in public bios.

by
ScrapeCreators

Finding a TikTok creator for a campaign usually starts messy. Someone searches a few hashtags, opens profiles one by one, watches clips at 2x speed, then copies contact details into a sheet.

An AI skill can do the repetitive part without turning the final decision into a black box. Give it a short brief, have it generate useful search queries, search public TikTok videos, read transcripts, calculate a recent view baseline, and extract a business email only if the creator chose to publish one in their public bio.

The result is not “the perfect influencer list.” It is a short, reviewable research pack that makes the next human decision much faster.

In this guide, you’ll learn:

What the skill does

Give the skill a clear brief: who you want to find, what they should talk about, where they are, and any minimum reach you care about. It turns that into a small set of searches, finds public TikTok videos, checks the strongest ones with transcripts, and compares recent performance across the same number of videos.

The last part is deliberately boring: it reads the public bio and keeps an email only if the creator chose to list one. No guessing, enrichment, or automated outreach.

Scrape Creators provides the TikTok keyword search endpoint, TikTok transcript endpoint, TikTok Profile API, and profile video data. The skill uses those public-data responses to make a shortlist a person can actually review.

Turn a brief into TikTok searches

One broad keyword is rarely useful. Start with 8 to 15 searches from a few angles: the category, the problem the audience has, phrases creators use in videos, and relevant formats or products.

For a meal-prep campaign, that could mean “easy dinner after work”, “meal prep with me for my family”, and “weeknight dinner ideas”. Keep the country and language with the search plan, and keep the queries in the final report. That way, every creator has a clear path back to the search that found them.

Search TikTok and dedupe the results

Run the queries through the keyword search endpoint, then remove duplicate videos by URL or video ID. Group what remains by creator handle.

The first pass should be cheap. Look for a clear caption match, a recent post, basic engagement, and creators who appear in more than one relevant search. Do not treat one high-view video as proof that a creator is right for the campaign. The goal is a sensible candidate list before transcript work begins.

Use transcripts to check the fit

Captions can be vague. A transcript shows what the creator actually said.

Pull transcripts only for the strongest videos. Ask the model to judge the match, cite one piece of spoken evidence, name the content angle, and flag anything that needs a human look. Keep the source video URL with the result.

A transcript is one signal, not proof. Fast speech, music, and language mismatches can make it incomplete. If it is missing, record that and lower your confidence instead of pretending the creator is a perfect match.

Measure recent views, not just followers

Follower count is context, not the answer. A smaller creator with steady recent videos can be more useful than a large account with one old breakout post.

For each shortlisted handle, use the TikTok Profile API for public profile details and Profile Videos for a consistent recent sample, such as the latest 12 videos. Divide total plays by the number of videos for average views, keep the median beside it, and calculate engagement from likes, comments, shares, and plays.

Always show the sample size and collection date. If someone has only six recent uploads, say so. It makes the comparison honest.

Collect public business contacts carefully

Some creators put a business email in their public TikTok bio. Keep it only when it is plainly written there. If there is no public email, return nothing.

Do not guess an address from a name or domain. Do not crawl for personal contact details. A person should still approve every outreach message.

For related public-profile workflows, see our guide on getting TikTok followers and the broader social media intelligence API guide.

A skill template you can use

Copy this into Claude’s project instructions or save it as SKILL.md. The Copy full skill for Claude button copies the actual skill text, not the surrounding article.

name: tiktok-creator-research
description: Find and qualify public TikTok creators from a campaign brief. Generate focused searches, use transcripts as evidence, calculate recent performance from public videos, and surface only business emails explicitly published in a public bio.
---

# TikTok creator research

## What this skill is for

Use this skill when someone needs a short, defensible list of TikTok creators for a campaign, partnership, competitor analysis, or content research project.

The output must be research a person can audit. Do not return a long list of handles with generic claims. Every creator needs source URLs, a reason they matched, a recent-performance sample, and clear caveats.

This skill uses public TikTok data only. It does not log into TikTok, access private accounts, recover hidden contact details, guess an email address, or send messages.

## Inputs to collect before searching

Ask for the missing pieces only when they materially change the search. Otherwise use the defaults below and state them in the final report.

```json
{
  "campaign_brief": "What the creator should make or talk about",
  "target_country": "US",
  "language": "en",
  "desired_creator_count": 10,
  "follower_range": {
    "min": null,
    "max": null
  },
  "minimum_recent_average_views": null,
  "excluded_topics_or_competitors": [],
  "must_have": [],
  "nice_to_have": [],
  "recent_video_sample_size": 12,
  "transcripts_per_creator": 3
}
```

Defaults:

- Use 10 to 15 search queries.
- Inspect up to 50 unique candidate creators before narrowing the list.
- Pull up to 3 transcripts per candidate creator, starting with the videos that matched the brief most clearly.
- Use the newest 12 public videos for the performance calculation. If fewer are available, use what is available and flag the smaller sample.
- Do not apply a follower or view threshold unless the requester provides one.

## API contract

All calls use `https://api.scrapecreators.com` and the `x-api-key` header. The API key must come from a secret or environment variable. Never put it in a skill file, report, client-side code, or prompt.

Use these endpoints:

```text
GET /v1/tiktok/search/keyword?query={query}&region={country}&sort_by=relevance&trim=true
GET /v1/tiktok/video/transcript?url={tiktok_video_url}&language={language}
GET /v1/tiktok/profile?handle={handle}
GET /v3/tiktok/profile/videos?handle={handle}&sort_by=latest&trim=true
```

The search response can contain duplicate videos. The profile-videos endpoint can paginate. Use `max_cursor` only when the first page does not give enough recent videos for the selected sample size.

## Step 1: turn the brief into a search plan

Create a query plan before making API calls. The plan should cover several ways relevant creators speak about the same problem:

1. Category terms: the plain description of the topic.
2. Audience problem terms: the situation, pain point, or job to be done.
3. Creator-language terms: phrases that sound like video hooks, not SEO keywords.
4. Format terms: for example, "day in my life", "come with me", "what I eat", "review", or "how I use" when they fit the brief.
5. Product or outcome terms: only if they are genuinely useful to the campaign.

Return 10 to 15 queries. Each query should have a short rationale and intent. Avoid generic queries such as "fitness", "fashion", or "food" unless the brief itself is genuinely broad. Avoid exact brand names unless the task is competitor research.

Example output:

```json
[
  {
    "query": "easy dinner after work",
    "intent": "audience problem",
    "why": "Likely to find creators making practical weeknight content rather than general recipe accounts."
  },
  {
    "query": "meal prep with me for my family",
    "intent": "creator language and format",
    "why": "Matches a phrase creators commonly use in a video hook."
  }
]
```

Keep this query plan. Include it in the final report so a reviewer knows how the creators were discovered.

## Step 2: search, normalize, and dedupe

Run every query through `/v1/tiktok/search/keyword` with the requested region. Build a candidate-video table containing:

- `video_url` and video ID
- creator handle and display name
- caption
- posting date when present
- play, like, comment, and share counts
- the query or queries that found the video

Dedupe videos by video ID or canonical video URL. Then group the remaining videos by creator handle. If a creator appears in several relevant searches, retain that as evidence. It does not automatically make them a better fit.

Before transcript work, remove obvious non-matches. Skip private, unavailable, or clearly unrelated results. Do not discard a small creator solely because the search video's views are low.

## Step 3: use transcripts as relevance evidence

For each promising creator, choose up to `transcripts_per_creator` videos that most directly match the campaign. Call `/v1/tiktok/video/transcript` for the public video URL.

Clean the returned WEBVTT text before analysis:

- Remove timestamps and repeated caption fragments.
- Preserve the original transcript and video URL in the research record.
- Do not silently translate a transcript. If the spoken language does not match the campaign language, flag it.

For each transcript, return this structure:

```json
{
  "video_url": "https://www.tiktok.com/@creator/video/123",
  "relevance": "high",
  "confidence": 0.86,
  "content_angle": "Shows a 20-minute dinner workflow for parents after work.",
  "evidence": "A short quote or faithful paraphrase of what the creator says.",
  "brand_safety_flags": [],
  "notes": "Why this does or does not fit the brief."
}
```

Use only the transcript, caption, and visible public metadata as evidence. Do not infer age, gender, ethnicity, religion, health, political views, family status, or income from a creator's appearance, name, audience, or content.

A missing transcript is not a disqualification. Record `transcript_status: unavailable` and use the caption and other matched videos for a lower-confidence assessment. Use `use_ai_as_fallback=true` only for a shortlisted video under two minutes, not for broad discovery.

## Step 4: enrich the creator and calculate recent performance

For each creator who passes the relevance review:

1. Call `/v1/tiktok/profile?handle={handle}`.
2. Call `/v3/tiktok/profile/videos?handle={handle}&sort_by=latest&trim=true`.
3. Take the newest `recent_video_sample_size` public videos. If fewer videos are returned, use the actual count and flag it.
4. Exclude a video only when TikTok reports no usable `play_count`. Do not remove low-performing videos just because they lower the average.

Calculate these metrics from the same recent sample for every creator:

```text
recent_average_views = sum(play_count) / sample_size
recent_median_views = median(play_count)
recent_engagement_rate =
  sum(digg_count + comment_count + share_count) / sum(play_count) * 100
```

Round views to whole numbers and engagement rate to one decimal place. Include:

- follower count from the profile response
- total video count, when returned
- sample size
- oldest and newest video date in the sample, when available
- collection date and time

Interpretation rules:

- Use median views beside average views. A single breakout video can distort the average.
- Do not compare metrics from different sample sizes without saying so.
- Do not call a creator "high engagement" without showing the actual rate and sample.
- Do not estimate audience demographics from public profile data.
- Do not claim a video's performance is causal proof that a future sponsorship will perform the same way.

## Step 5: handle public bio contacts

Read `user.signature` or the equivalent public bio field from the profile response. Extract an email only when it is explicitly present in that public text.

Return one of these outcomes:

```json
{
  "public_business_email": "partnerships@example.com",
  "email_source": "TikTok public bio",
  "email_status": "explicit"
}
```

```json
{
  "public_business_email": null,
  "email_source": null,
  "email_status": "not_publicly_listed"
}
```

Never guess an address from a name, website, brand, or domain. Do not crawl a linked site for personal contact details. Do not use the result for mass outreach. This skill produces a research list that a person must review before any contact is made.

## Ranking method

Rank shortlisted creators with a transparent score. Use the campaign brief, not vanity metrics, as the primary signal.

```text
relevance_score: 0 to 50
  Transcript and caption evidence against must-have criteria.

consistency_score: 0 to 25
  More than one relevant recent video, with clear evidence.

recent_performance_score: 0 to 20
  Recent median and average views in context of the stated threshold.

completeness_score: 0 to 5
  Enough public evidence to make a useful decision.
```

If there is no stated view threshold, do not pretend the performance score measures objective quality. Use it to distinguish a consistently active creator from an account with sparse or unreliable recent data.

Never penalize a creator because no email is public. Contact availability is a separate field, not a relevance or quality signal.

## Error handling and cost control

- Cache a successful response during the current research run by video URL and handle.
- Retry a transient API failure once with a short delay. Do not retry invalid input, missing profiles, private accounts, or a transcript that is unavailable.
- Dedupe before transcript calls.
- Stop transcript work once the desired shortlist has strong enough evidence.
- Report partial failures in a `research_notes` field instead of hiding them.
- If the task cannot meet the requested count without weak matches, return fewer creators and explain why.

## Final output

Return a concise report with four sections:

1. **Search plan**: queries, intent, country, language, and the date collected.
2. **Ranked shortlist**: creators in a table with profile URL, matched videos, relevance evidence, recent average and median views, engagement rate, sample size, public email status, and caveats.
3. **Manual-review list**: creators with promising signals but missing transcripts, too few recent videos, unclear fit, or outlier performance.
4. **Research notes**: API failures, duplicates removed, assumptions, and any filters that were impossible to apply from public data.

Use this creator shape:

```json
{
  "rank": 1,
  "handle": "creatorhandle",
  "profile_url": "https://www.tiktok.com/@creatorhandle",
  "why_matched": "Found through 'easy dinner after work'; two recent videos show practical 20-minute dinner routines for parents.",
  "evidence": [
    {
      "video_url": "https://www.tiktok.com/@creatorhandle/video/123",
      "relevance": "high",
      "transcript_evidence": "The creator describes a 20-minute dinner they make after work for their family."
    }
  ],
  "metrics": {
    "followers": 82000,
    "recent_average_views": 46100,
    "recent_median_views": 38400,
    "recent_engagement_rate": 5.8,
    "sample_size": 12,
    "collected_at": "2026-07-17T12:00:00Z"
  },
  "public_business_email": null,
  "email_status": "not_publicly_listed",
  "caveats": ["One transcript was unavailable."]
}
```

## Non-negotiable rules

- Public data only.
- Never infer sensitive or private traits.
- Never fabricate a transcript, metric, email, or source URL.
- Never send outreach, follow users, or take an external action.
- Keep raw source URLs and calculation inputs so the result can be checked.
- Prefer fewer, well-supported creators over a padded list.

The agent still needs an implementation that makes authenticated HTTP requests. Each request to Scrape Creators uses your x-api-key header. Keep that key in an environment variable rather than embedding it in the skill file or prompt.

Output format and guardrails

A good final report is compact enough for a marketer to review. For each creator, include:

FieldWhy it is there
Creator and TikTok URLLets a human verify the profile.
Why they matchedNames the search and gives one transcript-based piece of evidence.
Recent viewsShows average, median, sample size, and collection date.
FollowersUseful context, but not the deciding metric.
Public business emailIncluded only when explicitly listed in the public bio.
CaveatsFlags weak transcript evidence, sparse samples, or obvious outliers.

Do a human review before outreach, payment, or any public claim about a creator. The skill can save hours of research. It should not pretend it can judge someone perfectly from a few TikToks.

If you want to test the workflow before building it, start with a few keyword searches in the TikTok API docs, inspect the returned URLs, then add transcripts and profile-video calculations one layer at a time.

FAQ

Frequently asked
questions

Can't find what you're looking for? Email me.

Adrian Horning

Written by

Adrian Horning

Founder of ScrapeCreators. I write about social data APIs, scraper reliability, and turning public creator data into useful products.

Connect

ScrapeCreatorsScrapeCreators
Social Media Scraping API
for Developers

Real-time data from TikTok, Instagram, YouTube, X, Facebook, Reddit, and more.

Real-time Data

Fresh, accurate, always up-to-date.

No Proxies

We handle the infrastructure.

Developer First

Simple API. Powerful results.

TikTok logoInstagram logoYouTube logoX logoFacebook logoReddit logo
{200 OK
"platform": "youtube",
"type": "video",
"title": "Never Gonna Give You Up",
"views": 12504321,
"transcript": "We're no strangers to love...",
}
Success124ms
Purple gift box representing 100 free ScrapeCreators credits
Get 100 credits on us - instantly.

No credit card required. Start building for free.

Try the API, on us.

New developers get 100 free credits automatically when they sign up. No credit card required.

Get started free
Trusted by 10,000+ developers
99.9% uptime
Secure API access