mcpField
F
finding-tiktok-ugc-creators-for-brands

finding-tiktok-ugc-creators-for-brands

github.com/apidojo-ioMarketing & growth1783 installsUpdated 24w ago
Repository

About finding-tiktok-ugc-creators-for-brands

A skill for finding TikTok creators who post user-generated product content. It guides hashtag and keyword discovery, profile enrichment, and scoring creators for brand campaign rosters.

Key features

  1. 01Search niche hashtags and keywords
  2. 02Collect creator profiles
  3. 03Calculate engagement and view ratios
  4. 04Score creators for UGC fit
  5. 05Classify creators into tiers

Use cases

  1. 01Build a creator roster for a product niche
  2. 02Compare candidate creators for paid UGC
  3. 03Filter inactive or off-niche accounts

MCP support

When Apify MCP is available, the skill uses `apify:run-actor` with TikTok scraper and profile-scraper actors.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill finding-tiktok-ugc-creators-for-brands

After installing, type/finding-tiktok-ugc-creators-for-brandsin Claude Code to confirm it loaded.

Details

From the project README

Finding TikTok UGC Creators for Brands

Discovers TikTok micro-creators who produce authentic product content. UGC creators (1K–100K followers) deliver the highest ROI for paid campaigns — authentic feel, affordable rates, and high engagement relative to follower count.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]TikTok URLs — user profiles, hashtags, music pages, search, locations
keywordsarrayOptional[]Search keywords/terms to find posts
sortTypestringOptionalRELEVANCESort order for keyword results: RELEVANCE, MOST_LIKED, DATE_POSTED
locationstringOptional—ISO 3166-1 alpha-2 country code for regional filtering (e.g. US, GB)
maxItemsnumberOptionalUnlimitedMaximum posts to return across the run
includeSearchKeywordsbooleanOptionalfalseAdd the matched search keyword field to each post
customMapFunctionstringOptional—JavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Search hashtags for niche UGC content
- [ ] Step 2: Collect creator handles from search
- [ ] Step 3: Enrich profiles
- [ ] Step 4: Score UGC fit
- [ ] Step 5: Deliver creator roster
Step 1: Build Hashtag Searches
Hashtags for niche: #[niche]review, #[niche]haul, #[niche]unboxing, #[niche]honest review,
                    #[niche]foryou, #ugc[niche], #[niche]tiktokmademebuyit

Example for skincare:

["#skincarereviews", "#skincarehaul", "#skincaretiktok", "#ugcskincare", "#honestskincarereview"]

Recommended — run_actor.js (handles waiting, output, and file saving automatically):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

APIFY_TOKEN must be set in environment or .env file.

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input:
{
  "keywords": ["#[niche]review", "#[niche]haul", "#ugc[niche]"],
  "maxItems": 200
}

REST API fallback:

curl -X POST   "https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs?token=$APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{
    "keywords": ["#skincarereviews", "#skincarehaul"],
    "maxItems": 200
  }'

Collect unique authorMeta.name (handles) with > 2 posts in niche.

Step 2: Enrich Creator Profiles

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~tiktok-profile-scraper"
Input:
{
  "profiles": ["https://www.tiktok.com/@[handle1]", "https://www.tiktok.com/@[handle2]"]
}

REST API fallback:

curl -X POST   "https://api.apify.com/v2/acts/apidojo~tiktok-profile-scraper/runs?token=$APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"profiles": ["https://www.tiktok.com/@handle1"]}'
Step 3: Score UGC Fit
engagement_rate = (avg_likes + avg_comments) / follower_count * 100

view_to_follower_ratio = avg_views / follower_count

ugc_score = (engagement_rate > 5 ? 1 : engagement_rate / 5) * 0.35
          + (view_to_follower_ratio > 1 ? 1 : view_to_follower_ratio) * 0.30
          + (follower_count in 5000..50000 ? 1 : 0.6) * 0.20
          + (posts_in_niche >= 3 ? 1 : posts_in_niche / 3) * 0.15

UGC tier classification:

  • TIER 1 (score ≥ 0.75): High engagement, consistent niche content — ideal for paid UGC
  • TIER 2 (score 0.50–0.74): Good engagement, some niche overlap — worth testing
  • TIER 3 (score < 0.50): Low engagement or single niche post — aspirational / monitoring list
Step 4: Edge Cases
  • Brand accounts appear in hashtag results: Drop entries where bio contains "Official", "brand", "@company" — keep only individual creators
  • Views from single viral video inflating avg: Calculate avg from last 10 posts; flag if std_dev > 3× avg (viral outlier)
  • Creator posts in multiple niches: Track niche_concentration = niche_posts / total_posts; flag if < 30%
  • Inactive creators: Skip if lastPostDate > 60 days ago

Output Format

# TikTok UGC Creator Roster: [NICHE]
Creators evaluated: [N] | TIER 1: [N] | TIER 2: [N] | Date: [DATE]

## TIER 1 — Prime UGC Creators
| Creator | Handle | Followers | Avg Views | Eng Rate | View/Follower | Niche % | Score |
|---------|--------|-----------|-----------|----------|---------------|---------|-------|
| [name] | @[handle] | [N] | [N] | [X%] | [X.X×] | [X%] | [0.XX] |

## TIER 2 — Worth Testing
| Creator | Followers | Avg Views | Eng Rate | Last Active |
|---------|-----------|-----------|----------|------------|

## Niche Hashtag Performance
| Hashtag | Posts Scraped | Avg Views per Post | Top Creator Found |
|---------|--------------|-------------------|-------------------|

Troubleshooting

Too many brand accounts: Tighten filter — drop accounts with follower_count > 500K and accounts with verification badge. Hashtag returns mainly brand posts: Switch to user-driven hashtags: #tiktokmademebuyit[niche], #[niche]recommendation. Creators found aren't making product content: Use hashtags that explicitly signal product review intent rather than broad niche tags.

Comments

Markdown supported