Creator Profile Lookup: TikTok, Instagram, YouTube, X, Threads avatar

Creator Profile Lookup: TikTok, Instagram, YouTube, X, Threads

Pricing

from $11.40 / 1,000 creator resolveds

Go to Apify Store
Creator Profile Lookup: TikTok, Instagram, YouTube, X, Threads

Creator Profile Lookup: TikTok, Instagram, YouTube, X, Threads

Influencer lookup across platforms. One handle, name or profile URL in, one row out with social profiles by handle for TikTok, Instagram, YouTube, X and Threads: influencer follower count all platforms, bio, verified, links, business email. To Google Sheets or Clay. Only a creator found is billed.

Pricing

from $11.40 / 1,000 creator resolveds

Rating

0.0

(0)

Developer

Adrian Voss

Adrian Voss

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

19 hours ago

Last modified

Share

Find a creator on every platform. Give it one handle, one name, or one profile URL, and get back a single row with that creator's TikTok, Instagram, YouTube, X and Threads profiles side by side: influencer follower count all platforms, following, posts, verified badge, bio, every link they publish, and a published business email when they have put one in a bio.

Who it's for

You have a list of creators and only one identifier each, usually the handle from wherever you found them. You need the rest: where else are they, how big are they there, how do you contact them.

  • Influencer marketing. Score a shortlist by total reach instead of by one platform's number, and find out where the audience actually is before you pitch.
  • Creator sourcing and outreach. Turn a handle into a contactable creator: published email, website, and every link in the bio.
  • Agency and brand reporting. One row per creator, refreshed on a schedule, into Google Sheets or Clay.
  • Anyone joining social profiles by handle. One request per platform, one row out, no browser.

What you get

One row per creator, always. Per platform: profile URL, the handle that platform itself reports, followers, following, posts, verified, bio, and a status that says exactly what happened. Then the cross-platform answer:

ColumnWhat it is
displayNameThe creator's name, from the profile you named by URL, else their biggest profile
totalFollowersSum of the follower counts of every platform found
platformsFoundHow many platforms returned a public profile. 0 is never charged
largestPlatformWhere the audience actually is
bioLinksEvery external link the profiles publish, as {platform, title, url}
websiteUrlThe one site the profiles most agree on
businessEmailAn address the creator published in a bio or a mailto: link. Never guessed
businessEmailSourceWhich platform's bio it came from, so you can check it
matchConfidencehigh / medium / low. Read this before treating the row as one identity
matchEvidenceThe actual evidence, in plain English

The five platforms

Each platform is one HTTP request, reading the profile payload the page itself server-renders. No browser, no login, no API key, no cookies. Every fetcher is a copy of this portfolio's own single-platform actor for that target, trimmed to the profile fields.

PlatformRouteFollowersFollowingPostsVerified
TikToktiktok.com/@handleexactexactvideosyes
Instagraminstagram.com/handle/, residential proxyexactexactas displayedyes
YouTubeyoutube.com/<channel>/aboutsubscribers, as displayednot publishedvideosbest effort
X (Twitter)x.com/handleexactexactpostsyes
Threadsthreads.com/@handleexactnot publishednot publishedyes

Where a cell says "not published", the platform does not publish that number on a logged-out profile, so the column is null and never 0. Where it says "as displayed", the platform itself rounds the figure (YouTube shows "516M subscribers", Instagram shows "1.2M posts"), and so does this actor, because there is no exact number to read. totalFollowers inherits YouTube's rounding whenever YouTube is one of the platforms found.

How the match is decided

The same handle on two platforms is usually the same person, and sometimes it is not. This actor never hides that.

  • Same handle (default) tries the handle on every platform you selected and accepts whatever public profile is there. Broad, fast, and honest about its own risk through matchConfidence.
  • Linked only accepts a platform profile when its bio, its links or its website cross-reference another profile found for the same creator, or when you supplied that profile yourself as a URL. An account it cannot confirm is reported as NOT_LINKED, not dropped silently, and is never charged.

matchConfidence means:

  • high the profiles link to each other, or they publish the same website. Also high when you supplied a single profile by URL, because then nothing had to be inferred at all.
  • medium the same handle on two or more platforms and display names that agree.
  • low the same handle only, with nothing else agreeing.

A name input ("Marques Brownlee") is collapsed to a guessed handle ("marquesbrownlee"). That is lower precision by nature, and matchEvidence always says when it happened. A handle or a profile URL resolves far more reliably.

What a run costs, and how to control it

