TikTok Influencer Scraper
Pricing
from $4.00 / 1,000 results
TikTok Influencer Scraper
Scrape TikTok creators by hashtag. Returns handle, name, follower count, bio, and email address. Filter by follower range. Supports email-only results, bio link following, and country annotation. Ideal for influencer outreach and lead generation.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer

PaxIQ
Actor stats
0
Bookmarked
14
Total users
5
Monthly active users
12 days ago
Last modified
Categories
Share
An Apify actor that scrapes TikTok creators by hashtag, extracts profile data + emails, and outputs a clean list ready for influencer outreach.
What It Does
- Hashtag → Creators — Navigates to
https://www.tiktok.com/tag/{hashtag}, intercepts TikTok's internal API calls, and collects creator handles while scrolling to load more content. - Profile Data — Visits each creator's profile (
@handle) and intercepts the user-detail API response to capture followers, following, likes, bio, and bio link. - Email Extraction — Regex-scans the bio text for email addresses, and optionally follows bio links (Linktree, Beacons, solo.to, etc.) to find hidden emails.
- Filter + Normalize — Applies a
min_followersfilter and outputs a clean 14-field schema.
No fragile TikTokApi library used. This actor uses Playwright with stealth settings to behave like a real browser.
Supported Use Cases
- Influencer outreach — Find creators in a niche, get their emails directly
- Market research — Understand which creators dominate a hashtag
- Agency prospecting — Build creator lists by vertical or geography
- Competitor analysis — See who's posting in your space
Input Schema
| Field | Type | Default | Description |
|---|---|---|---|
hashtags | string[] | required | Hashtags to scrape (without #). E.g. ["dutchfashion", "sportmode"] |
min_followers | integer | 5000 | Skip creators with fewer followers |
max_results | integer | 1000 | Maximum total creators returned |
extract_emails | boolean | true | Regex-scan bio text for email addresses |
follow_bio_links | boolean | true | Follow Linktree / Beacons / solo.to links to find hidden emails |
country_hint | string | "" | Optional ISO country code to annotate results (e.g. "NL", "DE") — best-effort, not a hard filter |
Example Input (input.json)
{"hashtags": ["dutchfashion", "sportmode"],"min_followers": 5000,"max_results": 1000,"extract_emails": true,"follow_bio_links": true,"country_hint": "NL"}
Output Schema (14 fields)
| Field | Type | Description |
|---|---|---|
handle | string | TikTok username (without @) |
display_name | string | Full display name |
first_name | string | First word of display_name, emojis stripped |
followers | integer | Follower count |
following | integer | Following count |
likes | integer | Total likes (heart count) |
bio | string | Bio text |
email | string | First email found in bio or bio link page |
bio_link | string | URL in the creator's bio |
profile_url | string | https://www.tiktok.com/@{handle} |
platform | string | Always "tiktok" |
country_hint | string | Passed through from input |
hashtag_source | string | Which hashtag surfaced this creator |
scraped_at | string | ISO 8601 UTC timestamp |
Example Output Record
{"handle": "fashiongirl_nl","display_name": "Sophie 🌷 Fashion","first_name": "Sophie","followers": 48200,"following": 312,"likes": 1450000,"bio": "Dutch fashion & lifestyle 🌷 collabs: sophie@fashiongirl.nl","email": "sophie@fashiongirl.nl","bio_link": "https://linktr.ee/fashiongirl_nl","profile_url": "https://www.tiktok.com/@fashiongirl_nl","platform": "tiktok","country_hint": "NL","hashtag_source": "dutchfashion","scraped_at": "2026-03-03T14:31:00Z"}
Pricing
| Component | Rate |
|---|---|
| Actor start | $0.00005 |
| Per result | $0.003 |
| 1,000 creators | ≈ $3.00 |
How It Works (Technical)
Scraping Strategy
Rather than using the fragile TikTokApi library (which breaks frequently), this actor uses Playwright with Chromium to:
- Navigate to
https://www.tiktok.com/tag/{hashtag} - Intercept XHR/fetch responses matching TikTok's internal API patterns:
/api/challenge/item_list//api/post/item_list//api/search/item/full/
- Scroll the page to trigger lazy-loading and collect more creator handles
- For each unique creator, navigate to
https://www.tiktok.com/@{handle}and intercept/api/user/detail/ - Run email extraction on bio + optionally follow
bio_link
Anti-Detection
- Realistic Chrome user-agent string
navigator.webdriverproperty hiddenplaywright-stealthpatches applied- Random delays between requests (0.5–2s)
- No automation flags in browser args
Email Extraction
email_extractor.py handles two strategies:
- Bio regex — standard
[a-z]+@[domain]pattern, with spam filtering - Bio link follow —
httpx(not Playwright) fetches the linked page and scans its HTML
Supported bio link aggregators: Linktree, linktr.ee, Beacons, solo.to, Bio.link, Campsite, lnk.bio, AllMyLinks, WithKoji, Carrd, About.me, TapLink.
Local Development
Prerequisites
pip install playwright playwright-stealth httpx apify apify-client beautifulsoup4playwright install chromium
Run Locally
- Create
input.jsonin the project root:
{"hashtags": ["dutchfashion"],"min_followers": 1000,"max_results": 20,"extract_emails": true,"follow_bio_links": true,"country_hint": "NL"}
- Run the actor:
$python src/main.py
- Results are written to
output.jsonin the project root.
Docker (matches Apify environment)
docker build -t tiktok-scraper .docker run --rm \-v $(pwd)/input.json:/usr/src/app/input.json \-v $(pwd)/output:/usr/src/app/output \tiktok-scraper
Notes & Limitations
- TikTok changes its internal API frequently. The XHR interception patterns may need updating if TikTok changes its API endpoint structure.
- Rate limiting — TikTok may throttle or CAPTCHA at high request rates. Add delays or use Apify proxies for large runs.
- Email coverage — Only creators who publicly share their email (in bio or bio link pages) will have emails populated. Expect ~10–30% email coverage depending on the niche.
- Country hint — TikTok does not expose user location in most API responses.
country_hintis passed through from your input, not scraped from TikTok.
License
MIT