Creator & Influencer Leads - TikTok, Instagram & YouTube Emails avatar

Creator & Influencer Leads - TikTok, Instagram & YouTube Emails

Pricing

Pay per event

Go to Apify Store
Creator & Influencer Leads - TikTok, Instagram & YouTube Emails

Creator & Influencer Leads - TikTok, Instagram & YouTube Emails

Find creators on TikTok, Instagram and YouTube in one run. One clean row per creator: bio, followers, links, verified and business flags, an email from the bio or their linked site, and a 0-100 lead score. YouTube keyword search discovers new creators. Export CSV, JSON, Excel.

Pricing

Pay per event

Rating

5.0

(1)

Developer

Flash Scrape

Flash Scrape

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Creator & Influencer Leads — TikTok, Instagram & YouTube in one export

Find creators on TikTok, Instagram and YouTube in a single run, enrich them with a contact email from the site they link to, score them, and get one clean row per creator. Every row has the same 48 columns whichever platform it came from, so a mixed list opens as one spreadsheet instead of three.

No login, no API key, no cookie, and no dependency on any other Actor. YouTube keyword search discovers new creators; TikTok and Instagram enrich the handles you supply.


Why one Actor instead of three

An influencer-marketing agency buys an outcome — creator leads with emails — not a source. Running three single-platform scrapers gives you three exports with three different column sets, three separate crawls over the same websites, and no way to see that a brand's TikTok row and its YouTube row are the same business. This Actor does the website crawl once for all three platforms and cross-links the result in also_on_platforms.


What it does, step by step

  1. Pick platforms and targets — a YouTube keyword, YouTube channels, TikTok usernames, Instagram usernames, or any mix.
  2. YouTube discovery first — each keyword returns roughly 30 channels, and every channel's About page is parsed for its description, links, counts, country, join date and verified badge.
  3. Optional cross-platform hop — the Instagram and TikTok profiles linked from those About pages are scraped too (off by default, because each one is an extra billed row).
  4. TikTok and Instagram profiles — fetched over HTTP/2 through a rotating residential proxy.
  5. One shared email pass — every creator's linked site is visited (home, /contact, /about, resolving Linktree-style pages) for emails and social profiles. A link-shortener (bit.ly, geni.us, …) is followed to its destination and only that destination's own site is crawled; if it does not resolve to a real site the creator is left with no email rather than somebody else's.
  6. Filter, score, cross-link — your quality filters run before billing, every lead is scored 0–100 and graded A–F, and rows that resolve to the same creator on another platform are cross-linked.
  7. Export — a sortable table with five saved views, downloadable as CSV, JSON or Excel.

What each platform can and cannot deliver

None of these three platforms publishes a contact email field. Every email in your export was either typed into a bio by the creator or found on the website they link to. Read the fill rates below before you buy.

