# How do I find TikTok creators in a niche with an API?

> Build a shortlist of TikTok creators for a niche: search the niche's keywords, group videos by creator, then pull followers and likes. Steps, cost and a Python script.

Canonical page: https://okdata.online/answers/find-tiktok-creators-by-niche/

**Short answer: **Search the niche's keywords with TikTok video search ($0.002 per page of about 30 videos), group the videos by creator, then pull each promising creator's followers, total likes and video count with TikTok account profile ($0.002 each). A shortlist built from 10 keywords × 3 pages and 150 profiles costs $0.36.

A home-espresso brand wants 20 micro-creators on TikTok: people with 10,000 to 100,000 followers who already make coffee videos that get liked. Nobody has a directory of them. They show up in search, though, attached to the videos that rank for the words your customers type.

## The method

1. **Write the niche as searches.** Ten phrases a buyer would type: home espresso, latte art at home, espresso machine review, and so on. Use the language of the market you target, because search has no country filter.
2. **Search each one.** [TikTok video search](/apis/tiktok/videos/search/) with `sort=most_liked`, three pages each. You get about 30 videos per page with the author's handle.
3. **Group by creator.** Count how many of each creator's videos showed up and add up their likes. Someone who shows up for four different phrases probably lives in the niche; a single viral hit shows up once.
4. **Pull profiles.** [TikTok account profile](/apis/tiktok/users/get/) for the top 150 handles gives followers, total likes, video count and bio.
5. **Filter.** Keep the follower range you want, drop accounts with few videos, and read the bios for a contact email.

## Cost

| Step | Calls | Cost |
|---|---|---|
| 10 phrases × 3 pages | 30 | $0.06 |
| 150 profiles | 150 | $0.30 |
| Whole shortlist | 180 | $0.36 |

## Script

```python
import os, requests
from collections import defaultdict

API = "https://api.okdata.online/v1"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}

def get(path, **params):
    body = requests.get(f"{API}/{path}", headers=H, params=params, timeout=60).json()
    if body["code"] != "ok":
        raise RuntimeError(f"{body['code']}: {body['message']}")
    return body

phrases = ["home espresso", "latte art at home", "espresso machine review"]
hits = defaultdict(lambda: {"videos": 0, "likes": 0})
for q in phrases:
    cursor = None
    for _ in range(3):
        body = get("tiktok/videos/search", query=q, sort="most_liked", **({"cursor": cursor} if cursor else {}))
        for v in body["data"]["items"]:
            if not v["author"]["username"]:
                continue
            h = hits[v["author"]["username"]]
            h["videos"] += 1
            h["likes"] += v["metrics"]["likes"] or 0
        if not body["page"]["has_more"]:
            break
        cursor = body["page"]["next_cursor"]

top = sorted(hits, key=lambda u: (hits[u]["videos"], hits[u]["likes"]), reverse=True)[:150]
for handle in top:
    p = get("tiktok/users/get", username=handle)["data"]["item"]
    if 10_000 <= (p["followers"] or 0) <= 100_000:
        print(handle, p["followers"], p["likes"], p["posts"], (p["bio"] or "")[:60])
```

## What this will not tell you

- Audience age, gender and country are not public, so they are not here.
- Follower counts inside search results are empty; that is why step 4 exists.
- There is no account search and no profile video list. Creators who never rank for your phrases stay invisible, so widen the phrase list rather than paging deeper.

## Alternatives

TikTok's own creator marketplace shows audience demographics and handles outreach, and it is the better choice once you are running paid campaigns with a TikTok ad account. Influencer databases save the search step for a monthly fee. For a first list of twenty names, scrolling the app with a notebook works too. The [creator discovery](/solutions/creator-discovery/) page runs the same method across platforms.

## Endpoints used

- [TikTok video search](https://okdata.online/apis/tiktok/videos/search/) `tiktok.videos.search`: $0.002 per call · about 30 videos per page
- [TikTok account profile](https://okdata.online/apis/tiktok/users/get/) `tiktok.users.get`: $0.002 per call

Updated 2026-11-12
