TikTok Creator Email Finder
Pricing
from $0.80 / 1,000 public emails
TikTok Creator Email Finder
Find public emails shown on TikTok profiles and, when enabled, linked public pages from usernames, @handles, profile URLs, or one keyword. Get profile links, bios, audience counts, social links, and source URLs in a structured dataset.
Pricing
from $0.80 / 1,000 public emails
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
📧 Find public TikTok emails with profile context
For outreach teams, creator marketers, and researchers, this Actor turns public TikTok profile targets into structured contact data. Enter usernames, @handles, profile URLs, or one keyword. The dataset can include public emails, profile details, source URLs, and clear contact outcomes, so you can review each contact with its profile context before outreach.
Use cases
- Collect public emails from selected profiles with TikTok Email Grabber.
- Review public user IDs with TikTok User ID Information.
- Fetch structured account details with Fetch TikTok User Data.
- Start a public email search with TikTok Email Finder Free.
- Look up public account details with TikTok Account Information Finder Free.
📋 Review each profile and its public contact evidence
Each dataset row describes one processed TikTok profile. It includes the public username, display name, profile URL, biography, avatar, TikTok user ID, follower, following, like, and video counts, plus verification, privacy, seller, website, social-link, and read-time fields when the source supplies them. When an email is found, the row also keeps the address, domain, source URL, source type, basic domain health, and a primary email when more than one is found. No private or inferred email is created.
The outcome field shows email_found, no_public_email, or unavailable. An unavailable profile can include a reason in unavailableReason.
▶️ Run a TikTok profile or keyword search
Choose TikTok profiles to scan submitted usernames, @handles, or profile URLs, or choose Keyword search to find candidate profiles from one keyword. For profile mode, add one target per line. Turn on linked-page scanning when you want more public contact and social information from pages linked by a profile. You can also filter by follower count, verified status, and email domain.
The Actor saves one result for each processed profile. Leave Maximum profiles to process empty to return all available results until the source is exhausted. Set a limit when you want fewer profiles and less data to review.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
target | string | Required. Use profiles to scan profileTargets, or keyword to find candidate profiles from keyword. The other target field is ignored for the run. |
profileTargets | array of strings | Public TikTok usernames, @handles, or profile URLs to scan, with one value per line. Used with target: profiles. |
keyword | string | One keyword used to find candidate TikTok profiles. Used with target: keyword. |
includeLinkedPages | boolean | When true, inspect public pages linked from each TikTok profile for more public contact and social information. Private or login-gated pages are skipped. |
minimumFollowers | integer | Only return contacts from profiles with at least this many followers. Leave blank to allow any follower count. |
verifiedOnly | boolean | When true, return contacts only from profiles TikTok marks as verified. When false, include verified and unverified profiles. |
emailDomains | array of strings | Exact public email domains to keep, such as brand.com. Leave blank to allow all public email domains. |
maxItems | integer | Actor Work Limit. Stop after this many profiles are processed. Leave blank to return all available results until the source is exhausted. |
Example input
This JSON comes from a successful current-beta default-input run:
{"target": "profiles","profileTargets": ["@tiktok"],"includeLinkedPages": false,"verifiedOnly": false}
🧾 Output
The Output panel links to an Apify dataset. Every row has outcome and emails. Optional fields appear when public TikTok data supplies them. The tables below list the complete fields for each documented outcome shape. Nested paths use dots in the tables, while the examples keep their real objects and arrays.
Dataset link
| Field | Type | What it does |
|---|---|---|
dataset | string | Link to the Apify dataset that contains the profile result rows. |
Email found
| Field | Type | What it does |
|---|---|---|
outcome | string | email_found when one or more public emails are found. |
username | string | Public TikTok username for the profile. |
displayName | string | Public display name shown on the profile. |
profileUrl | string | Canonical public TikTok profile URL. |
bio | string | Visible biography text from the profile. |
avatarUrl | string | Public profile avatar URL when available. |
userId | string | Public TikTok user identifier when available. |
followerCount | integer | Public follower count shown for the profile. |
followingCount | integer | Public number of accounts followed by the profile. |
likeCount | integer | Public number of likes received by the profile. |
videoCount | integer | Public number of videos on the profile. |
isVerified | boolean | Whether TikTok marks the profile as verified. |
isPrivate | boolean | Whether the profile is marked as private when this signal is available. |
isSeller | boolean | Whether the profile is marked as a seller when this signal is available. |
websiteUrl | string | Public website linked from the profile when available. |
emails | array of objects | Distinct public email contacts found for the profile. |
emails[].address | string | Public email address. |
emails[].domain | string | Domain part of the public email address. |
emails[].sourceUrl | string | Public page URL where the email was shown. |
emails[].sourceType | string | Source kind: tiktok_bio or linked_page. |
emails[].domainHealth | string | Basic public domain check: healthy, unhealthy, or unknown. It does not confirm mailbox delivery. |
primaryEmail | string | Primary public email selected when more than one email is found. |
socialLinks | array of objects | Other public social links found on the profile or its linked public pages. |
socialLinks[].platform | string | Social platform named by the link when available. |
socialLinks[].url | string | Public social profile URL. |
profileReadAt | string | Time when the public profile was read. |
unavailableReason | string | Reason used when the outcome is unavailable; normally absent here. |
Genuine email-found row
This complete row came from a successful current-beta run with follower, verification, and email-domain filters.
{"outcome": "email_found","emails": [{"address": "management@painted.co","domain": "painted.co","sourceUrl": "https://www.tiktok.com/@jamescharles","sourceType": "tiktok_bio","domainHealth": "healthy"}],"socialLinks": [],"username": "jamescharles","displayName": "James Charles","profileUrl": "https://www.tiktok.com/@jamescharles","bio": "✉️ management@painted.co\n🎨 @Painted @PaintedUK\n🎶 @James Charles Music \n\nNew Single Lonely out now!!","avatarUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/56ac3316193300d4e8295c752415cced~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=772c61e9&x-expires=1787965200&x-signature=LE470W9jb0EXchU9tEokGGqJkvU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5","userId": "190068318278651904","followerCount": 39300000,"followingCount": 369,"likeCount": 1600000000,"videoCount": 1223,"isVerified": true,"isPrivate": false,"isSeller": false,"websiteUrl": "http://jamescharles.lnk.to/Lonely","primaryEmail": "management@painted.co","profileReadAt": "2026-08-27T01:09:40.298Z"}
No public email
| Field | Type | What it does |
|---|---|---|
outcome | string | no_public_email when no public email is found. |
username | string | Public TikTok username for the profile. |
displayName | string | Public display name shown on the profile. |
profileUrl | string | Canonical public TikTok profile URL. |
bio | string | Visible biography text from the profile. |
avatarUrl | string | Public profile avatar URL when available. |
userId | string | Public TikTok user identifier when available. |
followerCount | integer | Public follower count shown for the profile. |
followingCount | integer | Public number of accounts followed by the profile. |
likeCount | integer | Public number of likes received by the profile. |
videoCount | integer | Public number of videos on the profile. |
isVerified | boolean | Whether TikTok marks the profile as verified. |
isPrivate | boolean | Whether the profile is marked as private when this signal is available. |
isSeller | boolean | Whether the profile is marked as a seller when this signal is available. |
websiteUrl | string | Public website linked from the profile when available. |
emails | array of objects | Empty when no public email is found. |
emails[].address | string | Public email address when an email object is present. |
emails[].domain | string | Domain part of a public email address. |
emails[].sourceUrl | string | Public page URL where an email was shown. |
emails[].sourceType | string | Source kind: tiktok_bio or linked_page. |
emails[].domainHealth | string | Basic public domain check: healthy, unhealthy, or unknown. It does not confirm mailbox delivery. |
primaryEmail | string | Primary public email when one is found; normally absent here. |
socialLinks | array of objects | Other public social links found on the profile or its linked public pages. |
socialLinks[].platform | string | Social platform named by the link when available. |
socialLinks[].url | string | Public social profile URL. |
profileReadAt | string | Time when the public profile was read. |
unavailableReason | string | Reason used when the outcome is unavailable; normally absent here. |
Genuine no-public-email row
This complete row came from a successful current-beta run with a direct profile target.
{"outcome": "no_public_email","emails": [],"socialLinks": [],"username": "tiktok","displayName": "TikTok","profileUrl": "https://www.tiktok.com/@tiktok","bio": "One TikTok can make a big impact","avatarUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=2e648c3b&x-expires=1787965200&x-signature=xnm9wobJVc9gXL39lKW9YzpCSvc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8","userId": "107955","followerCount": 95400000,"followingCount": 2,"likeCount": 462900000,"videoCount": 1495,"isVerified": true,"isPrivate": false,"isSeller": false,"websiteUrl": "https://linktr.ee/tiktok","profileReadAt": "2026-08-27T01:08:12.933Z"}
Unavailable profile
| Field | Type | What it does |
|---|---|---|
outcome | string | unavailable when a requested profile could not be fetched. |
username | string | Public TikTok username when available. |
displayName | string | Public display name when available. |
profileUrl | string | Canonical public TikTok profile URL when available. |
bio | string | Visible biography text when available. |
avatarUrl | string | Public profile avatar URL when available. |
userId | string | Public TikTok user identifier when available. |
followerCount | integer | Public follower count when available. |
followingCount | integer | Public number of accounts followed when available. |
likeCount | integer | Public number of likes received when available. |
videoCount | integer | Public number of videos when available. |
isVerified | boolean | Whether TikTok marks the profile as verified when available. |
isPrivate | boolean | Whether the profile is marked as private when available. |
isSeller | boolean | Whether the profile is marked as a seller when available. |
websiteUrl | string | Public website linked from the profile when available. |
emails | array of objects | Empty when no public email is available. |
emails[].address | string | Public email address when an email object is present. |
emails[].domain | string | Domain part of a public email address. |
emails[].sourceUrl | string | Public page URL where an email was shown. |
emails[].sourceType | string | Source kind: tiktok_bio or linked_page. |
emails[].domainHealth | string | Basic public domain check: healthy, unhealthy, or unknown. It does not confirm mailbox delivery. |
primaryEmail | string | Primary public email when one is found. |
socialLinks | array of objects | Other public social links found on the profile or its linked public pages. |
socialLinks[].platform | string | Social platform named by the link when available. |
socialLinks[].url | string | Public social profile URL. |
profileReadAt | string | Time when the public profile was read, when available. |
unavailableReason | string | Reason the requested public profile could not be fetched. |
💳 Pricing
This Actor uses pay-per-event pricing. The primary public-tiktok-creator-lead event is charged for each saved public email lead. Its price is tiered by Apify plan. See the Pricing tab for current rates.
🔌 Integrations
After the run, read or export the dataset in Apify. You can also use the Apify API to start a run and read its dataset, then pass public profile and source URLs to your own review or outreach workflow. This Actor does not send outreach messages.
For a short guide to Apify workflows:
❓ FAQ
What counts as a public email?
Only an address shown on a public TikTok profile bio or a public linked page inspected by the run is returned. The Actor does not infer, generate, guess, or buy private addresses.
Why is the emails list empty?
Some profiles do not show a public email. The row uses outcome: no_public_email and keeps emails as an empty array. It does not invent an address.
Can I inspect a linked website?
Yes. Turn on includeLinkedPages. The Actor checks public pages linked from each profile for more contact and social information. Private or login-gated pages are skipped.
Can I limit results to certain profiles?
Yes. Use minimumFollowers, verifiedOnly, and emailDomains to restrict returned contacts. Use maxItems to stop processing after a chosen number of profiles.
What does domainHealth tell me?
It is a basic public check of the email domain. It can be healthy, unhealthy, or unknown, but it does not confirm mailbox delivery.
What happens when the same profile appears again?
The Actor saves the first eligible occurrence of a source profile and ignores later matches in the same discovery run. The saved row describes the first match.
Can I scan known usernames and profile URLs?
Yes. Choose profiles and add public usernames, @handles, or TikTok profile URLs to profileTargets, with one value per line.
Does it need TikTok credentials?
No. The Actor works with publicly accessible TikTok profiles and linked public pages without customer-provided source credentials.
Does it send outreach messages?
No. It collects structured public data. You decide how to review or use the saved contacts.
📝 Changelog
0.0: Initial release
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- TikTok Search Scraper finds candidate TikTok creator profiles by keyword before you scan their public contacts.
- TikTok Creator Analytics Scraper compares public follower, content, and creator metrics after you find a profile.
- Website Emails Scraper checks linked public websites for additional contact emails after a profile points you there.
- SMTP Email Verifier checks syntax, MX, and SMTP evidence for a public address before outreach.
- Influencer Scraper builds a broader TikTok, Instagram, and YouTube profile list for cross-platform research.
Made with ❤️ by Maxime Dupré