A creator costs one HTTP request per selected platform, plus one retry on any request that fails to answer at all. There is no paging, no search step and no follow-up hop anywhere in this actor.

  • "Which platforms to check" is the cost control. Drop a platform and that request is never made. Instagram is the expensive one, because it is the only platform that requires a residential proxy: it answers a datacenter IP with its login shell, which carries no profile data. Untick it and the run gets markedly cheaper.
  • "Which columns" is display only. Hiding a column never changes what a run costs, and this actor says so rather than implying a saving that is not there.
  • You are billed once per creator, however many platforms you check, and only when at least one of them returned a public profile.
  • The retry only fires on a failure, never on a refusal. A platform that answers with a 403 is answering, and paying twice to be refused twice would buy nothing. In the build's live run 2 of 15 platform requests timed out, one of them the very platform the buyer had named by URL, which is what the retry is there for.

How to use

  1. In the Apify Console. Open the actor page and click Start — the creators field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. Via the API. Call it directly with a POST request — no Console needed once you have an API token:
    curl "https://api.apify.com/v2/acts/accountable_eel~creator-profile-unified-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"creators":["mkbhd","mrbeast","nasa"]}'
  3. On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.

Input

{
"creators": [
"mkbhd",
"mrbeast",
"nasa"
]
}

One creator per line. A handle ("mkbhd"), a name ("Marques Brownlee"), or a profile URL on any of the five platforms — each line comes back as ONE row with that creator’s TikTok, Instagram, YouTube, X and Threads profile side by side: followers, following, posts, verified, bio and every link they publish. A profile URL or an exact handle resolves far more reliably than a name, which has to be collapsed to a guessed handle; matchConfidence and matchEvidence always tell you which happened, and which platforms actually agree. Accepted formats: mkbhd, https://www.tiktok.com/@mkbhd, Marques Brownlee, https://www.youtube.com/@mkbhd, https://x.com/mkbhd.

Output

One row per creator, for example:

queryfoundstatusinputtiktokUrltiktokHandletiktokFollowerstiktokFollowingtiktokPoststiktokVerifiedtiktokBiotiktokStatusinstagramUrlinstagramHandleinstagramFollowersinstagramFollowinginstagramPostsinstagramVerifiedinstagramBioinstagramStatusyoutubeUrlyoutubeHandleyoutubeFollowersyoutubeFollowingyoutubePostsyoutubeVerifiedyoutubeBioyoutubeStatusxUrlxHandlexFollowersxFollowingxPostsxVerifiedxBioxStatusthreadsUrlthreadsHandlethreadsFollowersthreadsFollowingthreadsPoststhreadsVerifiedthreadsBiothreadsStatusdisplayNametotalFollowersplatformsFoundlargestPlatformbioLinkswebsiteUrlbusinessEmailbusinessEmailSourcematchConfidencematchEvidencescrapedAt
mkbhdtrueOK<tiktok: profile url><tiktok: handle><tiktok: followers><tiktok: following><tiktok: posts><tiktok: verified><tiktok: bio><tiktok: status><instagram: profile url><instagram: handle><instagram: followers><instagram: following><instagram: posts><instagram: verified><instagram: bio><instagram: status><youtube: profile url><youtube: handle><youtube: followers><youtube: following><youtube: posts><youtube: verified><youtube: bio><youtube: status><x: profile url><x: handle><x: followers><x: following><x: posts><x: verified><x: bio><x: status><threads: profile url><threads: handle><threads: followers><threads: following><threads: posts><threads: verified><threads: bio><threads: status><followers, all platforms>1970-01-01T00:00:00.000Z

A creator found nowhere comes back as a row with "found": false and is never charged. Two dataset views are available in the Console: Overview (every column) and Platforms (the per-platform grid plus the identity summary, without the bios).

Example runs

Three inputs that need no credentials of any kind and return rows as they stand. Paste one into the Input tab and press Start.

1. Three creators, all five platforms

{
"creators": ["mkbhd", "mrbeast", "nasa"]
}

2. Start from a profile URL you already have, and find the rest

{
"creators": [
"https://www.tiktok.com/@mkbhd",
"https://www.youtube.com/@MrBeast",
"https://x.com/nasa"
]
}

3. Only confirmed matches, and skip the expensive platform

{
"creators": ["mkbhd", "mrbeast"],
"platforms": ["tiktok", "youtube", "x", "threads"],
"matchMode": "linked"
}

Pricing

Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

curl "https://api.apify.com/v2/acts/accountable_eel~creator-profile-unified-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"creators":["mkbhd","mrbeast","nasa"]}'

n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~creator-profile-unified-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"creators":["mkbhd","mrbeast","nasa"]} (swap in an expression from an earlier node for a real value).

Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~creator-profile-unified-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"creators":["{{creator}}"]}, mapping the row's creator into the creators array.

MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "Influencer lookup: social profiles by handle, 5 platforms" — the agent will find and run this actor.

