Skip to main content
Glama

Search TikTok creators

search_creators
Read-onlyIdempotent

Search the Tokfluence TikTok creator index (millions of profiles) by keyword and structured filters. This is the primary tool: use it to build a candidate pool, then narrow it yourself.

How to get good results:

  • A brief with more than one requirement goes in concepts, not query. "Curly hair creators over 40" is two requirements, and asking for it as one keyword returns curly-hair creators of any age mixed with over-40 creators with any hair. concepts: ["curly hair", "over 40"] requires both.

  • Run several searches with different keywords rather than one search with a long keyword string. The index matches creator bios, hashtags and captions, so "postpartum" and "pelvic floor" find different people and the union is the pool.

  • Start wide and tighten. A first pass with only query and min_followers tells you how much supply exists; add filters once you can see the shape of it.

  • regions is the filter most likely to hide people from you. Creators we hold no country for are removed by it even though nothing says they are in the wrong place. Read region_filter in the response: when the number it reports dwarfs your result count, search without regions and read location off the bios.

  • niche_level controls how hard a keyword has to bind. "wide" matches a creator who used the tag once, "laser" only creators the tag actually defines. Default "balanced". Drop to "wide" when a niche returns almost nothing.

  • Results are relevance-ranked by default, so page 1 is the index's best guess. It is a guess: keep reading with page until you have a pool several times larger than the list you intend to deliver, then rank it yourself.

  • Passing sort replaces relevance ranking with that ordering. Useful to answer "who are the biggest creators here", bad for finding the right ones. Once sorted you are descending through reach, not fit, so on-brief hits thin out as you page and that is NOT the niche running out. Judge coverage unsorted. The response says so in ranking whenever sort is combined with a keyword.

  • Creators who state a minor's age in their bio are always excluded, and nothing turns that off. About half state no age at all; those come back marked age_unknown and have NOT been cleared. For a paid-promo brief, read their bios before you deliver them.

  • Contact emails are stored unvalidated, so some of them are not addresses at all. Read contact_email_confidence on each row and send only to has_validated_email. A bounce costs the customer their own sending reputation.

  • Results are a starting point, not a verdict. Rank the pool yourself on the evidence in each row (bio wording, hashtags, engagement against follower count), and call get_creator_posts on the handful you are unsure about.

Every response carries a coverage verdict saying whether the index really covers this niche and what to do next. Follow it. When it reports a genuine gap, tell the user what you found and offer to start a crawl; never start one without asking.

Set include_images to show the creators' profile pictures inline in the chat. Use it when you are presenting a shortlist to the user, who is choosing people to work with and should be able to see them. Leave it off while you are sweeping pages to build a pool, where nobody is looking at the intermediate results.

A search call costs 1 credit, plus 1 per profile with contact details it returns (a contact email or phone in the row). Rows without contact details are free, and an empty page costs nothing. Every page is its own call. Control the cost with the contact filters: has_email: true returns only creators with an email, so every credit buys someone you can reach; has_email: false and has_phone: false return only creators without, at 1 credit a page. Creators removed for stating a minor's age are not charged. When the balance cannot cover every profile with contact details, the page is still returned whole: the profiles it could not pay for come back without their contact values, and billing says how many.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_creators"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, 1-based. Read several pages to build a pool; `max_page` in the response is the last one you can ask for.
sortNoResult ordering. Defaults to relevance.
brandNotrue returns brand accounts, false returns individual creators.
queryNoKeyword or phrase matched against bios, hashtags and captions. Omit to filter without a keyword.
genderNoFilter on the profile-picture category. An estimated presentation category, inferred by a model from the profile picture. It is not the creator's sex or gender identity, and it is sometimes wrong. Do not use it to make discriminatory or eligibility decisions about a person.
regionsNoISO-3166 alpha-2 country codes, e.g. ['GB','IE']. Matches the creator's own country, inferred from tagged places and caption language. Many creators carry no country at all, especially recently crawled ones, and this filter removes them along with the ones known to be elsewhere. The response's `region_filter` says how many that cost you.
conceptsNoRequirements the creator must ALL satisfy, one per entry, e.g. ['curly hair', 'over 40']. Each is matched by its own words or by the hashtags creators in that niche actually use, so a creator tagged #over40club counts as 'over 40' without writing the phrase. Use this for any brief with more than one requirement; use `query` for a single subject. Both can be given: concepts decide who is in the set, query orders them.
hashtagsNoHashtags the creator posts under, without '#'. Narrower and more literal than `query`.
mentionsNoAccounts the creator mentions. Useful for finding creators who already work with a brand.
per_pageNoResults per page, 1-100. Default 25.
has_emailNotrue: only creators with a contact email on file. false: only creators without one (with has_phone false too, a page costs 1 credit). Note true means a string is present, not that it is a working address: it is applied upstream against unvalidated data. Every row carries contact_email_confidence and has_validated_email, and the response's `email_filter` says how many of the page survived validation. Build outreach from has_validated_email, not from this.
has_phoneNotrue: only creators with a contact phone number. false: only creators without one.
niche_levelNoHow strongly the keyword must define the creator. Default 'balanced'.
max_followersNoMaximum follower count.
min_followersNoMinimum follower count.
include_imagesNoShow each creator's profile picture inline in the chat. Default false. Turn on when presenting results to the user, off while sweeping for a pool.
has_youtube_linkedNoOnly creators with a linked YouTube.
is_tiktok_verifiedNoBlue-tick accounts only.
min_engagement_rateNoMinimum engagement rate as a 0-1 fraction (0.05 = 5%). Same scale as the engagement_rate field in results.
analyzed_within_daysNoOnly creators we last analysed within this many days, e.g. 60. Leaves out profiles whose stats are months old. This is when we last read the profile, not when the creator last posted: check get_creator_posts for that. 1-365; omit for no limit.
has_instagram_linkedNoOnly creators with a linked Instagram.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses credit costs, per-page billing, partial contact values when balance is insufficient, mandatory exclusion of creators stating a minor's age, unvalidated email risk, region-filter hidden removals, and coverage verdict behavior. These are operationally important traits an agent could not infer from annotations alone.

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 purpose is front-loaded and the long guidance is organized under 'How to get good results' with bullet points, so it is navigable despite its length. It is verbose for a tool description and repeats some schema-level details, especially around contact filtering and credits, but most sentences carry actionable operational value.

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 21-parameter, credit-metered search tool with no output schema, the description covers the missing return-side context: coverage verdicts, region_filter, ranking caveats, billing, age_unknown, contact_email_confidence, has_validated_email, and max_page. It gives enough behavioral and response context for an agent to use the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds strategic meaning beyond the schema: concepts versus query as set-definition versus ordering, sort replacing relevance ranking, regions as the most dangerous filter, niche_level loosening when supply is thin, and include_images as presentation-mode-dependent. Some of this repeats rich schema text, which keeps it from a 5.

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 states a specific verb and resource: 'Search the Tokfluence TikTok creator index' and calls itself the primary tool for building a candidate pool. It also distinguishes its role from narrower follow-up tools by naming get_creator_posts for uncertain profiles.

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

Usage Guidelines5/5

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

It gives explicit when-to-use guidance and tactics: put multi-requirement briefs in concepts, run several keyword searches instead of one long string, start wide then tighten filters, and treat sort as a different mode from relevance ranking. It also names a follow-up sibling, get_creator_posts, and says never to start a crawl without asking.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.