TikTok

  • CAN: full public profile — nickname, bio, bio-link, exact follower / following / likes / video counts (from TikTok's precise statsV2, not the rounded display numbers), verified badge, business-account flag and category, TikTok Shop seller flag, account creation date.
  • CANNOT DISCOVER. TikTok serves no creator data to a logged-out client on /tag/<hashtag>, /search?q= or /search/user?q= — probed 2026-08-09: those pages render a rehydration blob containing zero usernames, and the search API answers 200 with an empty body without TikTok's signed parameters. You must supply the handles.
  • NO ENGAGEMENT RATE. The profile payload's itemList was empty on 28 of 28 profiles probed and no play count appears anywhere in it, so a per-video engagement rate cannot be computed. Those columns are null on every TikTok row rather than fabricated.
  • NO PHONE. TikTok publishes none.
  • Email fill: the standalone TikTok Actor measured an email in the bio itself on 1 of 28 profiles (3.6%) and a bio link present on 15 of 28 (54%). In this Actor's own verification runs on 2026-08-09, 3 of 9 distinct TikTok creators ended up with an email after enrichment (an earlier build-test pass measured 2 of 7). A creator who links their own domain usually yields an address; a Linktree or a link-shortener usually does not.
  • Needs a residential proxy in practice: the standalone TikTok Actor measured 34 of 34 handles returning data through Apify Proxy RESIDENTIAL with a fresh session per attempt (1.4 attempts average), against 3 of 15 from one un-proxied IP once it went hot. TikTok answers a hot IP with an empty JavaScript shell and HTTP 200, not an error — which is why every retry rotates the exit IP instead of just trying again. (In this Actor's own verification runs from a fresh un-proxied laptop IP, 15 of 16 handles still came back, most of them on the second to fourth attempt, and 1 was refused on all six. An earlier build-test pass measured 8 of 9. The un-proxied path works until the IP goes hot — which is exactly why the default is residential.)

Instagram

  • CAN: the public profile record — bio, follower / following / post counts, verified, private and business flags, every link in bio with Instagram's l.instagram.com wrapper resolved, and the only engagement metrics in this Actor: average likes, average comments, engagement rate and posting cadence computed from the ~12 recent posts the public endpoint returns. posts_sampled reports that denominator on every row.
  • CANNOT DISCOVER by keyword or hashtag. The only expansion is Instagram's own related-accounts list (discoverRelated), which starts from a handle you already have.
  • NO BUSINESS EMAIL. business_email, business_phone_number and category came back None even on large verified business accounts (checked on @gymshark). The only email sources on Instagram are the bio text and the linked website — the same two sources as the other platforms. There is no phone column in this Actor for the same reason.
  • PARTIAL DELIVERY AT VOLUME IS NORMAL, not a fault. Instagram rate-limits shared residential pools hard: the standalone Instagram Actor measured two consecutive 5-handle runs on 2026-08-09 delivering 2 of 5 profiles each, and this Actor's verification runs delivered 11 of 16 handles (the other 5 split between Instagram-side HTTP 400s and handles that do not exist). Ask for a handful of handles per run, expect some to be refused, and know that a refused handle is never billed.
  • Instagram also answers HTTP 429 to every HTTP/1.1 request; this Actor speaks HTTP/2 (0/6 versus 5/6 through the same proxy in the same minute).
  • Instagram occasionally answers HTTP 400 for one specific account (a broken business-category asset on their side, reproducible per account). Those handles are reported by name and skipped, not retried forever — 3 of the 16 handles in this Actor's verification runs hit it.
  • Email fill: in this Actor's own verification runs on 2026-08-09, 1 of 5 distinct Instagram creators ended up with an email after enrichment (an earlier build-test pass measured 2 of 5). Both are tiny samples; treat them as an order of magnitude, not a guarantee.

YouTube

  • The only platform here that discovers. A keyword search returns about 30 unique channels — measured 28, 27 and 36 for three keywords on 2026-08-09, combining YouTube's plain results page with its channel-filtered one. More volume comes from more keywords, not from a bigger number in the box; maxResults is capped at 40 for that reason.
  • CAN: About-page description, the channel's published links (website plus socials), subscriber count, exact total views, exact video count, country, join date, channel id, verified badge.
  • SUBSCRIBER COUNTS ARE ROUNDED by YouTube itself ("91.6K", "4.37M"). Every YouTube row carries followers_estimated: true so you can see which numbers are exact. Total views and video counts are exact.
  • NO CATEGORY and NO BUSINESS FLAG. YouTube publishes neither, so category, is_business and is_shop_seller are null on YouTube rows — and the lead score is normalised per platform so YouTube leads are not structurally ranked below TikTok ones for a signal YouTube does not emit.
  • Link and email fill varies a lot by keyword, so here are two independent samples taken on 2026-08-09, one from the build pass and one from the verification pass that followed it. Sample A (9 channels, keyword home barista plus one named channel): 5 of 9 had an email in the About text, rising to 6 of 9 after website enrichment; 4 of 9 published a non-social website; 7 of 9 an Instagram link; 3 of 9 a TikTok link. Sample B, re-measured independently (8 channels, keyword vegan meal prep plus two named channels): 3 of 8 in the About text, 4 of 8 after enrichment; 5 of 8 published a website; 6 of 8 an Instagram link; 3 of 8 a TikTok link. A broad keyword returns small channels that publish nothing — expect the low end. Reading the About page rather than just the channel description is what makes those link rates possible, and it is what makes cross-platform discovery work at all.
  • YouTube answered every About-page request it made un-proxied from a laptop — 30 of 30 across five build-test runs and 78 of 78 across eight verification runs on 2026-08-09. The Actor still routes it through Apify Proxy on-platform because container egress is not the same network — but it deliberately does not use the residential group for YouTube, so a YouTube-heavy run does not spend residential traffic.

Across all three

  • One row per creator ACCOUNT. A brand that runs TikTok, Instagram and YouTube comes back as three rows and is billed as three leads, because the follower counts, the bios and often the emails differ per platform and collapsing them would destroy data you paid for. Rows that resolve to the same email or the same domain are cross-linked with also_on_platforms so you can group them yourself in one spreadsheet step.
  • Every row carries discovered_via, so you can always see whether a lead came from your input, from a YouTube keyword, from a link on a YouTube channel, or from Instagram's related accounts.
  • Filters run before billing. Rows removed by your filters, handles that do not exist and handles that were blocked are never charged, and a run that delivers zero rows charges nothing.
  • No phone column exists anywhere in the output, because none of the three platforms publishes one.
  • The AI cold-opener is optional, runs on your own OpenAI or Anthropic key, is used once per run and is never stored.

What data you get

One row per creator, best leads first, with the same 48 columns on every row. A column a platform cannot supply is null — never missing, never an empty string — so your CSV has stable headers whichever platforms you ran.

ColumnWhat it isPlatforms
platformtiktok, instagram or youtubeall
handle, name, profile_urlUsername, display name, direct profile linkall
user_id, avatar_urlPlatform user/channel id and profile pictureall
bioBio text (TikTok signature, Instagram biography, YouTube About text)all
categoryThe platform's own business categoryTikTok, Instagram
countryChannel countryYouTube
account_created_atAccount creation / channel join dateTikTok, YouTube
followersFollowers or subscribers — the column every follower filter usesall
followers_estimatedtrue when the platform rounds the number (YouTube always does)all
following, posts_countFollowing count; posts on Instagram, videos on TikTok/YouTubesee note
total_likesLifetime likesTikTok
total_viewsLifetime channel views (exact)YouTube
avg_likes, avg_comments, engagement_rate_pct, posts_per_week, posts_sampled, last_post_atEngagement over the ~12 recent posts, with the sample sizeInstagram
verified, is_private, is_business, is_shop_sellerAccount-type flags; is_shop_seller means a TikTok Shop sellersee note
email, email_source, extra_emails, email_status, has_emailBest address, whether it came from bio or website, extras, found/missingall
website, domain, has_websiteThe first non-social link the creator published, and its bare domainall
other_linksEvery other published link (Patreon, Reddit, a second site)all
instagram_url, tiktok_url, youtube_url, facebook_url, twitter_url, linkedin_urlA complete social card, merged from the profile's own links, the crawled website, and the link-in-bio page behind itall
lead_score, lead_grade, lead_tier0–100 score, A–F grade, hot/warm/coldall
also_on_platformsThe other platforms this same creator was found on in this runall
discovered_viainput, youtube_search, youtube_link or instagram_relatedall
icebreakerThe AI cold-opener, when writeOpeners is onall
scraped_atTimestamp of the scrapeall

following is TikTok + Instagram. posts_count is all three (videos on TikTok/YouTube, posts on Instagram). is_private and is_business are TikTok + Instagram; is_shop_seller is TikTok only.

Five saved views on the Output tab: Overview, Email-ready, By platform, Social card, All columns.


How the lead score works

Raw points, identical on every platform:

SignalPoints
Email found45
Website / link found20
Business or commerce account10
TikTok Shop seller5
Verified5
Follower band: 5k–500k15
Follower band: 1k–5k or 500k–2M10
Follower band: any other non-zero5

The three platforms cannot earn the same maximum, because YouTube publishes no business flag and no shop flag and Instagram no shop flag:

PlatformMaximum earnable
TikTok100
Instagram95
YouTube85

lead_score = round(earned / platform_maximum * 100). Without that normalisation a YouTube row could never exceed 85, and anyone sorting a mixed sheet by score would see every YouTube lead below every comparable TikTok lead for a signal YouTube simply does not publish. Grades: A ≥ 80, B ≥ 65, C ≥ 50, D ≥ 35, else F. Tiers: hot ≥ 75, warm ≥ 50, else cold.


Input

FieldTypeDescription
platformsarrayWhich platforms to pull from. Default all three. A platform left out is skipped even if its handle list is filled, and the log names the ignored input.
searchKeywordsarrayYouTube keyword search — the only discovery path. One per line.
channelsarraySpecific YouTube channels: @handles or channel URLs.
profilesarrayTikTok creators: usernames, @handles or profile URLs.
usernamesarrayInstagram creators: usernames, @handles or profile URLs.
crossPlatformDiscoverybooleanAlso scrape the Instagram/TikTok profiles linked on the YouTube channels found. Default false — it adds billed rows.
discoverRelatedbooleanFollow Instagram's related-accounts list. Default false.
maxRelatedPerProfileintegerRelated accounts queued per Instagram profile. Default 10.
maxCreatorsintegerHard cap across all platforms. Default 30, max 300. Handles you supply are reserved first, so discovery can never starve them.
maxResultsintegerYouTube channels per keyword. Default 20, max 40.
delaySecondsintegerPause between TikTok/Instagram profiles. Default 1.
minFollowers / maxFollowersintegerFollower (or subscriber) range. 0 = no filter.
onlyVerifiedbooleanVerified accounts only. Works on all three platforms.
onlyBusinessbooleanBusiness/commerce accounts only. YouTube rows are kept unfiltered — YouTube publishes no such flag — and the log says how many.
skipPrivatebooleanDrop private accounts (TikTok, Instagram).
onlyWithWebsitebooleanDrop creators with no external link.
onlyWithEmailbooleanDrop creators with no email found. Read the fill rates above first.
minScoreintegerKeep only leads at or above this score.
enrichEmailsbooleanVisit each linked site for emails and socials. Default true — the main email source on all three platforms.
writeOpenersbooleanWrite an AI cold-opener per lead. Default false.
llmProvider, llmApiKey, llmModelstringYour own OpenAI/Anthropic key, used once per run and never stored.
proxyConfigurationobjectDefaults to Apify Proxy RESIDENTIAL for TikTok and Instagram. YouTube uses the standard pool so a YouTube-heavy run does not spend residential traffic.

Saved tasks from the three single-platform Actors keep working. maxProfiles, minSubscribers, maxSubscribers, onlyWithContact, onlyWithLink, onlyCommerce, onlyBusinessAccounts and keywords are all accepted as aliases, and the run log names each one it used. A legacy name wins over the modern one whenever the modern one is absent or still on its default, so pasting an old input never silently drops your cap or your filters and never bills you for the rows they should have removed. alsoEmitPosts, maxPostsPerProfile, hashtags and searchQueries are retired: this Actor delivers exactly one row per creator, and TikTok hashtag/keyword discovery does not exist.

Example input:

{
"platforms": ["tiktok", "instagram", "youtube"],
"searchKeywords": ["home barista"],
"profiles": ["gymshark"],
"usernames": ["gymshark"],
"crossPlatformDiscovery": true,
"maxResults": 20,
"maxCreators": 30,
"enrichEmails": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

JSON output sample

A real row from a run on 2026-08-09, trimmed to the filled columns (the other columns are present and null):

{
"platform": "youtube",
"handle": "SevenMilesCoffeeRoasters",
"name": "Seven Miles Coffee Roasters",
"profile_url": "https://www.youtube.com/@SevenMilesCoffeeRoasters",
"user_id": "UCZQQDp_XZL1AkZ36ToAU_mw",
"bio": "Comes from a Good Place, Takes you to a Better one. Roasted in Sydney and brewed in cafés and homes across Australia.",
"country": "Australia",
"account_created_at": "2016-12-13",
"followers": 207000,
"followers_estimated": true,
"posts_count": 68,
"total_views": 21965248,
"verified": false,
"email": "grow@sevenmiles.com.au",
"email_source": "website",
"extra_emails": "hello@sevenmiles.com.au, ramona.taxis@sevenmiles.com.au, training@sevenmiles.com.au",
"email_status": "found",
"has_email": true,
"website": "https://www.sevenmiles.com.au",
"domain": "sevenmiles.com.au",
"instagram_url": "https://www.instagram.com/sevenmilescoffeeroasters/",
"facebook_url": "https://www.facebook.com/sevenmilescoffeeroasters",
"linkedin_url": "https://www.linkedin.com/company/sevenmilescoffeeroasters",
"lead_score": 94,
"lead_grade": "A",
"lead_tier": "hot",
"discovered_via": "youtube_search",
"scraped_at": "2026-08-09T16:42:10.380780+00:00"
}

When a platform comes back empty

A merged run must never hide a failure behind a short list.

  • If one platform is blocked and another delivered rows, the run succeeds and the status message names the blocked platform and how many handles never made it into the dataset.
  • If zero rows were delivered and a platform was blocked or throttled, the run fails loudly rather than handing you an empty spreadsheet that reads as "there was nothing to find".
  • If zero rows came from your filters or from handles that do not exist, that is a legitimate empty result: the run succeeds, says exactly which filter removed how many, and charges nothing.
  • Every run writes a RUN_SUMMARY record to the key-value store with per-platform requested / returned / blocked / not-found counts, the filters that ran, the per-platform email fill, and the number of rows billed.

Use with AI agents & automation

Plugs straight into your stack. Use the Apify MCP server to let AI agents (Claude, ChatGPT, Cursor) run the scraper and read creator leads as a tool call. Trigger runs and pipe results into Make, n8n or Zapier to push new leads into your CRM. Or sync the dataset to Google Sheets so your team works from a live list.


Pricing

You are charged per creator lead delivered after filtering. Rows removed by your filters cost nothing, handles that were blocked or do not exist cost nothing, and a run that delivers zero rows charges nothing. Keep costs down by capping maxCreators, leaving crossPlatformDiscovery off, and filtering before you buy. See the Apify Store page for the current per-result price.


Other Flash Scrape scrapers


FAQ

Can I search TikTok or Instagram by keyword or hashtag? No, and no Actor can without an account. TikTok serves no creator data on hashtag or search pages to a logged-out client, and Instagram's search endpoints answer 302/401. YouTube keyword search is the discovery path — and with crossPlatformDiscovery on, the Instagram and TikTok profiles those channels link to become leads too.

Will every creator have an email? No. See the per-platform fill rates above. Email is on a minority of rows and mostly comes from the linked website, not the bio. onlyWithEmail will remove most rows on most lists — which is the point if you only want contactable leads, but do not expect a full sheet.

Why is engagement_rate_pct empty on my TikTok and YouTube rows? Because neither platform publishes the data it needs. TikTok's profile payload carries an empty video list (28 of 28 profiles probed) and no play counts; YouTube's About page has no per-video stats. The column is null rather than fabricated, and posts_sampled tells you the sample size behind the Instagram numbers.

Why is a YouTube follower count rounded? YouTube itself rounds subscriber counts to three significant figures. Those rows carry followers_estimated: true. Total views and video counts are exact, and TikTok and Instagram follower counts are exact.

Do I need a proxy? For TikTok and Instagram, yes in practice — both refuse datacenter IPs, so the default is Apify Proxy RESIDENTIAL with a fresh proxy session on every retry. YouTube does not need one and is routed through the standard pool so it does not spend your residential traffic.

Do I need an API key? No. Profile scraping and email finding work without any key. You only supply your own OpenAI or Anthropic key if you turn on AI cold-openers.

Is the same creator billed twice if they are on two platforms? Yes — as two rows, because the follower counts, bios and often the emails differ per platform, and collapsing them would destroy data you paid for. The two rows are cross-linked with also_on_platforms so you can group them in one spreadsheet step.

Is it legal to scrape this data? This Actor only collects public profile data that anyone can see without logging in. Use it for legitimate outreach and follow each platform's terms and anti-spam law (CAN-SPAM, GDPR) in how you message the leads you collect.

Can I export to CSV or Google Sheets? Yes. Every run exports to CSV, JSON or Excel from the Output tab, and the dataset can sync to Google Sheets or flow through Make, n8n or Zapier.