Tiktok Contact Extractor avatar

Tiktok Contact Extractor

Pricing

from $4.80 / 1,000 contact results

Go to Apify Store
Tiktok Contact Extractor

Tiktok Contact Extractor

TikTok Contact Extractor finds public contact details from TikTok creators, including emails, phones, websites, Instagram, YouTube, and profile data. Use it for influencer outreach, lead generation, creator partnerships, and contact-ready CRM exports.

Pricing

from $4.80 / 1,000 contact results

Rating

0.0

(0)

Developer

Delowar Munna

Delowar Munna

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

3

Monthly active users

6 days ago

Last modified

Share

Extract public emails, phones, websites, and outreach clues from TikTok creators with source attribution, confidence scoring, and contact-ready lead exports.

TikTok Contact Extractor

What does this actor do?

TikTok Contact Extractor is an Apify Actor that extracts publicly available contact details from TikTok creators, including:

  • Emails — extracted from bios and linked websites
  • Phone numbers — extracted from bios and linked websites when public
  • Instagram handles — from bios or linked pages
  • YouTube handles — from bios or linked pages
  • External URLs — bio links, websites, contact pages
  • Profile metadata — followers, verification status, display name, bio text
  • Source attribution — where each contact clue was found (bio, website, contact page)
  • Confidence scores — how trustworthy each contact value is
  • Lead quality indicators — outreach readiness and lead scoring

This actor is designed as a contact discovery and lead-enrichment tool, not a general TikTok scraper. It helps answer:

  • Which TikTok creators have public contact information?
  • Which creators are contactable right now?
  • Which contact details came from bio text versus linked websites?
  • Which creator leads look most trustworthy and complete?

Why use this actor?

  • Multi-source contact extraction — bio text, link-in-bio websites, and contact pages
  • Clear source attribution — every contact field shows where it was found
  • Confidence scoring — heuristic scores per email and phone based on source quality
  • Lead qualification — contact readiness levels and lead quality scores
  • CRM-ready flat output — one row per creator, easy to import anywhere
  • Multiple input modes — direct profiles, keyword discovery, and hashtag discovery
  • Deduplication — creators found from multiple sources are merged automatically
  • Filtering — filter for email-only, phone-only, verified-only, follower ranges
  • Structured error handling — partial results with error details, not broken runs

Input

ParameterTypeDefaultDescription
profilesstring[][]TikTok profile URLs or @usernames
keywordsstring[][]Keywords to discover creators (e.g. "ugc creator skincare")
hashtagsstring[][]Hashtags to discover creators from
maxCreatorsinteger500Maximum creator records to return
extractFromBiobooleantrueParse bios for contact data
followExternalLinksbooleantrueVisit bio links for more contacts
extractEmailsbooleantrueExtract email addresses
extractPhonesbooleantrueExtract phone numbers
extractInstagrambooleantrueExtract Instagram handles
extractYoutubebooleantrueExtract YouTube handles
emailOnlybooleanfalseOnly return creators with emails
phoneOnlybooleanfalseOnly return creators with phones
mustHaveExternalLinkbooleanfalseOnly return creators with websites
mustHaveContactCluebooleanfalseOnly return creators with any contact data
minFollowersinteger0Minimum follower count filter
maxFollowersinteger0Maximum follower count filter (0 = no limit)
verifiedOnlybooleanfalseOnly return verified creators
includeConfidenceScoresbooleantrueInclude confidence and quality fields
includeContactSourceDetailsbooleantrueInclude source attribution fields
deduplicateCreatorsbooleantrueDeduplicate across input sources
countryHintstring""Country code hint for phone parsing
debugModebooleanfalseVerbose logging
proxyConfigurationobjectApify proxy (residential recommended)

At least one of profiles, keywords, or hashtags is required.

Sample input 1: Keyword discovery with email filter

Find contactable creators related to specific keywords, only return those with email addresses:

