TikTok Email Scraper: Creator Contacts, Socials, Bio Links
Pricing
from $4.90 / 1,000 creator with emails
TikTok Email Scraper: Creator Contacts, Socials, Bio Links
TikTok email finder for influencer outreach: $0.007 per creator with a public email, free when none is found. Give @handles, profile or video URLs; get the bio email, bio link, website email, Instagram, YouTube, followers and likes. No login, no CAPTCHA.
Pricing
from $4.90 / 1,000 creator with emails
Rating
0.0
(0)
Developer
Data Gleaner
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
TikTok Email & Creator Contacts Finder
Find a TikTok creator's contact email from their @handle. Answers "TikTok creator contact", "TikTok influencer email", "TikTok bio link email", "influencer contacts" and "TikTok email" lookups: give it @handles, profile URLs or video URLs, and get each creator's public email from the bio, the bio link, the emails and socials on the linked website, and their follower, like and video counts. You pay $0.007 only for a creator where an email was found; a creator with no email is returned free. No login, no cookies, no API key, no CAPTCHA.
Built for influencer-outreach lists, agencies and AI agents: one row per creator, the same fields every time, and the price tied to the answer you wanted.
What it finds
Everything the creator shows publicly on their profile:
- Bio email, including spelled-out forms such as
name(at)gmail.com,name [at] gmail [dot] comandname at gmail dot com. - Bio link (the clickable link under the bio) and any link written in the bio text.
- With
followLinkson (default), the emails and socials on that linked page: the creator's website, or link-in-bio pages such as hoo.be, Komi, link.me or Stan. If that page is a link-in-bio page with no email, the creator's own website listed on it is read next; if it is a website with no email, its contact page is. At most 2 pages per creator. - Socials: Instagram, YouTube, X, Facebook, LinkedIn, Snapchat, Twitch and more, from the bio link and the linked page.
- Stats: exact follower, following, like and video counts, the verified badge, private-account flag, account language and creation date.
Linktree, Beacons, bio.link and solo.to refuse automated visitors (Linktree's robots.txt disallows every crawler; the others answer with a Cloudflare challenge). Those links are returned as they are, never visited and never worked around.
Use cases
- Influencer marketing: turn a list of TikTok handles into a contact sheet, paying only for creators that have an email.
- Agencies and brands enriching creators found elsewhere (a hashtag page, a competitor's tagged videos, a spreadsheet) with the contact route each creator published.
- UGC and sponsorship prospecting: filter by
minFollowers, keep only creators with an email. - An AI agent that needs "this TikToker's email" for a list of handles or video links.
- Finding a creator's Instagram, YouTube and website from their TikTok.
How it works
- Each input becomes a handle. A video URL (
/@name/video/...,vm.tiktok.com/...,tiktok.com/t/...) is opened once to find its author and the country it was posted from. - The public profile page
tiktok.com/@handleis read with plain HTTP; the profile data comes from the page's own embedded JSON. - Emails are read from the bio. Links are sorted into socials, link-in-bio pages and websites.
- With
followLinkson, up to 2 outside pages are read. Emails on a website are kept only when they plausibly belong to the creator (the site's own domain, a free mailbox such as Gmail, or a name the creator uses); store-platform and payment-processor addresses are dropped.
There is no keyword search: TikTok's user search needs signed requests and its robots.txt disallows it. Bring the handles; this Actor finds the contacts.
Input
| Field | Meaning |
|---|---|
profiles | @handles, bare handles or profile URLs (https://www.tiktok.com/@name). Video links work here too. |
videoUrls | Video links, including vm.tiktok.com short links. Each stands for its author. |
datasetId | Dataset of another Actor's run (see "Run it after TikTok Scraper or any scraper"). Its creators are added to profiles. |
datasetField, maxDatasetItems | Field holding the handle if it is not a usual one; cap on distinct creators read from the dataset (default 1000). |
followLinks | Read the bio link and at most one more page per creator (default true). |
onlyWithEmail | Output only creators with a public email (default false). Creators without one are free either way. |
minFollowers | Skip creators with fewer followers. |
maxConcurrency, delaySecs, requestTimeoutSecs, respectRobotsTxt, proxyConfiguration | Pacing and network options. Defaults: 3 creators in parallel, a random start pause of up to 2 seconds, no proxy. |
Leave both lists empty to run 3 sample creators (about 15 seconds, at most $0.021).
{"profiles": ["@cookingwithlynja", "https://www.tiktok.com/@emilymariko", "nutritionbykylie"],"videoUrls": ["https://www.tiktok.com/@scout2015/video/6718335390845095173"],"minFollowers": 10000,"onlyWithEmail": false}
Run it after TikTok Scraper or any scraper
Compatible with the output of TikTok Scraper and TikTok Profile Scraper by clockworks, and any dataset whose items carry a creator handle or TikTok URL. Open the source Actor's Integrations tab, add this Actor (datagleaner/tiktok-contacts) and set its input to:
{"datasetId": "{{resource.defaultDatasetId}}"}
Or pass the dataset of a finished run by hand, alone or with profiles:
{"datasetId": "SOURCE_DATASET_ID", "onlyWithEmail": true}
The creator is read from authorMeta.name, authorMeta.profileUrl, webVideoUrl, uniqueId, username, profileUrl or input (a search keyword in input is ignored). Many videos of one creator count once. Set datasetField for any other field. The status message tells how many profiles were read and how many items had none, or that the dataset could not be read. It also works as an integration: open the source Actor's Integrations tab, choose Add integration and pick this Actor, and the dataset is passed automatically.
Output
One row per creator. Fields that were not found are empty, never invented.
{"handle": "emilymariko","profileUrl": "https://www.tiktok.com/@emilymariko","nickname": "Emily Mariko","bio": "Bay Area California ☀️","email": "partnerships@emilymariko.com","emails": [{"email": "partnerships@emilymariko.com", "source": "website", "foundOn": "https://emilymariko.com/"}],"hasEmail": true,"bioLink": "https://emilymariko.com/","website": "https://emilymariko.com/","socials": {"instagram": "https://www.instagram.com/emilymariko", "youtube": "https://www.youtube.com/@emilymariko", "snapchat": "https://www.snapchat.com/add/emilymariko"},"instagramUrl": "https://www.instagram.com/emilymariko","youtubeUrl": "https://www.youtube.com/@emilymariko","xUrl": null,"followers": 12058664,"following": 214,"likes": 857073807,"videoCount": 1970,"verified": true,"isPrivate": false,"region": null,"language": "en","createdAt": "2018-04-15T21:45:36+00:00","pagesFollowed": 1,"skippedLinks": [],"status": "ok","input": "@emilymariko","scrapedAt": "2026-10-09T14:37:20+00:00"}
emails[].source is bio or website; foundOn is the exact page. skippedLinks lists links that were not read and why (for example a Linktree link). A creator that cannot be read (not found, banned, blocked) gets a row with status: "error" and an error message, and is not charged. region is the posting country of the video you gave; TikTok does not publish a profile's country, so it is empty for creators given by handle.
Pricing
Pay per answer, one event:
creator-with-email: $0.007 ($7 per 1,000) for each creator where at least one public email was found.- A creator with no email is free. It is still returned, with the bio link, socials and stats.
- A creator that cannot be read (
status: "error") is free.
Worked example. You check 500 handles and about 25% show a public email: 125 x $0.007 = $0.875. The 375 creators without an email cost nothing. Turn on onlyWithEmail to leave them out of the dataset; the price is the same.
Set a maximum total charge on the run and the Actor stops cleanly when it is reached.
What to expect
On our test run of 14 well-known creators, 9 had a public email: 7 in the bio and 2 found by following the bio link. Across a wider sample of 23 of TikTok's biggest accounts, 7 bios carried an email. Mid-sized creators who take brand deals publish one more often than celebrities, and following the bio link adds more. Plan on roughly a quarter to a half of a typical influencer list.
Limits
- One profile page per creator; nothing behind a login is read. Private accounts still return their profile fields.
- Linktree, Beacons, bio.link and solo.to links are returned but not read (see above).
- At most 2 outside pages per creator. Link-in-bio pages that render only with JavaScript may show fewer links.
- No keyword or hashtag discovery: input is handles, profile URLs and video URLs.
regionis known only for creators given by a video URL.- Very large runs from one IP may be slowed by TikTok; lower
maxConcurrency, raisedelaySecs, or add a proxy.
Use it from n8n, Make, Zapier or an AI agent
Actor ID: datagleaner/tiktok-contacts
Minimal input:
{"profiles": ["@cookingwithlynja", "@nutritionbykylie", "@lorengray"]}
Each tool below runs this Actor with your own Apify API token.
-
n8n: add the Apify node (
@apify/n8n-nodes-apify). On n8n Cloud you install it from the community node registry. Choose Run an Actor and get dataset, set Actor todatagleaner/tiktok-contactsand paste the input above. -
Make: use the Apify app's Run an Actor module, then Get Dataset Items to read the results. Watch Actor Runs can trigger a scenario when a run finishes.
-
Zapier: use the Apify action Run Actor, then the search Fetch dataset items. The trigger Finished Actor run starts a Zap when a run ends.
-
AI agents (MCP): connect to
https://mcp.apify.com/?tools=datagleaner/tiktok-contacts. In Claude Code:claude mcp add --transport http apify "https://mcp.apify.com/?tools=datagleaner/tiktok-contacts"Then run
/mcpto sign in to Apify in your browser. Other clients can sign in with OAuth or send the headerAuthorization: Bearer YOUR_APIFY_TOKEN. Clients that run local MCP servers can use Apify's package (@apify/actors-mcp-server, run withnpx -yandAPIFY_TOKENset) instead. Then ask the agent in plain words, for example:Find the contact emails of these TikTok creators: @cookingwithlynja, @emilymariko, @nutritionbykylie. Or: who posted this TikTok video, and how do I reach them?
A creator without an email costs nothing, so an agent can call it freely on a long list.
-
LangChain (Python):
# pip install langchain-apify, then set APIFY_TOKEN in your environmentimport jsonfrom langchain_apify import ApifyActorsTooltool = ApifyActorsTool("datagleaner/tiktok-contacts")result = tool.invoke({"run_input": json.loads('{"profiles": ["@cookingwithlynja", "@nutritionbykylie", "@lorengray"]}')})
- Plain HTTP:
curl -X POST "https://api.apify.com/v2/acts/datagleaner~tiktok-contacts/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"profiles": ["@cookingwithlynja", "@emilymariko"], "onlyWithEmail": true}'
FAQ
Do I need a TikTok account, cookies or an API key? No. Only public profile pages are read, without logging in.
Can it search TikTok by keyword or hashtag? No. TikTok's user search requires signed requests and is disallowed to crawlers by its robots.txt, so this Actor takes handles you already have.
Which inputs work? @name, name, https://www.tiktok.com/@name, video links such as https://www.tiktok.com/@name/video/123..., and short links such as https://vm.tiktok.com/....
Why is emails empty for a creator I know has one? The creator put it somewhere this Actor does not read: in a Linktree, behind a contact form, or in TikTok's in-app "Email" button, which needs a logged-in app.
Why does a Linktree link show up in skippedLinks? Linktree blocks automated visitors and disallows crawlers in its robots.txt, so the link is returned for you to open.
What happens with empty input? It runs 3 sample creators and says so in the run's status message.
Responsible use
This Actor reads public pages only, never logs in, and keeps a polite pace. TikTok's terms discourage automated access, so keep runs proportionate to a real need. Email addresses are personal data: you are responsible for lawful use, including consent and opt-out rules for outreach (GDPR, CAN-SPAM and local law), and for respecting the terms of the platforms you use the data on.