Skip to main content
Glama

Search influencers

search_influencers
Read-only

Search the INFLUENCER directory (the website's /influence page): YouTube channels and Instagram accounts with audience size and activity. One row = one creator. platform is required: youtube or instagram. Filters: q (name / topic words), country (ISO-2 code such as US, or the English country name as the directory writes it, comma separated), category and niche (YouTube only; the directory's own labels, exact match, comma separated — YouTube category examples: Gaming, Music, Education, Comedy, Sports, 'Beauty & Makeup', 'Tech, AI & Software', 'Finance & Cryptocurrency', 'Food, Drink & Cooking', Fitness, 'Travel & Events'; when unsure of a label search by q instead), followers_min / followers_max (subscribers / followers), last_video_days (creators active in the last N days: last video on YouTube, last post on Instagram), has_email (true = creators with an email in the directory), sort (YouTube: followers default, views, videos, last_video; Instagram: followers only). Instagram rows carry the account handle in username and have no niche, avg_views or lang_hint. Rows: slug, name, platform, followers, avg_views (YouTube: average views per video), count_views (YouTube: total views), media_count (videos / posts), country, niche, category, lang_hint (YouTube writing-script hint such as 'latin' — NOT a language), last_video_at / last_post_at, has_email, url (YouTube creator page on spytrend.com). CONTACTS ARE NEVER RETURNED: no emails, phones, websites, social links or bios — has_email is only a yes/no. total_estimate is an ESTIMATE scaled to the directory size, never an exact count. Pagination: limit is at most 10; offset must be a multiple of limit. Callers without an Influence subscription get subscription_locked=true: only the first row carries statistics, the others are name/country/niche teasers (stats_hidden=true, not charged) and there is no second page. QUOTA: 1 MCP credit per row that carries statistics; teaser rows and short pages are refunded. PRICING: price × number of filters set (min 1), on paid plans ×1 after 500 MCP credits/month; one-time consent via accept_pricing_terms; before calling, get the maximum debit from estimate_cost (free) and tell the user.

Input Schema

NameRequiredDescriptionDefault
qNoname or topic words to search for (creator name, channel topic)
sortNoorder: followers (default), views, videos or last_video; Instagram supports followers only
limitNomax rows (default 10, at most 10; each row with statistics costs 1 MCP credit)
nicheNoYouTube only: the directory's own niche label (exact match, comma separated), e.g. 'Mobile Games'. Unsure of the label — use q
offsetNopagination offset, a multiple of limit (0, 10, 20…)
countryNoISO-2 code (US, BR, DE…) or the English country name as the directory writes it ('United States'); comma separated for several. Matches the creator's country, not the audience's
categoryNothe directory's own category label (exact match, comma separated), e.g. Gaming or 'Beauty & Makeup'. Unsure of the label — use q
platformYesdirectory to search: youtube or instagram
has_emailNotrue = only creators with an email in the directory (the email itself is never returned)
followers_maxNomaximum subscribers (YouTube) / followers (Instagram)
followers_minNominimum subscribers (YouTube) / followers (Instagram)
last_video_daysNoonly creators active in the last N days (last video on YouTube, last post on Instagram)

Output Schema

NameRequiredDescriptionDefault
dataNo
noteNo
errorNoPresent only when isError is true: machine-readable failure. The human explanation stays in content.
offsetNo
paramsNoRequest parameter echo: applied = parameters that shaped this result; normalized = parameters rewritten before applying (alias, type coercion, resolved id); ignored = parameters that were accepted but NOT applied, with the reason.
has_moreNo
platformNo
total_noteNo
addon_hintsNoAdd-on modules that have additional data for objects of this result (no prices, no paid values). subscription_status=active: the account has the module — use its normal path. Do not push a purchase the user did not ask about.
contacts_noteNo
total_estimateNo
credits_exhaustedNo
subscription_lockedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"max rows (default 10, at most 10; each row with statistics costs 1 token)"New value: +"max rows (default 10, at most 10; each row with statistics costs 1 MCP credit)"
    • addedOutput schema / properties / addon_hints
      Added value: +{
      +  "description": "Add-on modules that have additional data for objects of this result (no prices, no paid values). subscription_status=active: the account has the module — use its normal path. Do not push a purchase the user did not ask about.",
      +  "items": {
      +    "properties": {
      +      "available_data_types": {
      +        "description": "kinds of data the module confirmedly has for the object",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "info_url": {
      +        "description": "the object (or its limited breakdown) inside the module on spytrend.com",
      +        "type": "string"
      +      },
      +      "module": {
      +        "description": "nutra | crypto | web2app | search_arb | startups",
      +        "type": "string"
      +      },
      +      "object_id": {
      +        "description": "the ad id, or the site domain for site rows",
      +        "type": "string"
      +      },
      +      "preland_downloadable": {
      +        "description": "Nutra / Crypto: the saved pre-lander can be downloaded in the module",
      +        "type": "boolean"
      +      },
      +      "subscription_status": {
      +        "description": "active | not_connected",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld; the description adds substantial non-obvious behavior: contacts are never returned, total_estimate is an estimate, subscription_locked produces teaser rows with stats_hidden and no second page, quota is 1 credit per row with refunds, and pricing scales with the number of filters set. This is exactly the context the annotations cannot supply.

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?

Front-loads resource and required parameter, then filters, then rows, then commercial terms — a sensible order. It is dense and long, with some schema-restating detail (row field list) that could be trimmed, but nearly every sentence carries 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 12-parameter, paid, quota-metered search tool this covers everything an agent needs: pagination constraint (limit ≤ 10, offset multiple of limit), locked-subscription degradation, cost preview workflow, and output limitations. The output schema exists, yet the description still flags the fields callers must not expect (emails, bios).

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

Parameters5/5

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

Even at 100% schema coverage the description adds real meaning: country matches the creator's country not the audience's, category/niche are exact-match directory labels with enumerated YouTube examples, sort is followers-only on Instagram, and Instagram rows lack niche/avg_views/lang_hint. It also clarifies lang_hint is a writing-script hint, not a language.

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?

Opens with a specific verb+resource and scope: 'Search the INFLUENCER directory (the website's /influence page)', and defines the unit ('One row = one creator') plus the two supported platforms. This clearly separates it from get_influencer (single-creator lookup) among the siblings.

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?

Gives concrete routing advice inside the tool: use q instead of category/niche 'when unsure of a label', platform is required, and specifies prerequisite workflow steps (estimate_cost for max debit, accept_pricing_terms consent). It does not explicitly contrast with sibling search tools or get_influencer, so it stops short of full when-not guidance.

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.