{
"keywords": ["swift", "taylor"],
"maxCreators": 50,
"emailOnly": true,
"followExternalLinks": true,
"extractEmails": true,
"extractPhones": true,
"extractInstagram": true,
"extractYoutube": true,
"includeConfidenceScores": true,
"includeContactSourceDetails": true,
"deduplicateCreators": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Sample input 2: Direct profile enrichment with hashtag discovery

Enrich a known list of profiles and discover more creators from hashtags:

{
"profiles": [
"@taylorfrankiepaul",
"@taylor_thatdancer",
"https://www.tiktok.com/@paigetaylor.s"
],
"hashtags": ["beautytok", "gymtok"],
"maxCreators": 200,
"followExternalLinks": true,
"mustHaveContactClue": true,
"minFollowers": 1000,
"extractEmails": true,
"extractPhones": true,
"extractInstagram": true,
"extractYoutube": true,
"includeConfidenceScores": true,
"includeContactSourceDetails": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

Each output row represents one creator with normalized contact data and source metadata. Results are available in four dataset views:

TikTok Contact Extractor — Output overview table view

Overview tab

Key identity fields, primary contacts, lead score, and discovery source.

{
"username": "taylorfrankiepaul",
"displayName": "Taylor Paul",
"profileUrl": "https://www.tiktok.com/@taylorfrankiepaul",
"isVerified": true,
"followersCount": 6086356,
"primaryEmail": "taylorfrankiepaul@select.co",
"primaryPhone": null,
"externalUrl": "https://www.ulta.com/p/purity-one-step-meltaway-cleansing-balm-pimprod2056354?sku=2649051",
"instagramHandle": null,
"youtubeHandle": null,
"contactReadiness": "high",
"leadQualityScore": 60,
"discoveredVia": ["keyword"],
"scrapedAt": "2026-03-21T05:01:23.943Z"
}

Contact Details tab

Full contact data including all emails, phones, handles, and links.

{
"username": "paigetaylor.s",
"displayName": "Paige Taylor",
"bio": "✝️\npaige@insightmedia.com",
"primaryEmail": "paige@insightmedia.com",
"allEmails": ["paige@insightmedia.com"],
"primaryPhone": "68608721562",
"allPhones": ["68608721562"],
"externalUrl": "https://linktr.ee/paigetaylor.s",
"externalDomain": "linktr.ee",
"instagramHandle": null,
"youtubeHandle": null,
"tiktokBioLink": "https://linktr.ee/paigetaylor.s",
"contactPageUrl": "https://linktr.ee/s/about/trust-center/report/?field86145911=https%3A%2F%2Flinktr.ee%2Fpaigetaylor.s",
"otherPublicLinks": [
"https://linktr.ee/s/about/trust-center/report/?field86145911=https%3A%2F%2Flinktr.ee%2Fpaigetaylor.s",
"https://linktr.ee/connectartech"
],
"followersCount": 6778715,
"isVerified": false
}

Lead Quality tab

Confidence scores, readiness levels, quality scores, and business signals.

{
"username": "taylor_thatdancer",
"displayName": "taylor pierce 🖤🤖",
"followersCount": 5295218,
"primaryEmail": "nickyahid1@gmail.com",
"emailConfidence": 0.8,
"primaryPhone": null,
"phoneConfidence": null,
"contactReadiness": "high",
"contactReadinessReason": "Public email and website found",
"leadQualityScore": 60,
"leadQualityReason": "+25 email, +10 website, +10 high followers, +5 verified, +10 business profile",
"isBusinessLikeProfile": true,
"isLikelyCreatorLead": true,
"isVerified": true
}

Source Attribution tab

Where each contact was found, website visit status, and discovery lineage.

{
"username": "lojaswift",
"primaryEmail": null,
"emailSource": null,
"primaryPhone": "68608721562",
"phoneSource": "website_homepage",
"instagramHandle": null,
"instagramSource": null,
"youtubeHandle": "andywso",
"youtubeSource": "website_homepage",
"contactSourceSummary": "Phone found on website. YouTube: andywso",
"bioContainsEmail": false,
"bioContainsPhone": false,
"websiteContainsEmail": false,
"websiteContainsPhone": true,
"websiteVisited": true,
"websiteVisitStatus": "success",
"discoveredVia": ["keyword"],
"sourceProfiles": [],
"sourceKeywords": ["swift"],
"sourceHashtags": []
}

Full output (all fields)

Each record contains 47+ fields across identity, stats, contact, source attribution, confidence, lineage, and metadata:

{
"username": "taylor_pfeffer",
"profileUrl": "https://www.tiktok.com/@taylor_pfeffer",
"userId": "6532052352982056962",
"displayName": "taylor",
"bio": "be kind \n✨taylorxhairstyles✨\n💌pfeffertaylor@gmail.com💌",
"profilePictureUrl": "https://p16-common-sign.tiktokcdn-us.com/...",
"isVerified": false,
"accountPrivate": false,
"followersCount": 2562922,
"followingCount": 139,
"likesCount": 80529449,
"videosCount": 1396,
"primaryEmail": "pfeffertaylor@gmail.com",
"allEmails": ["pfeffertaylor@gmail.com"],
"primaryPhone": "68608721562",
"allPhones": ["68608721562"],
"externalUrl": "https://linktr.ee/taylor_pfeffer",
"externalDomain": "linktr.ee",
"instagramHandle": null,
"youtubeHandle": null,
"tiktokBioLink": "https://linktr.ee/taylor_pfeffer",
"contactPageUrl": "https://linktr.ee/s/about/trust-center/report/?field86145911=https%3A%2F%2Flinktr.ee%2Ftaylor_pfeffer",
"contactFormUrl": null,
"otherPublicLinks": [
"https://linktr.ee/s/about/trust-center/report/?field86145911=https%3A%2F%2Flinktr.ee%2Ftaylor_pfeffer"
],
"emailSource": "bio",
"phoneSource": "website_homepage",
"instagramSource": null,
"youtubeSource": null,
"contactSourceSummary": "Email found in bio. Phone found on website",
"bioContainsEmail": true,
"bioContainsPhone": false,
"websiteContainsEmail": false,
"websiteContainsPhone": true,
"websiteVisited": true,
"websiteVisitStatus": "success",
"emailConfidence": 0.75,
"phoneConfidence": 0.7,
"contactReadiness": "high",
"contactReadinessReason": "Public email and website found",
"leadQualityScore": 60,
"leadQualityReason": "+25 email, +15 phone, +10 website, +10 high followers",
"isBusinessLikeProfile": false,
"isLikelyCreatorLead": true,
"discoveredVia": ["keyword"],
"sourceProfiles": [],
"sourceKeywords": ["taylor"],
"sourceHashtags": [],
"discoveryCount": 1,
"scrapedAt": "2026-03-21T05:01:40.504Z",
"isPartial": false,
"errorType": null,
"errorMessage": null
}

Output fields

Creator identity fields

FieldDescription
usernameTikTok username
profileUrlFull profile URL
userIdTikTok internal user ID (if available)
displayNameDisplay name / nickname
bioFull bio text
profilePictureUrlAvatar URL
isVerifiedVerified badge status
accountPrivateWhether the account is private

Public stats fields

FieldDescription
followersCountFollower count
followingCountFollowing count
likesCountTotal likes/hearts received
videosCountTotal videos posted

Contact fields

FieldDescription
primaryEmailBest email found (first from bio, then website)
allEmailsAll unique emails found across sources
primaryPhoneBest phone number found
allPhonesAll unique phone numbers found
externalUrlBio link URL
externalDomainDomain of bio link
instagramHandleInstagram username
youtubeHandleYouTube handle
tiktokBioLinkRaw bio link from TikTok profile
contactPageUrlContact/about page URL from website
contactFormUrlContact form URL if detected
otherPublicLinksOther URLs found in bio or website

Source attribution fields

FieldDescription
emailSourceWhere the email was found: bio, website_homepage, bio_and_website
phoneSourceWhere the phone was found
instagramSourceWhere Instagram handle was found
youtubeSourceWhere YouTube handle was found
contactSourceSummaryHuman-readable summary of all contact sources
bioContainsEmailWhether bio text contained an email
bioContainsPhoneWhether bio text contained a phone number
websiteContainsEmailWhether linked website contained an email
websiteContainsPhoneWhether linked website contained a phone
websiteVisitedWhether the bio link was visited
websiteVisitStatussuccess or error

Confidence and quality fields

FieldDescription
emailConfidenceEmail confidence score (0.0–1.0)
phoneConfidencePhone confidence score (0.0–1.0)
contactReadinesshigh, medium, low, or none
contactReadinessReasonWhy this readiness level was assigned
leadQualityScoreLead quality score (0–100)
leadQualityReasonScoring breakdown
isBusinessLikeProfileWhether bio contains business/outreach keywords
isLikelyCreatorLeadWhether creator has contacts + meaningful following

Discovery lineage fields

FieldDescription
discoveredViaHow this creator was found: profile_input, keyword, hashtag
sourceProfilesWhich profile inputs led to this creator
sourceKeywordsWhich keyword searches led to this creator
sourceHashtagsWhich hashtag searches led to this creator
discoveryCountNumber of input sources that found this creator

Run metadata fields

FieldDescription
scrapedAtISO 8601 timestamp
isPartialWhether extraction was incomplete
errorTypeError type if failed
errorMessageError message if failed

Contact extraction logic

Bio extraction

The actor parses public TikTok bios for:

  • Email addresses (regex-based)
  • Phone numbers (various formats)
  • Instagram handles (ig: @handle, instagram.com/handle)
  • YouTube handles (yt: @handle, youtube.com/@handle)
  • Website URLs
  • Business/outreach hints (collabs, partnerships, inquiries, etc.)

When followExternalLinks is enabled, the actor visits the public bio link and extracts:

  • Email addresses from page text and HTML
  • Phone numbers
  • Contact/about page links (and visits them too)
  • Instagram and YouTube links
  • Contact form detection

Confidence scoring

Confidence increases when:

  • A contact value appears in multiple sources (bio + website)
  • An email uses a brand/custom domain
  • The bio contains business context keywords

Confidence decreases when:

  • The email uses a disposable domain
  • The value is ambiguous or partial
  • Only a single low-quality source is available

Confidence scores are heuristics, not guarantees. They indicate relative trustworthiness.

Lead quality scoring

Lead quality is scored 0–100 based on:

  • Having an email (+25), phone (+15), website (+10)
  • Multi-source confirmation (email in bio AND website)
  • Social presence (Instagram, YouTube)
  • Follower count and verification
  • Business-oriented bio

Use cases

  • Influencer outreach — find creators with public emails for sponsorship pitches
  • Lead generation — build niche-specific lists of contactable creators
  • Creator partnerships — identify business-ready creators with complete contact info
  • CRM enrichment — enrich existing creator lists with contact data and quality scores
  • Campaign sourcing — find outreach-ready creators in target niches
  • Affiliate recruiting — discover creators open to business inquiries

Tips and best practices

  • Start with direct profiles for highest accuracy — the actor visits each profile page
  • Use emailOnly: true to focus on creators with confirmed email addresses
  • Enable followExternalLinks for more complete contact data (visits bio link websites)
  • Use includeConfidenceScores to prioritize high-confidence leads
  • Check contactReadiness — "high" means strong public contact data
  • Use leadQualityScore to sort and prioritize leads for outreach
  • Start small — test with a few profiles before running large discovery batches
  • Schedule for monitoring — run periodically to discover new contactable creators

Proxy configuration

Residential proxies are recommended for reliable TikTok access.

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Pricing

This actor uses pay-per-event pricing. You are charged per creator contact record returned — not for compute time or failed requests.

  • Event: contact-result — charged once per creator record pushed to the dataset
  • Price: Set in the Apify Console (see actor pricing page)
  • Spending limit: If your spending limit is reached, the actor stops automatically

Memory is capped at 4 GB. Higher memory does not improve results — TikTok rate-limits concurrent requests regardless of available resources.

Important notes

  • All data comes from public sources only. This actor does not access private or login-only data.
  • Emails and phones are extracted on a best-effort basis. Not all creators have public contact information.
  • Website-derived contacts may vary by page structure. Some websites block scraping or use dynamic rendering.
  • Confidence scores are heuristics, not guarantees. They indicate relative trustworthiness, not verified accuracy.
  • Some creators will have no public contact information. Use mustHaveContactClue: true to filter these out.
  • This actor does not send messages, validate inboxes, or verify contacts. It extracts and scores publicly available data.

Integrations

  • Google Sheets — export contact records to spreadsheets for team use
  • CRM systems — flat output is ready for direct CRM import
  • Airtable — structured records map cleanly to Airtable bases
  • Webhooks — trigger outreach workflows when a run completes
  • API — access results programmatically via the Apify API

Limitations

  • Contact extraction depends on what creators make public. Many creators have no public email or phone.
  • Website visits may fail for sites with aggressive bot protection.
  • Phone number parsing is best-effort and may include false positives from numeric strings in bios.
  • Keyword and hashtag discovery depend on TikTok search results, which vary by region and time.
  • The actor does not bypass any TikTok restrictions or access private content.

FAQ

How many creators can I extract contacts for? Up to 5,000 per run via maxCreators. Actual results depend on how many creators are discoverable from your inputs.

Why are some fields null? Fields like primaryEmail, primaryPhone, and instagramHandle are only populated when public data is found. Not all creators share contact information publicly.

What is the difference between primaryEmail and allEmails? primaryEmail is the first/best email found. allEmails contains all unique emails found across bio and website sources.

What does contactReadiness: "high" mean? It means the creator has strong public contact data — typically an email plus a website or multiple confirmed sources.

Does this actor validate email addresses? No. It extracts publicly visible email addresses and scores their confidence based on source quality. It does not verify that an inbox exists.

What happens if a profile is private or unavailable? A partial result is emitted with isPartial: true and an error message, so you can identify failures without the whole run breaking.