TikTok Email Scraper
Pricing
from $2.49 / 1,000 results
TikTok Email Scraper
TikTok Email Scraper SD - TikTok Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from TikTok results by keyword, location and email domain - TikTok email extractor.
Pricing
from $2.49 / 1,000 results
Rating
0.0
(0)
Developer
Leads Scraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 minutes ago
Last modified
Categories
Share
TikTok Email Scraper - Find Public Creator Emails by Keyword and Domain
The TikTok Email Scraper is an Apify Actor that finds publicly indexed contact emails belonging to TikTok accounts. You give it keywords, it gives you a clean dataset of leads.
The TikTok Email Scraper works by running site:tiktok.com searches through the Apify GOOGLE_SERP proxy and parsing the emails out of the result blocks. That is the whole mechanism, and it is worth being clear about it up front.
The TikTok Email Scraper does not log into TikTok, does not use TikTok's API, and does not open tiktok.com. There is no browser, no JavaScript rendering, no authentication and no cookies.
Everything the TikTok Email Scraper returns already exists in Google's public search index: titles, snippets and site labels. If a creator wrote collabs: me@gmail.com in a bio that Google crawled, the TikTok Email Scraper can find it. If they did not, nothing will.
That makes this a TikTok email extractor for keyword-driven contact discovery, not a profile-by-profile enrichment tool. You do not need a list of usernames to start - you start from a niche.
Key Features
| Feature | What it does |
|---|---|
| Keyword-driven search | Start the TikTok Email Scraper from a niche or job title, not from a list of TikTok handles |
| Query expansion | Each keyword x domain pair is searched as base, quoted, intitle: and one variant per modifier |
| Domain filtering | Only emails on the domains you list (@gmail.com, @yahoo.com, ...) are kept |
| Obfuscation handling | Understands name [at] domain [dot] com, name (at) domain, name @ domain.com, domain .com, zero-width characters and the full-width at sign @ |
| Junk filter | Rejects placeholders such as email@, yourname@, test@, xxx@ and single-character locals |
| Boundary-correct matching | @gmail.com will not match inside @gmail.company or @gmail.com.br |
| Global deduplication | One row per unique email across every query and every page of the run |
| Concurrency | An asyncio worker pool runs several queries in parallel with a shared stop signal |
| Retry logic | Up to 3 attempts per page, exponential backoff, a fresh proxy session per request |
| Block detection | CAPTCHA, "unusual traffic" and consent pages are detected and retried, never counted as empty |
| Resumable state | Progress is stored in the key-value store, keyed by a hash of your input |
| Fallback parser | If Google's markup changes, the run degrades to "emails without account details", not "no emails" |
| Live dataset writes | Every lead is pushed to the Apify dataset the moment it is found |
| Location targeting | An optional location phrase is appended to every query |
The TikTok Email Scraper parser locates each <h3> title and then the smallest surrounding block. It does not depend on Google's CSS class names, which is why the TikTok Email Scraper survives most layout changes.
How the TikTok Email Scraper Works
The TikTok Email Scraper pipeline is short and deterministic. Here is the full sequence.
- Read input. Keywords, location, email domains and limits are validated.
- Build queries. The TikTok Email Scraper composes
site:tiktok.comqueries, e.g.site:tiktok.com fitness coach "@gmail.com" "New York". - Expand queries. Base queries run first, then quoted,
intitle:and one variant per query modifier. - Fetch search results. Pages are fetched asynchronously with
aiohttpthrough the Apify GOOGLE_SERP proxy. - Parse structurally. Each result block is isolated around its
<h3>heading. - Extract emails. A domain-filtered regex pulls addresses out of the block text, after normalisation.
- Deduplicate and push. Each new lead is written straight to the dataset as structured data.
Pagination is capped per query by maxPagesPerQuery. A query also stops early once several consecutive pages produce no new email, so the crawler does not burn proxy calls on exhausted result sets.
Blocked or failed queries are re-queued once at the end of the run. The TikTok Email Scraper then logs a summary: pages fetched, blocked pages, retries and emails per page.
What Data Does It Extract?
Every TikTok Email Scraper dataset item is a lead with the email, whatever account metadata Google exposed, and full provenance so you can audit where the address came from.
The TikTok Email Scraper captures the handle and canonical profile URL whenever Google's result exposes a tiktok.com/@handle path. For hashtag, discovery and caption results, Google often prints only a display name - in that case username is null and profileUrl is empty.
That is a Google limitation, not a defect in the TikTok Email Scraper. The email, the bio snippet and the account label are still returned.
Input Schema for the TikTok Email Scraper
| Field | Type | Default | Meaning |
|---|---|---|---|
keywords | array (required) | ["creator", "founder"] | Search terms describing the accounts you want (niche, job title, industry) |
location | string | "" | Optional location phrase added to every query |
customDomains | array | ["@gmail.com", "@yahoo.com"] | Only emails on these domains are kept; the leading @ is optional |
maxEmails | integer 1-10000 | 20 | Stop after this many unique emails |
countryCode | string | "" | Two-letter country for the search proxy (US, GB, DE...) |
expandQueries | boolean | true | Search each keyword x domain pair in several phrasings |
queryModifiers | array | ["email", "contact", "business inquiries", "collab", "booking", "dm"] | Extra words combined with each keyword when expansion is on |
maxPagesPerQuery | integer 1-50 | 30 | Page cap per query |
maxConcurrency | integer 1-20 | 5 | Parallel queries |
The default modifiers are tuned for TikTok. collab, booking and business inquiries are the phrases creators actually type next to an address in a bio, which is why they earn their place in the TikTok Email Scraper defaults.
JSON input example
{"keywords": ["fitness creator", "skincare founder", "dance choreographer"],"location": "Los Angeles","customDomains": ["@gmail.com", "@outlook.com"],"maxEmails": 500,"countryCode": "US","expandQueries": true,"queryModifiers": ["business inquiries", "collab", "booking", "email"],"maxPagesPerQuery": 30,"maxConcurrency": 5}
Output Schema and Structured Data Fields
Every item the TikTok Email Scraper writes carries all 14 fields below. Nothing is conditional, so your CSV or JSON export always has the same columns.
| Field | Meaning |
|---|---|
network | Platform name |
keyword | The keyword that produced the lead |
query | The exact Google query used |
title | Raw result title |
accountName | Account label Google prints (handle or display name) |
fullName | Display name parsed from a profile-style title; empty for post captions |
username | URL-safe handle when TikTok exposes one; otherwise null |
profileUrl | Canonical account URL when a handle is known; otherwise empty |
url | Direct platform link when exposed, else the profile URL |
description | Bio or caption snippet, cleaned of labels and engagement counters |
email | Lower-cased email address |
emailDomain | The matched domain (e.g. @gmail.com) |
possiblyTruncated | true when Google's snippet ellipsis touched the email - verify before sending |
foundAt | ISO 8601 UTC timestamp |
JSON output example
[{"network": "TikTok","keyword": "fitness creator","query": "site:tiktok.com fitness creator \"collab\" \"@gmail.com\" \"Los Angeles\"","title": "Maya Ortiz (@mayamovesla) | TikTok","accountName": "mayamovesla","fullName": "Maya Ortiz","username": "mayamovesla","profileUrl": "https://www.tiktok.com/@mayamovesla","url": "https://www.tiktok.com/@mayamovesla","description": "LA fitness creator. Mobility + home workouts. Collabs: maya.moves.la@gmail.com","email": "maya.moves.la@gmail.com","emailDomain": "@gmail.com","possiblyTruncated": false,"foundAt": "2026-05-14T09:12:44Z"},{"network": "TikTok","keyword": "skincare founder","query": "site:tiktok.com skincare founder \"business inquiries\" \"@gmail.com\"","title": "skincare founder | TikTok","accountName": "TikTok","fullName": "","username": null,"profileUrl": "","url": "https://www.tiktok.com/discover/skincare-founder","description": "business inquiries: hello.lumeskin@gmail.com ...","email": "hello.lumeskin@gmail.com","emailDomain": "@gmail.com","possiblyTruncated": true,"foundAt": "2026-05-14T09:13:02Z"}]
The second row is the honest case for the TikTok Email Scraper. Google served a discovery page rather than a profile, so there is no handle to build a profileUrl from, and the snippet ellipsis touched the address - hence possiblyTruncated: true.
How to Use the TikTok Email Scraper in Five Steps
- Open the Actor and make sure your account has Apify proxy access. The GOOGLE_SERP proxy is required.
- Enter 3-10 keywords. Specific beats broad:
pilates instructoroutperformsfitness. - Set your email domains. Keep
@gmail.comand@yahoo.com, or add@outlook.com,@icloud.com,@proton.me. - Set
maxEmails. Start at 20 to sanity-check the output, then raise it once the leads look right. - Run, then export. Download the dataset as CSV, JSON, XLSX or pull it via the Apify API into your CRM.
Add a location when you are prospecting a city with the TikTok Email Scraper. Turn expandQueries off only when you want a single tight query and a fast, cheap run.
TikTok Email Scraper Use Cases
| Use case | Who it is for | How the TikTok Email Scraper helps |
|---|---|---|
| TikTok influencer outreach | Brand and agency marketers | Build a TikTok influencer contact list for a niche before pitching |
| UGC creator sourcing | DTC and e-commerce brands | Find creators who already advertise collab and booking addresses |
| Sponsorship prospecting | Media buyers | Collect creator emails per vertical and per city |
| Talent scouting | Creator management agencies | Discover unsigned creators posting business inquiry contacts |
| Local business outreach | Agencies selling social media services | Combine a niche keyword with a location to find local operators |
| App and product launches | Founders | Assemble a seeding list of micro-creators in your category |
| Market research | Analysts | Sample how a niche presents itself in bios and captions |
| CRM enrichment | RevOps | Feed structured data straight into an existing pipeline |
If your outreach programme spans several networks, pair this Actor with the Instagram Email Scraper and the YouTube Email Scraper. Short-form creators very often run all three.
Why Use This Actor for Creator Contact Discovery
Most TikTok email extractor tools require a list of profiles as input. The TikTok Email Scraper does the opposite: it starts from intent, expands a query set, and returns whoever matches.
Because the TikTok Email Scraper never touches TikTok itself, there is no login, no rate-limited API quota and no session to maintain. The only dependency is Apify's search proxy.
The TikTok Email Scraper extraction layer is where the real work happens. Normalisation, obfuscation handling, the junk filter, boundary-correct domain matching and soft-wrap repair together remove most of the garbage that naive regex email scraping produces.
Soft-wrap repair deserves a mention: when a block contains one address that wraps across lines, the TikTok Email Scraper drops the fragment that is only the tail of another email rather than emitting a broken duplicate.
Limitations
Read this section before you plan a campaign around the TikTok Email Scraper.
- Public index only. It finds accounts whose email is publicly visible in Google's index. Emails behind TikTok's contact button, in link-in-bio pages or in images are out of reach.
- Google's ~300-result cap. A single query returns roughly 300 results maximum. Query expansion exists specifically to work around that ceiling - keep
expandQuerieson for volume. possiblyTruncated. When Google's snippet ellipsis touched an address, the row is flagged. Verify those before adding them to a sending list.- Handle availability.
usernameandprofileUrlare only populated when Google's result exposes a handle. Display-name-only results still returnaccountNameandfullName. - Apify proxy required. The Actor cannot run without Apify GOOGLE_SERP proxy credentials.
- Free-plan cap. Free Apify plans are capped at 100 emails per run. Paid plans are uncapped.
- No volume guarantee. Results vary with keywords, domains, location and what Google has indexed. Nothing here is guaranteed, verified or real-time.
The TikTok Email Scraper is not affiliated with, endorsed by or officially supported by TikTok. Use the output in line with GDPR, CAN-SPAM and your local marketing rules.
Related Actors
The TikTok Email Scraper shares its engine and output schema with every Actor below. Every Actor below is part of the Social, Creator & Community family.
| Actor | What it collects |
|---|---|
| TikTok Email and Phone Number Scraper | Emails and phone numbers from TikTok |
| TikTok Phone Number Scraper | Public phone numbers from TikTok |
| Behance Email Scraper | Public contact emails from Behance |
| Bigo Live Email Scraper | Public contact emails from Bigo Live |
| Bluesky Email Scraper | Public contact emails from Bluesky |
| Bumble Email Scraper | Public contact emails from Bumble |
| Clubhouse Email Scraper | Public contact emails from Clubhouse |
| Dailymotion Email Scraper | Public contact emails from Dailymotion |
| DeviantArt Email Scraper | Public contact emails from DeviantArt |
| Discord Email Scraper | Public contact emails from Discord |
| Dribbble Email Scraper | Public contact emails from Dribbble |
| Facebook Email Scraper | Public contact emails from Facebook |
| Goodreads Email Scraper | Public contact emails from Goodreads |
| Hinge Email Scraper | Public contact emails from Hinge |
| Instagram Email Scraper | Public contact emails from Instagram |
| KakaoTalk Email Scraper | Public contact emails from KakaoTalk |
| Kick Email Scraper | Public contact emails from Kick |
| Lemon8 Email Scraper | Public contact emails from Lemon8 |
| Likee Email Scraper | Public contact emails from Likee |
| LINE Email Scraper | Public contact emails from LINE |
| LinkedIn Email Scraper | Public contact emails from LinkedIn |
| Mastodon Email Scraper | Public contact emails from Mastodon |
| Medium Email Scraper | Public contact emails from Medium |
| Mixcloud Email Scraper | Public contact emails from Mixcloud |
| Patreon Email Scraper | Public contact emails from Patreon |
| Pinterest Email Scraper | Public contact emails from Pinterest |
| Quora Email Scraper | Public contact emails from Quora |
| Reddit Email Scraper | Public contact emails from Reddit |
| Rumble Email Scraper | Public contact emails from Rumble |
| Snapchat Email Scraper | Public contact emails from Snapchat |
| SoundCloud Email Scraper | Public contact emails from SoundCloud |
| Substack Email Scraper | Public contact emails from Substack |
| Telegram Email Scraper | Public contact emails from Telegram |
| Threads Email Scraper | Public contact emails from Threads |
| Tinder Email Scraper | Public contact emails from Tinder |
| Tumblr Email Scraper | Public contact emails from Tumblr |
| Twitch Email Scraper | Public contact emails from Twitch |
| Vimeo Email Scraper | Public contact emails from Vimeo |
| VK Email Scraper | Public contact emails from VK |
| WeChat Email Scraper | Public contact emails from WeChat |
| Weibo Email Scraper | Public contact emails from Weibo |
| X Email Scraper | Public contact emails from X |
Example: Sourcing UGC Creators for a Supplement Brand
Here is a realistic TikTok Email Scraper run. You want 300 fitness and nutrition creators in the United States with a Gmail address in their bio.
Set keywords to ["fitness creator", "nutrition coach", "supplement review"], customDomains to ["@gmail.com"], countryCode to US and maxEmails to 300. Leave expandQueries on.
The TikTok Email Scraper builds base, quoted, intitle: and modifier variants for each keyword, then paginates through the search results with five parallel workers. Leads land in the dataset live, so you can watch the run and abort early if the niche is wrong.
Sort the TikTok Email Scraper dataset by possiblyTruncated, verify the flagged rows by hand, then push the rest into your outreach sequence. Repeat the same input on the Instagram Email Scraper to cross-check which creators publish the same address on both networks.
TikTok Email Scraper FAQ
Does the TikTok Email Scraper log into TikTok? No. It never authenticates, never opens tiktok.com and never uses TikTok's API. All data comes from Google's public search results.
Where do the TikTok Email Scraper emails actually come from? From the titles, snippets and site labels that Google already publishes for indexed TikTok pages - usually bios and captions where the account owner wrote the address themselves.
Can it find emails hidden behind the TikTok "email" contact button? No. If the address is not in Google's index, the TikTok Email Scraper cannot see it. That is the honest boundary of this approach.
Why are some rows missing username and profileUrl?
Because Google's result exposed only a display name, typically on discovery or caption pages. Those rows still include accountName, fullName, the email and the snippet.
What does possiblyTruncated: true mean?
Google's snippet ellipsis touched the address, so it may be cut short. Treat those rows as leads to verify, not as send-ready contacts.
How many emails can one TikTok Email Scraper run return?
Free Apify plans stop at 100 emails per run. Paid plans are uncapped and bounded only by your maxEmails value and what Google has indexed.
Why does one query not return thousands of results? Google caps a single query at roughly 300 results. Query expansion is the built-in answer: it multiplies keyword x domain x phrasing so the TikTok Email Scraper reaches beyond that ceiling.
Do I need a proxy to run the TikTok Email Scraper? Yes. The Actor requires the Apify GOOGLE_SERP proxy and cannot run without Apify proxy credentials.
Can I target a city or a country?
Yes. Use location for a phrase appended to every query and countryCode for the search proxy's country.
Which email domains work best?
Personal domains like @gmail.com are what most creators publish. Add @outlook.com, @icloud.com or a niche domain to widen coverage.
Can I resume an interrupted TikTok Email Scraper run?
Yes. Progress is saved in the key-value store, keyed by a hash of your input, and also persists on Apify's PERSIST_STATE, MIGRATING and ABORTING events.
Is scraping TikTok creator emails legal? The Actor only collects publicly indexed information, but how you use it is your responsibility. Follow GDPR, CAN-SPAM and any local rules on unsolicited outreach.
How do I get more leads from the same niche?
Add more query modifiers, widen customDomains, raise maxPagesPerQuery, and run neighbouring keywords rather than one broad term.
Support
Questions about the TikTok Email Scraper, bug reports or a custom build? Email neurodata.apify@gmail.com and we will get back to you.