Influencer discovery
Translate a campaign brief into a creator shortlist, then refresh the candidates
that merit a closer look. Distinguish creator location and content signals from
audience demographics, which these endpoints do not establish.
Setup and requests
Set CRAWLORA_API_KEY to your key from crawlora.net.
Run the bundled scripts/crawlora.sh from this skill directory or by absolute
path. It sends x-api-key to https://api.crawlora.net/api/v1; keep the key in
the environment. Read reference/endpoints.md for
platform-specific filters and ID shapes.
Discover and qualify
Extract the platforms, topic, geography, follower range, requested count,
and campaign constraints. Ask only for missing information that changes selection.
Discover a small candidate pool using the datasets below. Bio keyword matches
are candidate evidence, not proof of sustained content focus. Use returned
facets where supported for exact categories and regions.
| Platform |
Dataset search |
Non-obvious differences |
| TikTok |
/datasets/creators/search |
country, niche, min_followers; no max_followers filter, so enforce the upper bound locally |
| Instagram |
/datasets/instagram-users/search |
min_followers, max_followers, category_name, crawled_after; no country filter |
| YouTube |
/datasets/youtube-creators/search |
region, min_followers, max_followers, hydrated_after; followers mean subscribers |
Use page_size up to 100; page * page_size must not exceed 10,000.
Dataset results are periodically refreshed, not live. If the candidate pool
is too small, relax a stated criterion or use supported live search; disclose it.
Refresh shortlisted creators with /tiktok/profile/{handler},
/instagram/profile/{username}, or /youtube/profile/{id}. Preserve the
platform ID and original dataset timestamps. TikTok dataset unique_id is
the handle for the profile route; creator_uid is a dataset identity, not
a handle. For recent-content sampling,
TikTok posts require the profile's secUid; Instagram Reels require a numeric
user ID; YouTube channel videos accept the channel ID and return continuation
tokens. Do not substitute display names for these identifiers.
Inspect a bounded, consistent content sample per candidate when content fit
or engagement matters. Record sample size and dates. Separate organic content
from observed sponsorship disclosures; do not invent partnership histories.
Rank by the user's criteria with brief supporting evidence. Deduplicate within
each platform by stable ID. Link identities across platforms only when public
profile links or other direct evidence establish the relationship.
scripts/crawlora.sh /datasets/creators/search \
q=fitness min_followers=50000 page_size=10
scripts/crawlora.sh /datasets/instagram-users/search \
q=fitness min_followers=50000 max_followers=500000 page_size=10
scripts/crawlora.sh /datasets/youtube-creators/search \
q=fitness min_followers=50000 max_followers=500000 page_size=10
Metrics and output
- TikTok
engagement_rate, avg_views, and post_stats cover only an enriched
subset. engagement_desc sorts missing metrics last; it is not a complete
population ranking. Keep absent metrics unknown, never zero.
- YouTube count fields can be zero when their
*_available flag is false.
Respect those flags before filtering or comparing creators.
- If calculating an engagement rate, name the formula, denominator, sample size,
and dates. Do not compare unlike platform definitions in a single engagement
ranking. Neither high engagement nor a verification badge proves audience authenticity.
- Public contacts can be unavailable. TikTok email output requires
include_email=true and an entitled non-Free key; has_email=true alone
does not reveal an address. Do not guess hidden contact information.
Return the requested shortlist/table/CSV with platform, handle/channel ID,
profile URL, topic-fit evidence, follower count, refresh time/status, sampled
content URLs, metric definitions, and fit rationale. Mark unverified geography
or audience assumptions explicitly. Sending messages requires a separate user request.
Use a bounded number of discovery pages and profile refreshes. On 429, back
off; retry a transient 5xx once. Stop on 401/403 and inspect application
code before using data. A failed live refresh may leave a clearly labeled
dataset-only candidate; it must not silently become a current observation.
1---2name: influencer-discovery3description: Find and shortlist TikTok, Instagram, and YouTube creators for a campaign using Crawlora's creator datasets and live profile/content endpoints. Use for creator sourcing, comparing campaign fit, and producing an evidence-backed influencer shortlist.4---56# Influencer discovery78Translate a campaign brief into a creator shortlist, then refresh the candidates9that merit a closer look. Distinguish creator location and content signals from10audience demographics, which these endpoints do not establish.1112## Setup and requests1314Set `CRAWLORA_API_KEY` to your key from [crawlora.net](https://crawlora.net).15Run the bundled `scripts/crawlora.sh` from this skill directory or by absolute16path. It sends `x-api-key` to `https://api.crawlora.net/api/v1`; keep the key in17the environment. Read [reference/endpoints.md](reference/endpoints.md) for18platform-specific filters and ID shapes.1920## Discover and qualify21221. Extract the platforms, topic, geography, follower range, requested count,23 and campaign constraints. Ask only for missing information that changes selection.242. Discover a small candidate pool using the datasets below. Bio keyword matches25 are candidate evidence, not proof of sustained content focus. Use returned26 facets where supported for exact categories and regions.2728 | Platform | Dataset search | Non-obvious differences |29 |---|---|---|30 | TikTok | `/datasets/creators/search` | `country`, `niche`, `min_followers`; no `max_followers` filter, so enforce the upper bound locally |31 | Instagram | `/datasets/instagram-users/search` | `min_followers`, `max_followers`, `category_name`, `crawled_after`; no country filter |32 | YouTube | `/datasets/youtube-creators/search` | `region`, `min_followers`, `max_followers`, `hydrated_after`; followers mean subscribers |3334 Use `page_size` up to 100; `page * page_size` must not exceed 10,000.35 Dataset results are periodically refreshed, not live. If the candidate pool36 is too small, relax a stated criterion or use supported live search; disclose it.373. Refresh shortlisted creators with `/tiktok/profile/{handler}`,38 `/instagram/profile/{username}`, or `/youtube/profile/{id}`. Preserve the39 platform ID and original dataset timestamps. TikTok dataset `unique_id` is40 the handle for the profile route; `creator_uid` is a dataset identity, not41 a handle. For recent-content sampling,42 TikTok posts require the profile's `secUid`; Instagram Reels require a numeric43 user ID; YouTube channel videos accept the channel ID and return continuation44 tokens. Do not substitute display names for these identifiers.454. Inspect a bounded, consistent content sample per candidate when content fit46 or engagement matters. Record sample size and dates. Separate organic content47 from observed sponsorship disclosures; do not invent partnership histories.485. Rank by the user's criteria with brief supporting evidence. Deduplicate within49 each platform by stable ID. Link identities across platforms only when public50 profile links or other direct evidence establish the relationship.5152```sh53scripts/crawlora.sh /datasets/creators/search \54 q=fitness min_followers=50000 page_size=1055scripts/crawlora.sh /datasets/instagram-users/search \56 q=fitness min_followers=50000 max_followers=500000 page_size=1057scripts/crawlora.sh /datasets/youtube-creators/search \58 q=fitness min_followers=50000 max_followers=500000 page_size=1059```6061## Metrics and output6263- TikTok `engagement_rate`, `avg_views`, and `post_stats` cover only an enriched64 subset. `engagement_desc` sorts missing metrics last; it is not a complete65 population ranking. Keep absent metrics unknown, never zero.66- YouTube count fields can be zero when their `*_available` flag is false.67 Respect those flags before filtering or comparing creators.68- If calculating an engagement rate, name the formula, denominator, sample size,69 and dates. Do not compare unlike platform definitions in a single engagement70 ranking. Neither high engagement nor a verification badge proves audience authenticity.71- Public contacts can be unavailable. TikTok email output requires72 `include_email=true` and an entitled non-Free key; `has_email=true` alone73 does not reveal an address. Do not guess hidden contact information.7475Return the requested shortlist/table/CSV with platform, handle/channel ID,76profile URL, topic-fit evidence, follower count, refresh time/status, sampled77content URLs, metric definitions, and fit rationale. Mark unverified geography78or audience assumptions explicitly. Sending messages requires a separate user request.7980Use a bounded number of discovery pages and profile refreshes. On `429`, back81off; retry a transient `5xx` once. Stop on `401`/`403` and inspect application82`code` before using `data`. A failed live refresh may leave a clearly labeled83dataset-only candidate; it must not silently become a current observation.