mcp-creator-profile-reader
Read public influencer/creator profiles across seven platforms by handle or profile URL through the Apify Influencer Profile Scraper actor.
Fetch creator profiles: one flat row per creator from handles or profile URLs, as a single run or a batch (duplicates removed).
Cover seven platforms: TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, and podcasts (Apple Podcasts, Spotify).
Get profile data: display name, follower count, following, post count, engagement rate (with named method), verified flag, bio text, bio link, public business email, country guess with method, and a stable creator_id.
Flexible input: full profile URLs,
platform:@handle, or a bare@handlecombined with theplatformslist.Filter by region:
us_only(default true) returns known non-US rows as labeled error rows; rows with no country signal are kept.Handle blocks:
escalate_on_block(default true) retries bot-detection pages once over a residential proxy.Optional Twitch auth: supply your own
twitch_client_idandtwitch_app_tokento read via the official Helix API.Readable errors: every row carries
row_statusanderror_reason, so unreadable creators appear as explained rows rather than gaps.Contribute to shared pool:
contribute_to_shared_pool(default true) shares only already-returned public records to a pool all users read from; free, and can be turned off.Constraints/cost: read-only and idempotent; needs an
APIFY_TOKENand Apify credits ($0.001/run + $0.006/profile read + $0.01 Instagram bio fetch). It does not follow bio links (that is the Link in Bio Scraper actor).
Allows reading Apple Podcasts show profiles to get follower and engagement metrics.
Allows reading Instagram influencer profiles to get followers, engagement, bio, and bio link, with options to escalate to residential proxy for blocked pages.
Allows reading Pinterest influencer profiles to get followers, engagement, bio, and bio link.
Allows reading Threads influencer profiles to get followers, engagement, bio, and bio link.
Allows reading TikTok influencer profiles to get followers, engagement, bio, and bio link.
Allows reading Twitch influencer profiles to get followers, engagement, bio, and bio link, optionally using the official Twitch Helix API with a client ID and app token.
Allows reading YouTube influencer profiles to get followers, engagement, bio, and bio link.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-creator-profile-readerCan you read profiles for @mrbeast and @lexfridman?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Influencer Profile Scraper MCP Server
MCP server for the Mamba Labs Influencer Profile Scraper actor on Apify.
Creator handles or profile URLs in, one profile row out per creator.
Install
npx -y @mambalabsdev/mcp-creator-profile-readerClaude Desktop
{
"mcpServers": {
"mamba-creator-profile-reader": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-creator-profile-reader"],
"env": { "APIFY_TOKEN": "your-apify-token" }
}
}
}Get an Apify token at console.apify.com/account/integrations.
Related MCP server: creatordb-mcp-server
Tool
read_influencer_profiles
Read influencer profiles by handle across seven platforms: followers, engagement, bio, and bio link.
Input | Type | Required | Notes |
| array | no | One per line. A profile URL on any supported platform (https://www.tiktok.com/@name, https://www.instagram.com/name/, https://www.youtube.com/@name, a Pinterest, Twitch, or Threads profile, an Apple Podcasts show. |
| array | no | Which platforms a bare @handle is looked up on. A full profile URL carries its own platform and ignores this. This actor does not search; pass the creators you want read. Supported: TikTok, Instagram, YouTube,. |
| boolean | no | Launch scope is US creators. A row whose country_guess is a known non US country is returned as an error row saying so. Rows with no country signal are kept. Uncheck to keep every country. Default |
| boolean | no | On by default. A profile fetch that comes back as a bot detection page is retried once over the residential proxy. On Instagram the bio, bio link, and following are read from the profile page over residential when. Default |
| integer | no | Caps how many Instagram profile pages one run reads over the residential proxy (each readable one charges |
| integer | no | Rows fetched at once. Leave empty for the measured per platform default; the measurement is in the README. Higher is faster and, above the measured point, loses rows. |
| string | no | Optional. Your own registered Twitch application client id. With |
| string | no | Optional. An app access token for your Twitch client id (client credentials flow). Used only for Twitch reads, never stored or logged. |
| boolean | no | On by default. Contributes the public records this run finds to a shared creator and agency pool that all users of this actor read from. Only public data already in the returned rows is sent, and a contribution is not charged. Set false to read the pool and write nothing. Default |
Nothing is required. Influencer Profile Scraper answers a run with no usable input with a row carrying row_status and error_reason rather than failing, and the tool mirrors that.
Pricing
Influencer Profile Scraper is pay per event on Apify. Every price below is flat across every tier: FREE, BRONZE, SILVER, GOLD, PLATINUM, and DIAMOND.
Event | Charged for | Price | Fires when |
| Actor start | $0.001 | Once per run, on start. Covers the run overhead. |
| Apify actor start | not charged | Apify's synthetic start event. This actor prices its own |
| Profile read | $0.006 | Once per profile row where the public profile page was read and at least the follower count or the bio came back. A private, missing, or blocked profile returns a labeled error row and does not charge. |
| Instagram bio fetch | $0.01 | Once per Instagram profile row when the bio, bio link, and following were not on the embed widget or the datacenter API and the profile page was read over the residential proxy and came back readable. Only when escalate_on_block is on. Never on the embed or datacenter reads, never on another platform, never on a blocked page, and never on an error row. |
Reading the output
Every row carries row_status and error_reason. A creator the actor could not read comes back as a row saying why, not as a gap in the list, so an absence is readable rather than inferred. Filter on row_status before loading a table.
What this actor shares
The run contributes the records it finds to a shared creator and agency pool that all users of this actor read from. What one run finds, the next run can read.
The toggle is contribute_to_shared_pool. It is on by default. Set it to false and the run still reads the pool and writes nothing to it.
What this actor contributes. The profile row for every creator it reads: platform, handle, display name, follower count, bio, bio link, public business email, engagement rate, verified flag, and the read date.
Only public data that is already in your own output. Every field written to the pool is a field this run returned to you, read from a page the platform or the creator publishes to anyone without a login. Nothing from your Apify account, your input list, your API keys, or your own notes is sent. A contribution never deletes anything from the pool.
What a contribution is labeled with. The actor ID, the run ID, the pool key issued to the actor build, and a hash of the calling IP address, used for the rate limit and nothing else. Your Apify account and your user ID are not recorded.
Contributing is free. No event is charged for a write to the pool. If the pool is unreachable the run finishes as normal, the rows are dropped, and the run log says so.
Actor
Actor ID EqEnklDVMIcB1V499. The wrapper calls the actor by that immutable ID rather than by its Store slug, so a Store rename never breaks it.
Suite
Actor | Actor ID | MCP server |
| ||
| ||
| ||
| ||
| ||
|
Built by Mamba Labs.
Available Tools
1 toolread_influencer_profilesRead Influencer Profiles by HandleARead-onlyIdempotent
Reads creator profiles on TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, and podcasts from handles or profile URLs. Returns one flat row per creator with display name, follower count, following count, post count, engagement rate, verified flag, bio text, bio link, any public business email, a country guess with the method behind it, and a stable creator_id. Engagement rate is lifetime likes per post over followers, and the method is named on the row rather than implied. It reads profiles only: it does not follow the bio link, which is what Link in Bio Scraper and Newsletter Detector does. Every row carries row_status and error_reason. Charges $0.001 per run plus $0.006 per profile read, and $0.01 per Instagram bio fetch when one is needed. Contributes the public records it finds to a shared creator and agency pool that all users of this actor read from, so a later run reads what this one found; contribute_to_shared_pool is on by default and turning it off leaves the run reading the pool and writing nothing. Only public data already in the returned rows is contributed, nothing from your Apify account or your input, and a contribution is not charged. Requires an APIFY_TOKEN and consumes Apify credits. Read only.
| Name | Required | Description | Default |
|---|---|---|---|
| handles | No | One per line. A profile URL on any supported platform (https://www.tiktok.com/@name, https://www.instagram.com/name/, https://www.youtube.com/@name, a Pinterest, Twitch, or Threads profile, an Apple Podcasts show page, or a Spotify show), or platform:@handle (tiktok:@name). A bare @handle needs `platforms` and is looked up on each listed platform. One entry is a single run; a list is a batch. Duplicates are removed before any fetch. | |
| us_only | No | Launch scope is US creators. A row whose country_guess is a known non US country is returned as an error row saying so. Rows with no country signal are kept. Uncheck to keep every country. Default: true. | |
| platforms | No | Which platforms a bare @handle is looked up on. A full profile URL carries its own platform and ignores this. This actor does not search; pass the creators you want read. Supported: TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, and podcasts. Not X, not Facebook pages, not LinkedIn. | |
| batch_size | No | Rows fetched at once. Leave empty for the measured per platform default; the measurement is in the README. Higher is faster and, above the measured point, loses rows. | |
| twitch_app_token | No | Optional. An app access token for your Twitch client id (client credentials flow). Used only for Twitch reads, never stored or logged. | |
| twitch_client_id | No | Optional. Your own registered Twitch application client id. With `twitch_app_token` the Twitch reads use the official Helix API instead of the public web endpoint. Never a Mamba Labs credential. | |
| escalate_on_block | No | On by default. A profile fetch that comes back as a bot detection page is retried once over the residential proxy. On Instagram the bio, bio link, and following are read from the profile page over residential when the embed and the datacenter API did not carry them, and a page that comes back readable charges instagram-bio-fetch ($0.010). Uncheck it to never pay that event: a blocked profile then returns a labeled error row, and Instagram rows keep an empty bio and bio link on about half of the reads. Default: true. | |
| contribute_to_shared_pool | No | On by default. Contributes the public records this run finds to a shared creator and agency pool that all users of this actor read from, so a later run reads what this one found. Only public data already in the returned rows is sent, never your Apify account, your input list, or your API keys, and a contribution is not charged. Set false to read the pool and write nothing. Default: true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly, idempotent, and non-destructive annotations, the description discloses pricing per run/profile/bio fetch, the shared-pool contribution side effect with its default and opt-out, residential-proxy retry behavior, error-row semantics, country-guess methodology, and the engagement-rate formula. This is far more than annotations alone provide, and there is no direct contradiction with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with the core capability and return shape, and nearly every sentence adds a distinct behavioral fact. It loses one point because the shared-pool explanation is repeated with considerable overlap in both the description and the `contribute_to_shared_pool` parameter, making it slightly less concise than it appears.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and cross-platform variability, the description carries the full burden of explaining return values — and it does so: flat row fields, row_status/error_reason, error handling for US-only filtering and blocked profiles, pricing, and side effects. An agent has everything needed to invoke it correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter descriptions are already detailed, so the baseline is 3. The description adds operational context around cost, defaults, and the shared pool, but it does not materially add new parameter-level semantics beyond what the input schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource — reads creator profiles across seven named platforms — and enumerates the exact fields returned, including engagement rate and creator_id. It also explicitly names what the tool does not do (follow bio links, search), which distinguishes it from adjacent actors like Link in Bio Scraper and Newsletter Detector.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational context: pass handles or profile URLs, bare handles need `platforms`, and the actor does not search. It names alternatives for bio-link following and lists platform exclusions (not X, not Facebook, not LinkedIn). It stops short of an explicit 'use this when...' statement, so it is not a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.1- First observed
read_influencer_profiles
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion between tools. The single tool's purpose is clearly defined and distinct.
The tool name follows a clear verb_noun pattern in snake_case, consistent with common MCP conventions. There are no other tools to create inconsistency.
A single tool is slightly below the typical 3-15 range, but it perfectly matches the server's narrow purpose of reading creator profiles. The tool is comprehensive within its scope, so the count feels appropriate rather than insufficient.
The tool covers all major creator platforms (TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, podcasts) and returns extensive profile data. It clearly scopes out bio-link following, which is explicitly handled by other servers, so there are no obvious gaps in the stated profile-reading domain.
Maintenance
Related MCP Connectors
Find and analyze influencers with creator search, lookalikes, profiles, posts, and transcripts.
Find viral outlier posts on TikTok, Instagram and YouTube, pull creator stats, and crawl on demand.
Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.
Creator discovery & analytics across YouTube, Instagram, TikTok (30M+) + brand/sponsor intel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides comprehensive influencer marketing data from Instagram, YouTube, and TikTok via the CreatorDB Headless API V3. It enables advanced creator search, profile analysis, and access to performance metrics and audience demographics.-

creatordb-mcp-serverofficial
AlicenseAqualityBmaintenanceExposes the CreatorDB V3 API as 42 tools for creator search, profile data, sponsor intelligence, and content search across YouTube, Instagram, and TikTok.4229 npm2MIT
Influship MCPofficial
AlicenseAqualityCmaintenanceEnables AI-native creator discovery for influencer marketing, including creator search, lookalikes, profile lookup, and Instagram post transcript analysis.1440 npm1MIT- AlicenseNot gradedqualityCmaintenanceEnriches social media profiles from handles or URLs for platforms like Twitter/X, GitHub, LinkedIn, and YouTube, returning followers, bio, verification, etc. Payments via x402 micropayments (USDC on Base) with no API key or signup needed.MIT