vs. the alternatives

  • A single-platform profile scraper answers one platform. You would run five of them and join the results yourself, and you would still have no follower total, no biggest-platform answer and no view on whether the five handles are even the same person.
  • A follower-count tracker bills per profile, so five platforms is five charges. This bills once per creator.
  • An email-finder for creators guesses addresses from a name and a domain. This one does not guess at all: businessEmail is only ever an address the creator published themselves, and businessEmailSource names the field it came from.
  • A creator search or lookalike tool discovers creators you do not know yet. This one resolves creators you already have. They are different jobs, and this actor does not pretend to do the first one.

Limits, stated plainly

  • Public profile fields only. No follower or following lists, no posts, no comments, no DMs, nothing behind a sign-in wall.
  • Private accounts return PRIVATE and no data. Not even the follower count some platforms still publish for them, and a PRIVATE platform never contributes to a charge.
  • YouTube's subscriber count and Instagram's post count are rounded by the platform, not by this actor. There is no exact figure to read logged out.
  • Threads publishes no following count and no post count, and YouTube publishes no following count. Those columns are null.
  • Verified is null rather than false when the platform did not say. X publishes a badge record on some profile pages and not others (x.com/MKBHD carries one, x.com/KhabyLame does not), and the only signal left when it is missing is X's legacy verified flag, which is false for every account today whether or not it has a blue check. YouTube's badge is read off the channel's own header title, and is null when that structure is absent. In both cases null means "the platform did not say", never "not verified".
  • A request can simply fail. A platform whose request and retry both time out comes back REQUEST_FAILED, which is deliberately not NOT_FOUND: nothing is claimed about that account either way. The other platforms still answer and the row is still delivered.
  • A name input is a guess. The handle is derived by collapsing the name to its letters and digits, and one request per platform is made with it. matchEvidence says so on every such row.
  • Handles are adapted per platform where they have to be. X allows no dots, so mk.bhd is tried as mkbhd there, and matchEvidence says so. A different handle can be a different person.
  • No discovery. This actor resolves a creator you name. It does not search for creators by topic, hashtag or lookalike.
  • A platform can refuse a request. That platform comes back BLOCKED with the reason, the other four still answer, and the row is still delivered.

Data protection

This actor reads public creator profiles, which are personal data about identifiable people. It reads nothing behind a sign-in wall and holds nothing between runs: every row is fetched live and written to your own dataset, which only you control.

  • You are the controller. Whether you may collect, store and use this data is a question about you and your purpose, not about this tool. If you are in the EU or the UK, or your subjects are, the GDPR applies to what you do next: you need a lawful basis, and duties around transparency, retention, and honouring a request to be erased. Each platform's own terms also restrict automated collection. Nothing here is legal advice, and running this actor is not a determination that your use is lawful.
  • Business outreach only. businessEmail is an address a creator published so that businesses would contact them, and that is the only use this actor is built for. It is never an address this actor guessed, and sending unsolicited email brings its own rules on top of the GDPR (the ePrivacy rules in the EU and the UK, CAN-SPAM in the US).
  • Honour opt-outs. If a creator asks you to stop, stop: delete their rows, and do not re-run them. Keeping your own suppression list is your job, not something a stateless lookup can do for you.

FAQ

Can I give it a name instead of a handle? Yes, and it will tell you it guessed. The name is collapsed to its letters and digits and tried as a handle on each platform. matchConfidence will be medium at best on the strength of that alone.

How do I make sure I am not mixing up two people with the same handle? Set "How strictly should profiles be matched?" to Linked. Then a profile is only accepted when something on it cross-references another profile found for the same creator, or when you supplied it by URL yourself. Everything else is reported as NOT_LINKED and not charged.

Why is Instagram more expensive than the others? Because Instagram is the one platform here that requires a residential proxy. A datacenter IP gets its login shell, which contains no profile data at all. If you do not need Instagram, untick it.

Does it find email addresses? It reports ones the creator published, in a bio or as a mailto: bio link. It never guesses an address from a name and a company domain.

Am I charged for a creator it could not find? No. A creator found nowhere, a creator whose only accounts are private, a creator whose profiles were all refused, and (in Linked mode) a creator whose profiles cannot be confirmed are all free.

A handle matched on one platform but it is clearly not the same person. Is that a bug? No, and the row says so. Running khaby.lame finds a real, private, zero-follower Instagram account at instagram.com/khaby.lame that is not Khaby Lame, so that platform comes back PRIVATE with no fields, and matchConfidence is low with matchEvidence naming the adapted handle. That is the honest answer to "the same handle on two platforms". Use Linked mode when you need the stricter one.

Can an AI agent call this directly? Yes. It is on the Apify MCP server, so an agent in Claude, Cursor or any other MCP client can find and run it by name, and the REST endpoint above works from any script or workflow tool.