Skip to main content
Glama
mambalabsdev

Influencer Lead List Builder MCP Server

Build an Influencer Lead List End to End

build_influencer_lead_list
Read-onlyIdempotent

Build influencer lead lists from keywords or handles: discover creators, read profiles, extract business emails, and match agencies.

Instructions

Runs the three stages of the suite in one call: find creators by keyword or curated niche, read each profile, then follow the link in bio page. Returns one flat row per creator carrying handle, profile URL, display name, follower count, a stable creator_id and the method that produced it, the public business email, a manager email, a matched talent agency, newsletter status and the platform behind it, and what the creator sells. Start from keywords or a niche to discover creators, or hand it handles you already hold to skip discovery. Skipping the link check stops after the profile read. Every row carries row_status and error_reason, and a creator dropped by the country filter says so rather than disappearing. Charges $0.002 per run, then $0.007 per creator found, $0.006 per profile read, and $0.008 per link check, plus $0.004 per headless browser render, $0.005 per website email scan, $0.003 per agency match, and $0.01 per Instagram bio fetch when those steps run. The AI check uses your own Anthropic or OpenAI key and is billed by them. Requires an APIFY_TOKEN and consumes Apify credits. Read only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoLeave empty for the default. sub_actors calls the Influencer Finder, the Influencer Profile Scraper, and the Link in Bio Scraper and Newsletter Detector by Actor ID as runs on your account, so each stage bills its own events and its own actor-start. in_process runs the same three stages inside this actor and charges the same stage events here. A complete row costs $0.021 either way, plus the add-ons you turn on.
nicheNoLoads a curated set of search keywords for the niche (about 60 per niche, measured in the September 2026 pre-research). `max_keywords_per_niche` caps how many are used. Leave as custom to search only your keywords. Default: "custom".
handlesNoOne 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_onlyNoLaunch 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.
ai_checkNoOff by default. When on, a model reads the rule classifier's evidence and rules on each row. Runs only with your own key in `ai_api_key`; the actor never uses a Mamba Labs key and never logs yours. Default: false.
keywordsNoSearch phrases, one per line, for example "budget travel" or "meal prep coach". Each keyword is searched on each platform. Use `niche` instead to load a curated keyword set.
platformsNoWhich platforms to search, and which platforms a bare @handle is looked up on. A full profile URL carries its own platform and ignores this. Supported: TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, and podcasts. Not X, not Facebook pages, not LinkedIn.
ai_api_keyNoYour own model API key. Used only when `ai_check` is on. Never stored, logged, or written to a row.
batch_sizeNoRows 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.
skip_linksNoOff by default. On: discovery and profile only. The link-in-bio page is never fetched, so no links-checked, browser-render, website-scan, or agency-match event is charged and the links, newsletter, and sells columns stay null. Default: false.
ai_providerNoWhich API the key belongs to. Default: "anthropic".
follower_maxNoDrop creators whose follower count is known and above this. Default: 500000.
follower_minNoDrop creators whose follower count is known and below this. A creator whose count the search did not show is kept, so a later profile read can fill it. Default: 5000.
max_creatorsNoHard cap on rows returned, so a broad niche cannot run away. Default: 200.
match_agenciesNoMatches the domain of a manager or business email against the bundled talent agency list and fills agency_name, agency_domain, and agency_match_method. Charged per matched row (event agency-match). Default: true.
twitch_app_tokenNoOptional. An app access token for your Twitch client id (client credentials flow). Used only for Twitch reads, never stored or logged.
twitch_client_idNoOptional. 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_blockNoOn 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.
max_keywords_per_nicheNoHow many keywords from the niche set to search. 1 to 60. Default: 10.
scan_website_for_emailNoOff by default. For creators with their own website (not a link-in-bio page), reads the home, contact, and about pages and the footer for an email and records where it was found. Charged per creator scanned (event website-scan). Default: false.
render_unreadable_pagesNoOff by default. Some link-in-bio pages (Stan Store, linkin.bio, Typeform shells) return an empty shell to a plain fetch and are classified unknown_fetch_failed. Turn this on to render them in a headless browser. Charged per page rendered (event browser-render) to cover the browser compute. Default: false.
max_creators_per_keywordNoCap per search. Search engines honor the site: filter for the first page or two only, so 20 to 30 per keyword with more keywords beats deep paging. Default: 20.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the operation as read-only, idempotent, and non-destructive, and the description reinforces 'Read only.' It adds substantial behavioral detail beyond the annotations: exact per-run and per-stage pricing, APIFY_TOKEN requirement, AI-check key ownership, country-filter error rows, row_status/error_reason behavior, and conditional add-on charges. This gives the agent a strong model of side effects and costs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but information-dense, and the complexity of a 22-parameter end-to-end pipeline justifies the length. It front-loads the action and output shape before moving to cost, auth, and edge-case behavior. It is not perfectly scannable as a single paragraph, but it avoids filler and every sentence adds useful guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no sibling tools, the description covers what an agent needs to call it correctly: the pipeline stages, output row fields, row_status/error_reason guarantees, cost model, token/key requirements, and skip options. Nothing critical for invoking the tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage across all 22 parameters, so the structured schema already carries the parameter-level meaning. The description adds high-level workflow and pricing context but does not need to restate individual parameter semantics. A baseline of 3 is appropriate since the schema is doing the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific composite action—running all three stages (discovery, profile read, link-in-bio follow) in one call—and specifies exactly what is returned per creator. It also clearly distinguishes intended entry paths: keywords, curated niche, or pre-existing handles. This goes well beyond a restatement of the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete usage context: start with keywords or a niche to discover, or pass handles to skip discovery, and it explains the effect of skipping the link check. There are no sibling tools listed, so there is no alternative to contrast, but the guidance is clear enough that an agent can decide how to invoke the tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools