Find and analyze influencers with creator search, lookalikes, profiles, posts, and transcripts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your Influship API key from https://developers.influship.com
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Autocomplete creator names, usernames, or display names from partial input. Use this for fast lookup when the user types a partial handle or name and you need to resolve it to canonical creator IDs (e.g., "find @cris" or "who's that fitness coach called Jane?"). Cheap and fast — prefer over `search_creators` for handle-style queries where the user already knows roughly who they want. Use `get_profile` instead when the user gives an exact platform+username pair. Use `search_creators` for the same fuzzy creator lookup behavior with a less typeahead- specific name. Use `semantic_search_creators` only for discovery by topic, niche, audience, geography, or content style, not for resolving a known creator. Examples: - User: "Who is that fitness coach called Jane?" -> use this tool. - User: "Find @cris..." -> use this tool to resolve the partial handle. - User: "Pull @niickjackson on Instagram" -> use `get_profile`, not this tool. Returns a short list of matching creators with their IDs, platforms, and display names. Use the IDs returned here as input to `get_creator`, `find_lookalike_creators`, or `match_creators` for downstream operations.
Search query (min 2 characters)
Maximum results to return
Which platforms to include in results
Filter by platform
Autocomplete creator names, usernames, or display names from partial input. Use this for fast lookup when the user types a partial handle or name and you need to resolve it to canonical creator IDs (e.g., "find @cris" or "who's that fitness coach called Jane?"). Cheap and fast — prefer over `search_creators` for handle-style queries where the user already knows roughly who they want. Use `get_profile` instead when the user gives an exact platform+username pair. Use `search_creators` for the same fuzzy creator lookup behavior with a less typeahead- specific name. Use `semantic_search_creators` only for discovery by topic, niche, audience, geography, or content style, not for resolving a known creator. Examples: - User: "Who is that fitness coach called Jane?" -> use this tool. - User: "Find @cris..." -> use this tool to resolve the partial handle. - User: "Pull @niickjackson on Instagram" -> use `get_profile`, not this tool. Returns a short list of matching creators with their IDs, platforms, and display names. Use the IDs returned here as input to `get_creator`, `find_lookalike_creators`, or `match_creators` for downstream operations.
| Argument | Type | Description |
|---|---|---|
| q* | string | Search query (min 2 characters) |
| limit | integer | Maximum results to return |
| scope | string | Which platforms to include in results |
| platform | any | Filter by platform |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"example": "fitness",
"maxLength": 100,
"minLength": 2,
"description": "Search query (min 2 characters)"
},
"limit": {
"type": "integer",
"default": 5,
"example": 5,
"maximum": 50,
"minimum": 1,
"description": "Maximum results to return"
},
"scope": {
"enum": [
"creator_only",
"matched_platforms",
"all_platforms"
],
"type": "string",
"default": "all_platforms",
"example": "all_platforms",
"description": "Which platforms to include in results"
},
"platform": {
"allOf": [
{
"$ref": "#/definitions/Platform"
}
],
"description": "Filter by platform"
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
}
}
}Find creators SIMILAR to one or more seed creators. Use this when the user already knows a creator they like and wants more like them (e.g., "find creators like @therock", "find more creators like these three I just booked"). Seeds are blended via creator-profile + visual-style + fact embeddings to surface similar accounts. Seeds are passed in `seed_creator_ids` (canonical UUIDs) and/or `seed_profiles` (platform + username; resolve handles via `autocomplete_creators` first if needed). Returns a ranked list of similar creators with scores. `limit` caps results (default 25, max 100). Use the flat follower, engagement-rate, and verified fields to constrain results. A `seed_not_found` response means the supplied creator is not available for similarity matching; choose another seed instead of retrying it. Use `semantic_search_creators` instead when you have a topic/niche but no seed. Use `match_creators` when you have specific candidates and want to score their fit against a brief. Examples: - User: "Find creators like @niickjackson on Instagram" -> use this tool with `seed_profiles: [{ platform: "instagram", username: "niickjackson" }]`. - User: "Find news creators with 1M+ followers" -> use `semantic_search_creators`, not this tool.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results to return. |
| cursor | string | Pagination cursor from a previous response. |
| verified | boolean | When set, only return verified or unverified creators. |
| max_followers | integer | Maximum follower count. |
Fetch the full record for a single creator by ID or exact platform username. Use this when you already have either: - a canonical creator UUID returned by `search_creators`, `semantic_search_creators`, `autocomplete_creators`, or `find_lookalike_creators`; or - an exact platform+username pair such as platform "instagram" and username "niickjackson". Pass `include: ['profiles']` to also receive the creator's social profile summaries when using a creator UUID. For platform+username inputs, this tool resolves through the profile endpoint and returns the profile record plus the underlying creator record, so you already get the matched profile context. Examples: - User: "Get creator 123e4567-e89b-12d3-a456-426614174000" -> call with id. - User: "Get @niickjackson on Instagram" -> call with platform "instagram" and username "niickjackson", or use `get_profile` if profile metrics are the main need. - User: "Tell me about @niickjackson and include his profiles" -> use platform "instagram" and username "niickjackson"; then use `get_profile`/`get_posts` for platform-specific metrics and content if needed. Use `lookup_profiles` for batch exact profile lookups.
| Argument | Type | Description |
|---|---|---|
| id | string | Creator unique identifier |
| include | array | Additional data to include in response |
| platform | any | Social platform for the username. |
| username | string | Public username or handle. A leading @ is accepted. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"example": "123e4567-e89b-12d3-a456-426614174000",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Creator unique identifier"
},
"include": {
"type": "array",
"items": {
"enum": [
"profiles"
],
"type": "string"
},
"example": [
"profiles"
],
"description": "Additional data to include in response"
},
"platform": {
"allOf": [
{
"$ref": "#/definitions/Platform"
}
],
"description": "Social platform for the username."
},
"username": {
"type": "string",
"description": "Public username or handle. A leading @ is accepted."
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
}
},
"additionalProperties": false
}Fetch raw Instagram post-page data by shortcode. Use this when the user needs fresh raw Instagram post metadata that is not guaranteed on regular cached post-list endpoints yet, including coauthors, tagged users, paid partnership metadata, product mentions, music attribution, location, display resources, and video versions.
| Argument | Type | Description |
|---|---|---|
| shortcode* | string | Instagram post shortcode from a /p/, /reel/, or /tv/ URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"shortcode"
],
"properties": {
"shortcode": {
"type": "string",
"minLength": 1,
"description": "Instagram post shortcode from a /p/, /reel/, or /tv/ URL"
}
}
}Transcribe an Instagram video post by shortcode through the raw API. The response includes raw post metadata on a transcript cache miss. A cache hit omits the post field; use `get_instagram_post` when you need post metadata with a cached transcript.
| Argument | Type | Description |
|---|---|---|
| language | string | Optional transcript language code. Omit to auto-detect. |
| shortcode* | string | Instagram post shortcode from a /p/, /reel/, or /tv/ URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"shortcode"
],
"properties": {
"language": {
"type": "string",
"minLength": 2,
"description": "Optional transcript language code. Omit to auto-detect."
},
"shortcode": {
"type": "string",
"minLength": 1,
"description": "Instagram post shortcode from a /p/, /reel/, or /tv/ URL"
}
}
}Transcribe a bounded list of Instagram video posts by shortcode through the raw API. Each successful item includes transcript data. The nested post field is present on cache misses and omitted on cache hits; use `get_instagram_posts` when you also need post metadata for every shortcode.
| Argument | Type | Description |
|---|---|---|
| language | string | Optional transcript language code. Omit to auto-detect. |
| shortcodes* | array | Instagram video post shortcodes from /p/, /reel/, or /tv/ URLs |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"shortcodes"
],
"properties": {
"language": {
"type": "string",
"minLength": 2,
"description": "Optional transcript language code. Omit to auto-detect."
},
"shortcodes": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 10,
"minItems": 1,
"description": "Instagram video post shortcodes from /p/, /reel/, or /tv/ URLs"
}
}
}Fetch raw Instagram post-page data for a bounded list of shortcodes through the raw API. Transient upstream recovery is handled automatically within the request deadline. Returns one item per requested shortcode with per-item success or error details.
| Argument | Type | Description |
|---|---|---|
| shortcodes* | array | Instagram post shortcodes from /p/, /reel/, or /tv/ URLs |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"shortcodes"
],
"properties": {
"shortcodes": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 20,
"minItems": 1,
"description": "Instagram post shortcodes from /p/, /reel/, or /tv/ URLs"
}
}
}Retrieve a live Instagram profile by exact public username, including biography, follower and following counts, verification, and collection time. Optionally include 1–50 recent posts with captions, public links, engagement, and publish times. Engagement rate is calculated from returned posts with visible counts; profile-only lookups return null. Leading @ is accepted. This source-platform lookup costs 0.5 account credits, including requested posts; stored creator evidence is a separate lookup.
| Argument | Type | Description |
|---|---|---|
| username* | string | Public username or handle. A leading @ is accepted. |
| post_limit | integer | Maximum recent posts when include_posts is true. |
| include_posts | boolean | Include recent source-platform posts. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"username"
],
"properties": {
"username": {
"type": "string",
"description": "Public username or handle. A leading @ is accepted."
},
"post_limit": {
"type": "integer",
"default": 5,
"maximum": 50,
"minimum": 1,
"description": "Maximum recent posts when include_posts is true."
},
"include_posts": {
"type": "boolean",
"default": false,
"description": "Include recent source-platform posts."
}
},
"additionalProperties": false
}Fetch a creator's posts, sorted and paginated. Use this when the user asks to see what a creator has posted (e.g., "show me Jane's last 20 posts", "what are this creator's top-engagement reels?", "pull recent posts from creator-id ABC"). Identify the creator by either `creator_id` (UUID) OR (`platform` + `username`). `sort` defaults to "recent" (newest first); use "top_engagement" for the highest- engagement posts, or one of "most_likes" / "most_views" / "most_comments" for a specific metric. `limit` defaults to 12 and is capped at 50. Pass `cursor` from a previous response's `next_cursor` to paginate. Returns post records (caption, media URL, like/comment/view counts, timestamps), plus `has_more` and `next_cursor` for pagination. Examples: - User: "Show @niickjackson's recent Instagram posts" -> use this tool with platform "instagram" and username "niickjackson". - User: "Is @niickjackson a fit for Pixel?" -> use this after `get_profile` when the fit analysis needs recent content evidence, then call `match_creators`.
| Argument | Type | Description |
|---|---|---|
| sort | any | Sort order |
| limit | integer | Maximum posts to return |
| cursor | string | Opaque keyset cursor from next_cursor. A cursor is bound to the sort order that produced it; using it with another sort returns 400. |
| platform | any | Platform (required with username) |
| username | string | Username (required with platform) |
Fetch a single social profile by (platform, username). Always use this first when the user gives an exact handle on a specific platform (for example "@niickjackson on Instagram") and you need the full profile: bio, follower/engagement metrics, recent activity, growth, and the canonical creator ID. Pass exactly the username they typed without the @ sign — case-insensitive matching is handled server-side. Do not use `search_creators` for an exact platform+username lookup. Examples: - User: "Pull @niickjackson on Instagram" -> use this tool with platform "instagram" and username "niickjackson". - User: "Tell me about instagram.com/niickjackson" -> parse the platform and username, then use this tool. - User: "Is @niickjackson a fit for Pixel?" -> use this tool first, then call `get_posts` and/or `match_creators` if the task needs content or fit analysis. Returns the profile record plus the underlying creator record. If you already have a creator UUID, use `get_creator` instead. For batch lookups by handle, use `lookup_profiles`.
| Argument | Type | Description |
|---|---|---|
| platform* | any | Social platform for the username. |
| username* | string | Public username or handle. A leading @ is accepted. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"platform",
"username"
],
"properties": {
"platform": {
"allOf": [
{
"$ref": "#/definitions/Platform"
}
],
"description": "Social platform for the username."
},
"username": {
"type": "string",
"description": "Public username or handle. A leading @ is accepted."
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
}
},
"additionalProperties": false
}Use this when a user wants to see what Influship can return before linking an account. Fetches one configured sample creator with social profile context. This is a preview tool and should not be used for search, discovery, matching, or comparison requests. After showing the preview, explain only that live creator discovery and comparison require connecting an existing Influship account. Do not discuss plans, pricing, credits, upgrades, or purchasing.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}Fetch sound clip metadata by music_id. Unknown fields are null. Audio and cover URLs are temporary, not durable downloads. This is a metered request.
| Argument | Type | Description |
|---|---|---|
| music_id* | string | TikTok sound clip ID, not a recording or album ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"music_id"
],
"properties": {
"music_id": {
"type": "string",
"pattern": "^[1-9][0-9]{0,24}$",
"description": "TikTok sound clip ID, not a recording or album ID"
}
}
}Fetch a current, normalized TikTok profile by username. Returns identity, biography, verification, and audience metrics. A leading @ is accepted and usernames are normalized. This is a metered live-data request.
| Argument | Type | Description |
|---|---|---|
| username* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"username"
],
"properties": {
"username": {
"type": "string"
}
}
}Fetch normalized details and current engagement metrics for a TikTok video URL. Canonical video URLs and TikTok share URLs are accepted. Returned media URLs are temporary. Content always resolves against the US region. Each successful request costs 0.2 account credits.
| Argument | Type | Description |
|---|---|---|
| url* | any | |
| region | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"$ref": "#/definitions/TikTokVideoUrl"
},
"region": {
"type": "string",
"const": "US",
"default": "US"
}
},
"definitions": {
"TikTokUrl": {
"type": "string",
"format": "uri"
},
"TikTokVideoUrl": {
"type": "string",
"allOf": [
{
"$ref": "#/definitions/TikTokUrl"
}
],
"format": "uri"
}
}
}Fetch available captions without generating a transcript. Missing captions return an error. Successful requests, including cached captions, cost 0.2 credits.
| Argument | Type | Description |
|---|---|---|
| url* | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"$ref": "#/definitions/TikTokVideoUrl"
}
},
"definitions": {
"TikTokUrl": {
"type": "string",
"format": "uri"
},
"TikTokVideoUrl": {
"type": "string",
"allOf": [
{
"$ref": "#/definitions/TikTokUrl"
}
],
"format": "uri"
}
}
}Fetch or generate a normalized TikTok video transcript. Returns plain text and timestamped segments. A previously collected transcript can be reused. Each successful request costs 2.5 account credits, including a reused result, and may take longer when transcription must be generated.
| Argument | Type | Description |
|---|---|---|
| url* | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"$ref": "#/definitions/TikTokVideoUrl"
}
},
"definitions": {
"TikTokUrl": {
"type": "string",
"format": "uri"
},
"TikTokVideoUrl": {
"type": "string",
"allOf": [
{
"$ref": "#/definitions/TikTokUrl"
}
],
"format": "uri"
}
}
}Fetch transcripts for 1–10 TikTok URLs in input order, with per-item results. Auto mode costs 2.5 account credits per successful entry. Captions mode never generates transcripts and costs 0.2 per successful entry. Duplicate entries remain distinct.
| Argument | Type | Description |
|---|---|---|
| mode | string | |
| urls* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"urls"
],
"properties": {
"mode": {
"enum": [
"auto",
"captions"
],
"type": "string",
"default": "auto"
},
"urls": {
"type": "array",
"items": {
"$ref": "#/definitions/TikTokVideoUrl"
},
"maxItems": 10,
"minItems": 1
}
},
"definitions": {
"TikTokUrl": {
"type": "string",
"format": "uri"
},
"TikTokVideoUrl": {
"type": "string",
"allOf": [
{
"$ref": "#/definitions/TikTokUrl"
}
],
"format": "uri"
}
}
}Fetch 1–20 TikTok video URLs in input order, with per-item success or error results. Duplicate entries remain distinct. Each successful entry costs 0.2 account credits.
| Argument | Type | Description |
|---|---|---|
| urls* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"$ref": "#/definitions/TikTokVideoUrl"
},
"maxItems": 20,
"minItems": 1
}
},
"definitions": {
"TikTokUrl": {
"type": "string",
"format": "uri"
},
"TikTokVideoUrl": {
"type": "string",
"allOf": [
{
"$ref": "#/definitions/TikTokUrl"
}
],
"format": "uri"
}
}
}Fetch a current YouTube channel by handle, channel ID, or URL. Optionally includes recent videos. This is a metered live-data request.
| Argument | Type | Description |
|---|---|---|
| channel* | string | A handle, channel ID, or YouTube channel URL. |
| video_limit | integer | |
| include_videos | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"channel"
],
"properties": {
"channel": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A handle, channel ID, or YouTube channel URL."
},
"video_limit": {
"type": "integer",
"default": 12,
"maximum": 50,
"minimum": 1
},
"include_videos": {
"type": "boolean",
"default": true
}
}
}Fetch transcripts for a selected batch of videos from a YouTube channel. Choose the video count, ordering, language, and whether timestamped segments are included. This is a metered batch request.
| Argument | Type | Description |
|---|---|---|
| channel* | string | A handle, channel ID, or YouTube channel URL. |
| sort_by | string | |
| language | string | |
| video_limit | integer | |
| include_segments | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"channel"
],
"properties": {
"channel": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A handle, channel ID, or YouTube channel URL."
},
"sort_by": {
"enum": [
"popular",
"newest",
"oldest"
],
"type": "string",
"default": "newest"
},
"language": {
"type": "string",
"default": "en",
"maxLength": 20,
"minLength": 2
},
"video_limit": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1
},
"include_segments": {
"type": "boolean",
"default": false
}
}
}Fetch current localized YouTube query suggestions for a partial phrase. Useful for expanding topic seeds before search. This is a metered live-data request.
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| country_code | string | |
| language_code | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"country_code": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"language_code": {
"type": "string",
"default": "en",
"maxLength": 5,
"minLength": 2
}
}
}Fetch fresh metadata and engagement for a YouTube video ID. Returns exact publication data when available, plus views, likes, comments, duration, tags, categories, and channel identity. This is a metered live-data request.
| Argument | Type | Description |
|---|---|---|
| video_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"video_id"
],
"properties": {
"video_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{11}$"
}
}
}Fetch a normalized transcript for a YouTube video ID. Returns plain text, timestamped segments, and available caption languages. This is a metered request and may take longer when captions must be resolved.
| Argument | Type | Description |
|---|---|---|
| language | string | |
| video_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"video_id"
],
"properties": {
"language": {
"type": "string",
"default": "auto",
"maxLength": 20,
"minLength": 2
},
"video_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{11}$"
}
}
}Fetch one page of replies to a numeric parent comment ID. Keep the video URL and parent ID unchanged when passing the returned cursor. Each successful page costs 0.2 credits.
| Argument | Type | Description |
|---|---|---|
| url* | any | |
| cursor | string | |
| comment_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"comment_id"
],
"properties": {
"url": {
"$ref": "#/definitions/TikTokVideoUrl"
},
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1
},
"comment_id": {
"type": "string",
"pattern": "^[1-9][0-9]{0,24}$"
}
},
"definitions": {
"TikTokUrl": {
"type": "string",
"format": "uri"
},
"TikTokVideoUrl": {
"type": "string",
"allOf": [
{
"$ref": "#/definitions/TikTokUrl"
}
],
"format": "uri"
}
}
}Fetch one page of videos under a hashtag, supplied without #. Continue with next_cursor and the same hashtag. Duplicate results are preserved. Media links are temporary. Each successful page, including an empty page, costs 0.2 account credits.
| Argument | Type | Description |
|---|---|---|
| cursor | string | |
| hashtag* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hashtag"
],
"properties": {
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1
},
"hashtag": {
"type": "string",
"pattern": "^[^#\\s\\u0000-\\u001f\\u007f-\\u009f]+$",
"maxLength": 100,
"minLength": 1
}
}
}Fetch one page of videos using a sound clip music_id. Continue with next_cursor and the same music_id; cursors are opaque. Duplicate results are preserved. Media links are temporary. Each successful page, including an empty page, costs 0.2 account credits.
| Argument | Type | Description |
|---|---|---|
| cursor | string | |
| music_id* | string | TikTok sound clip ID, not a recording or album ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"music_id"
],
"properties": {
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1
},
"music_id": {
"type": "string",
"pattern": "^[1-9][0-9]{0,24}$",
"description": "TikTok sound clip ID, not a recording or album ID"
}
}
}Fetch one cursor-paginated page of current TikTok videos for a username. Use the returned cursor to paginate and choose latest or popular ordering. Media URLs are temporary. Content always resolves against the US region. Each successful page, including an empty page, costs 0.2 account credits. A private account returns a forbidden error rather than an empty page; do not retry it.
| Argument | Type | Description |
|---|---|---|
| cursor | string | |
| region | string | |
| sort_by | string | |
| username* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"username"
],
"properties": {
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1
},
"region": {
"type": "string",
"const": "US",
"default": "US"
},
"sort_by": {
"enum": [
"latest",
"popular"
],
"type": "string",
"default": "latest"
},
"username": {
"type": "string"
}
}
}Fetch one cursor-paginated page of current comments for a TikTok video URL. Pass the returned cursor to retrieve the next page. This is a metered live-data request.
| Argument | Type | Description |
|---|---|---|
| url* | any | |
| cursor | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"$ref": "#/definitions/TikTokVideoUrl"
},
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1
}
},
"definitions": {
"TikTokUrl": {
"type": "string",
"format": "uri"
},
"TikTokVideoUrl": {
"type": "string",
"allOf": [
{
"$ref": "#/definitions/TikTokUrl"
}
],
"format": "uri"
}
}
}Batch-fetch up to 100 profiles by (platform, username) pairs. Use this when the user has a list of handles and you need profile data for all of them at once (e.g., "give me follower counts for these 30 accounts I'm considering" or "which of @a @b @c are real accounts?"). One round-trip beats 30 calls to `get_profile`. Use this for exact batch handle lookup, not semantic discovery. For one exact platform+username pair, use `get_profile`. For partial or fuzzy handle/name input, use `search_creators` or `autocomplete_creators`. Use `semantic_search_creators` only for topical/niche/audience discovery where false-positive semantic matches are acceptable. Examples: - User: "Compare @a, @b, and @c on Instagram" -> use this tool for the exact handle batch. - User: "Give me follower counts for these 30 accounts" -> use this tool. - User: "Find wellness creators in Austin" -> use `semantic_search_creators`, not this tool. The response splits results into `data` (profiles found) and `not_found` (the (platform, username) pairs that weren't recognized). Profiles are returned in no particular order — re-correlate via the platform/username fields if you need to preserve input order.
| Argument | Type | Description |
|---|---|---|
| profiles* | array | Profiles to lookup |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"examples": [
{
"profiles": [
{
"platform": "instagram",
"username": "fitness_coach_jane"
},
{
"platform": "instagram",
"username": "wellness_guru"
},
{
"platform": "instagram",
"username": "healthy_eating_tips"
}
]
}
],
"required": [
"profiles"
],
"properties": {
"profiles": {
"type": "array",
"items": {
"$ref": "#/definitions/ProfileLookupItem"
},
"maxItems": 100,
"minItems": 1,
"description": "Profiles to lookup"
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
},
"ProfileLookupItem": {
"type": "object",
"required": [
"platform",
"username"
],
"properties": {
"platform": {
"$ref": "#/definitions/Platform"
},
"username": {
"type": "string",
"example": "fitness_coach_jane",
"maxLength": 50,
"minLength": 1,
"description": "Username to lookup"
}
}
}
},
"description": "Batch lookup profiles request"
}Score how well specific creators fit a campaign brief or search intent. Use this when the user already has candidate creators in mind and wants to evaluate fit (e.g., "rate these 5 creators for a vegan cookbook launch", "which of these is the best match for my crypto audience?"). For each creator the API returns a match score (0-1), a good/neutral/avoid decision, and structured reasons. Pass candidates in `creator_ids` (canonical UUIDs) and/or `profiles` (platform + username). `intent_query` is the brief the LLM reasons against; `intent_context` is optional extra context (target audience, brand values, prior collabs). Use `semantic_search_creators` when you don't have candidates yet and need topical or niche discovery. Use `search_creators` first when you only need to resolve rough creator names/handles into candidates. Use `find_lookalike_creators` when you want creators similar to known good fits. Examples: - User: "Is @niickjackson a fit for Pixel?" -> use this tool after resolving the exact Instagram profile with `get_profile`; call `get_posts` first if recent content context is needed. - User: "Rate these five creators for a vegan cookbook launch" -> use this tool.
| Argument | Type | Description |
|---|---|---|
| profiles | array | Candidate creators identified by platform and username. |
| creator_ids | array | Candidate creators identified by canonical Influship creator UUID. |
| intent_query* | string | Campaign brief or matching intent. |
| intent_context | string | Optional extra campaign context, audience, brand values, or prior collabs. |
Use this when the user has 2–4 canonical creator IDs and a specific campaign brief. It fetches current creator details, scores each creator against the brief, and renders a side-by-side comparison. This may consume Influship account or API usage.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional brand constraints or evaluation context. |
| creator_ids* | array | Two to four canonical creator IDs to compare. |
| campaign_brief* | string | Specific campaign, audience, product, and desired creator fit. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"creator_ids",
"campaign_brief"
],
"properties": {
"context": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "Optional brand constraints or evaluation context."
},
"creator_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 4,
"minItems": 2,
"description": "Two to four canonical creator IDs to compare."
},
"campaign_brief": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Specific campaign, audience, product, and desired creator fit."
}
},
"additionalProperties": false
}Use this when the user wants a visual deep dive on one canonical creator ID. It fetches the current creator record plus up to six recent posts and may consume Influship account or API usage.
| Argument | Type | Description |
|---|---|---|
| creator_id* | string | Canonical Influship creator ID. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"creator_id"
],
"properties": {
"creator_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Canonical Influship creator ID."
}
},
"additionalProperties": false
}Use this when discovery or lookup tools have returned results and the user would benefit from scanning 1–8 creator cards. Pass search_id after semantic_search_creators so the exact ranking, confidence, and evidence are preserved. Pass creator_ids only for name/handle lookup results. Always call an Influship data tool first; do not invent IDs. This fetches stored creator details and may consume Influship account or API usage.
| Argument | Type | Description |
|---|---|---|
| brief | string | Campaign brief or discovery intent that produced this shortlist. |
| title | string | Short factual title for this shortlist. |
| search_id | string | Search ID returned by semantic_search_creators. Prefer this for discovery results so exact ranking and evidence are preserved. |
| creator_ids | array | Canonical creator IDs returned by an Influship lookup tool. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"brief": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Campaign brief or discovery intent that produced this shortlist."
},
"title": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Short factual title for this shortlist."
},
"search_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Search ID returned by semantic_search_creators. Prefer this for discovery results so exact ranking and evidence are preserved."
},
"creator_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 8,
"minItems": 1,
"description": "Canonical creator IDs returned by an Influship lookup tool."
}
},
"additionalProperties": false
}Find a creator by name/handle, while preserving legacy semantic creator search. Use this as the default creator lookup tool when the user gives a creator-ish string but not a canonical creator UUID: a handle, partial handle, display name, creator name, or profile-ish text. This is cheap, fast, and backed by the creator lookup index. If the user gives an exact handle on a specific platform (for example "@niickjackson on Instagram"), prefer `get_profile` first because it returns the full platform profile. If you need to resolve a rough creator name or partial handle first, use this tool with `query_type: "creator_lookup"`. For backward compatibility, this tool still accepts the old semantic-search fields (`platforms`, follower/engagement filters, `creator_kinds`) and routes legacy calls to the semantic endpoint unless the query clearly contains a handle/profile URL. For new topical/niche discovery calls such as "fitness creators in NYC" or "vegan recipe creators with high engagement", prefer `semantic_search_creators` because its name is explicit and less likely to be confused with exact creator lookup. Examples: - User: "Find @cris" -> use this tool with query "cris" and query_type "creator_lookup". - User: "Who is that fitness coach called Jane?" -> use this tool with query "Jane" and query_type "creator_lookup". - User: "Pull @niickjackson on Instagram" -> use `get_profile` with platform "instagram" and username "niickjackson". - User: "Find news creators with 1M+ followers" -> use `semantic_search_creators`, not this tool. Returns either autocomplete-style creator lookup results or legacy semantic results, depending on routing. Use returned creator IDs with `get_creator`, `find_lookalike_creators`, or `match_creators`; use returned platform usernames with `get_profile` or `get_posts`.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results to return. |
| query* | string |
Fetch one page of TikTok user search results. Unknown profile fields are null. Continue with next_cursor and the same query; cursors are opaque. Each successful page, including an empty page, costs 0.2 account credits.
| Argument | Type | Description |
|---|---|---|
| query* | string | |
| cursor | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
"maxLength": 100,
"minLength": 1
},
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1
}
}
}Fetch one relevance-ordered page of TikTok videos. Continue with next_cursor and the same query. Duplicate results are preserved. Media links are temporary. Each successful page, including an empty page, costs 0.2 account credits.
| Argument | Type | Description |
|---|---|---|
| query* | string | |
| cursor | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f-\\u009f]+$",
"maxLength": 100,
"minLength": 1
},
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1
}
}
}Search current YouTube results with discovery filters and cursor pagination. Filter by upload window, popularity, result type, duration, country, and language. Pass next_cursor back as cursor for the next page. Each page is one metered request.
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| limit | integer | |
| cursor | string | |
| sort_by | string | |
| duration | string | |
| upload_date | string | |
| content_type | string | |
| country_code | string | |
| language_code | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"sort_by": {
"enum": [
"relevance",
"popular"
],
"type": "string",
"default": "relevance"
},
"duration": {
"enum": [
"any",
"short",
"medium",
"long"
],
"type": "string",
"default": "any"
},
"upload_date": {
"enum": [
"any",
"last_hour",
"today",
"this_week",
"this_month",
"this_year"
],
"type": "string",
"default": "any"
},
"content_type": {
"enum": [
"all",
"videos"
],
"type": "string",
"default": "all"
},
"country_code": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"language_code": {
"type": "string",
"default": "en",
"maxLength": 5,
"minLength": 2
}
}
}Semantic discovery search for influencers/content creators using natural-language queries. Use this only when the user asks to discover creators by topic, audience, geography, niche, content style, or campaign criteria (e.g., "fitness creators in NYC", "vegan recipe creators with high engagement", "tech reviewers who cover phones"). The query is matched against creator profiles, extracted facts, and visual style via hybrid vector search. Do not use this for exact handles, usernames, or known creator names. If the user gives a specific platform and handle (for example "@niickjackson on Instagram"), use `get_profile` first. For rough name/handle lookup, use `search_creators`. For multiple known handles, use `lookup_profiles`. Semantic search can return lookalike or topical matches and is allowed to miss an exact username. Examples: - User: "Find news creators with 1M+ followers" -> use this tool. - User: "Find creators in LA who make cinematic travel videos" -> use this tool. - User: "Pull @niickjackson on Instagram" -> use `get_profile`, not this tool. - User: "Is @niickjackson a fit for Pixel?" -> use `get_profile` first, optionally `get_posts`, then `match_creators`. Returns a ranked list of creators (id, platform, username, follower count, engagement rate, top categories, evidence facts). Use the flat follower, engagement-rate, and verified fields to constrain results when the user gives concrete numeric constraints. Use `find_lookalike_creators` instead when you want creators SIMILAR to known ones. Use `match_creators` when you want to SCORE specific creators against a brief.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results to return. |
| query* | string | Natural-language semantic discovery query by topic, niche, audience, geography, or content style. Do not pass exact handles or usernames here; use get_profile, lookup_profiles, or autocomplete_creators instead. |
| min_followers |
| integer |
| Minimum follower count. |
| seed_profiles | array | Seed creators identified by platform and username. |
| seed_creator_ids | array | Seed creators identified by canonical Influship creator UUID. |
| max_engagement_rate | number | Maximum engagement rate as a percentage from 0 to 100. |
| min_engagement_rate | number | Minimum engagement rate as a percentage from 0 to 100. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Maximum results to return."
},
"cursor": {
"type": "string",
"description": "Pagination cursor from a previous response."
},
"verified": {
"type": "boolean",
"description": "When set, only return verified or unverified creators."
},
"max_followers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Maximum follower count."
},
"min_followers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Minimum follower count."
},
"seed_profiles": {
"type": "array",
"items": {
"type": "object",
"required": [
"platform",
"username"
],
"properties": {
"weight": {
"type": "number",
"default": 1,
"maximum": 1,
"minimum": 0,
"description": "Relative seed weight from 0 to 1. Omit for the default weight of 1."
},
"platform": {
"allOf": [
{
"$ref": "#/definitions/Platform"
}
],
"description": "Social platform for the username."
},
"username": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Platform username or handle without the @ sign."
}
},
"additionalProperties": false
},
"maxItems": 10,
"description": "Seed creators identified by platform and username."
},
"seed_creator_ids": {
"type": "array",
"items": {
"type": "object",
"required": [
"creator_id"
],
"properties": {
"weight": {
"type": "number",
"default": 1,
"maximum": 1,
"minimum": 0,
"description": "Relative seed weight from 0 to 1. Omit for the default weight of 1."
},
"creator_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Canonical Influship creator UUID."
}
},
"additionalProperties": false
},
"maxItems": 10,
"description": "Seed creators identified by canonical Influship creator UUID."
},
"max_engagement_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Maximum engagement rate as a percentage from 0 to 100."
},
"min_engagement_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Minimum engagement rate as a percentage from 0 to 100."
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
}
},
"additionalProperties": false
}| creator_id |
| string |
| Creator ID (use this OR platform+username) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"allOf": [
{
"$ref": "#/definitions/PostSort"
}
],
"default": "recent",
"description": "Sort order"
},
"limit": {
"type": "integer",
"default": 12,
"example": 12,
"maximum": 50,
"minimum": 1,
"description": "Maximum posts to return"
},
"cursor": {
"type": "string",
"description": "Opaque keyset cursor from next_cursor. A cursor is bound to the sort order that produced it; using it with another sort returns 400."
},
"platform": {
"allOf": [
{
"$ref": "#/definitions/Platform"
}
],
"description": "Platform (required with username)"
},
"username": {
"type": "string",
"example": "fitness_coach_jane",
"maxLength": 50,
"minLength": 1,
"description": "Username (required with platform)"
},
"creator_id": {
"type": "string",
"format": "uuid",
"example": "123e4567-e89b-12d3-a456-426614174000",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Creator ID (use this OR platform+username)"
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
},
"PostSort": {
"enum": [
"recent",
"top_engagement",
"most_likes",
"most_views",
"most_comments"
],
"type": "string",
"example": "recent",
"description": "Stable post ordering. top_engagement uses (likes + comments) / views, with posts that have no measurable views sorted last."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"intent_query"
],
"properties": {
"profiles": {
"type": "array",
"items": {
"type": "object",
"required": [
"platform",
"username"
],
"properties": {
"platform": {
"allOf": [
{
"$ref": "#/definitions/Platform"
}
],
"description": "Social platform for the username."
},
"username": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Platform username or handle without the @ sign."
}
},
"additionalProperties": false
},
"maxItems": 100,
"description": "Candidate creators identified by platform and username."
},
"creator_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 100,
"description": "Candidate creators identified by canonical Influship creator UUID."
},
"intent_query": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Campaign brief or matching intent."
},
"intent_context": {
"type": "string",
"maxLength": 2000,
"description": "Optional extra campaign context, audience, brand values, or prior collabs."
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
}
},
"additionalProperties": false
}| Natural-language semantic discovery query by topic, niche, audience, geography, or content style. Do not pass exact handles or usernames here; use get_profile, lookup_profiles, or autocomplete_creators instead. |
| scope | string | Which linked platforms to include in each lookup result. |
| platform | any | Optional platform to narrow username matching. |
| verified | boolean | When set, only return verified or unverified creators. |
| platforms | array | Platforms to search. Omit for all. |
| query_type | string | Use creator_lookup for specific names/handles and semantic_discovery for topical/niche discovery. Auto routes exact handles and profile URLs to lookup, and keeps legacy semantic-search behavior otherwise. |
| creator_kinds | array | Optional creator kind filter. Omit for no creator-kind filter. |
| max_followers | integer | Maximum follower count. |
| min_followers | integer | Minimum follower count. |
| max_engagement_rate | number | Maximum engagement rate as a percentage from 0 to 100. |
| min_engagement_rate | number | Minimum engagement rate as a percentage from 0 to 100. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Maximum results to return."
},
"query": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Natural-language semantic discovery query by topic, niche, audience, geography, or content style. Do not pass exact handles or usernames here; use get_profile, lookup_profiles, or autocomplete_creators instead."
},
"scope": {
"enum": [
"creator_only",
"matched_platforms",
"all_platforms"
],
"type": "string",
"default": "all_platforms",
"description": "Which linked platforms to include in each lookup result."
},
"platform": {
"allOf": [
{
"$ref": "#/definitions/Platform"
}
],
"description": "Optional platform to narrow username matching."
},
"verified": {
"type": "boolean",
"description": "When set, only return verified or unverified creators."
},
"platforms": {
"type": "array",
"items": {
"$ref": "#/definitions/Platform"
},
"description": "Platforms to search. Omit for all."
},
"query_type": {
"enum": [
"auto",
"creator_lookup",
"semantic_discovery"
],
"type": "string",
"default": "auto",
"description": "Use creator_lookup for specific names/handles and semantic_discovery for topical/niche discovery. Auto routes exact handles and profile URLs to lookup, and keeps legacy semantic-search behavior otherwise."
},
"creator_kinds": {
"type": "array",
"items": {
"enum": [
"INFLUENCER",
"THEME_PAGE"
],
"type": "string"
},
"minItems": 1,
"description": "Optional creator kind filter. Omit for no creator-kind filter."
},
"max_followers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Maximum follower count."
},
"min_followers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Minimum follower count."
},
"max_engagement_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Maximum engagement rate as a percentage from 0 to 100."
},
"min_engagement_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Minimum engagement rate as a percentage from 0 to 100."
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
}
},
"additionalProperties": false
}| verified | boolean | When set, only return verified or unverified creators. |
| platforms | array | Platforms to search. Omit for all. |
| creator_kinds | array | Optional creator kind filter. Omit for no creator-kind filter. |
| max_followers | integer | Maximum follower count. |
| min_followers | integer | Minimum follower count. |
| max_engagement_rate | number | Maximum engagement rate as a percentage from 0 to 100. |
| min_engagement_rate | number | Minimum engagement rate as a percentage from 0 to 100. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Maximum results to return."
},
"query": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Natural-language semantic discovery query by topic, niche, audience, geography, or content style. Do not pass exact handles or usernames here; use get_profile, lookup_profiles, or autocomplete_creators instead."
},
"verified": {
"type": "boolean",
"description": "When set, only return verified or unverified creators."
},
"platforms": {
"type": "array",
"items": {
"$ref": "#/definitions/Platform"
},
"description": "Platforms to search. Omit for all."
},
"creator_kinds": {
"type": "array",
"items": {
"enum": [
"INFLUENCER",
"THEME_PAGE"
],
"type": "string"
},
"minItems": 1,
"description": "Optional creator kind filter. Omit for no creator-kind filter."
},
"max_followers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Maximum follower count."
},
"min_followers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Minimum follower count."
},
"max_engagement_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Maximum engagement rate as a percentage from 0 to 100."
},
"min_engagement_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Minimum engagement rate as a percentage from 0 to 100."
}
},
"definitions": {
"Platform": {
"enum": [
"instagram"
],
"type": "string",
"example": "instagram",
"description": "Social media platform"
}
},
"additionalProperties": false
}