Search thousands of active YouTube sponsors and 60,000+ channels from any MCP client. Free tier.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
Poll the progress of a bulk import batch by its batchId. Returns total/queued/done/failed counts plus startedAt/finishedAt timestamps. Batches expire after 7 days.
The batchId returned by youtuber_add or youtuber_bulk_add.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Poll the progress of a bulk import batch by its batchId. Returns total/queued/done/failed counts plus startedAt/finishedAt timestamps. Batches expire after 7 days.
| Argument | Type | Description |
|---|---|---|
| batchId* | string | The batchId returned by youtuber_add or youtuber_bulk_add. |
{
"type": "object",
"required": [
"batchId"
],
"properties": {
"batchId": {
"type": "string",
"description": "The batchId returned by youtuber_add or youtuber_bulk_add."
}
}
}Get detailed information about a specific sponsor by ID. Strips raw scrape data and llm internal analysis blobs.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Sponsor ID |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Sponsor ID"
}
}
}Get the most active sponsors in a given period (week/month/year), optionally filtered by language. Returns compact format.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of results (max 20) |
| period | string | Time period |
| language | string | Filter by language (e.g., EN, FR) |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Number of results (max 20)"
},
"period": {
"enum": [
"week",
"month",
"year"
],
"type": "string",
"default": "month",
"description": "Time period"
},
"language": {
"type": "string",
"description": "Filter by language (e.g., EN, FR)"
}
}
}Get the most recent collaboration (one video per YouTuber) with a sponsor, sorted by publication date
| Argument | Type | Description |
|---|---|---|
| id* | integer | Sponsor ID |
| limit | integer | Number of YouTubers to return (max 50) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Sponsor ID"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Number of YouTubers to return (max 50)"
}
}
}Get the most recent sponsored videos from a sponsor, ordered by publication date
| Argument | Type | Description |
|---|---|---|
| id* | integer | Sponsor ID |
| limit | integer | Number of videos to return (max 50) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Sponsor ID"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Number of videos to return (max 50)"
}
}
}Search sponsors by name, description, industry tags, or filters. Returns compact results (id, name, tagline = what the brand sells in a few words, website, niches, industryTags, country, operations, medianSubscribers). Use sponsor_get for full detail on a specific sponsor.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| sort | string | Sort field |
| limit | integer | Results per page (max 20) |
| order | string | Sort order |
| niches | array | Filter by niche IDs |
| search | string | Search query (name or description) |
| status | string | Filter by sponsor status |
| category | string | Filter by industry tag category |
| language | string | Filter by language (e.g., EN, FR) |
| maxMedianSubscribers | integer | Maximum median subscribers |
Find sponsors similar to a given sponsor based on industry tags and niches. Returns compact format.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Sponsor ID |
| limit | integer | Maximum number of similar sponsors to return (max 20) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Sponsor ID"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Maximum number of similar sponsors to return (max 20)"
}
}
}Get statistics for a sponsor: number of YouTubers, median subscribers, operations per week/month/year
| Argument | Type | Description |
|---|---|---|
| id* | integer | Sponsor ID |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Sponsor ID"
}
}
}Get YouTubers who have worked with a sponsor. Returns compact format.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Sponsor ID |
| limit | integer | Maximum number of YouTubers to return (max 50) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Sponsor ID"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of YouTubers to return (max 50)"
}
}
}Add a single YouTuber to the database and trigger the full enrichment pipeline (tags, niches, description, similarity, sponsor detection). Returns a batchId you can poll with import_status. Prefer passing a channel ID (UCxxxxxxxxxxxxxxxxxxxxxx, 24 chars) — handles ('@xxx') and URLs work too but cost an extra YouTube API quota point per call to resolve.
| Argument | Type | Description |
|---|---|---|
| input* | string | Channel ID (UCxxx, preferred), handle ('@xxx'), or full youtube.com URL. |
{
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "string",
"description": "Channel ID (UCxxx, preferred), handle ('@xxx'), or full youtube.com URL."
}
}
}Add up to 50 YouTubers in one call and trigger enrichment for each. Returns a batchId you can poll with import_status. Strongly prefer channel IDs (UCxxxxxxxxxxxxxxxxxxxxxx, 24 chars) over handles/URLs — handles cost an extra YouTube API quota point each, which depletes the daily 10k budget faster.
| Argument | Type | Description |
|---|---|---|
| inputs* | array | Array of channel IDs (UCxxx, preferred), handles ('@xxx'), or full youtube.com URLs. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"inputs": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "Array of channel IDs (UCxxx, preferred), handles ('@xxx'), or full youtube.com URLs."
}
}
}Agent plan only. Run sponsor detection on the ENTIRE video history of a YouTuber already in the database (not just the latest videos like youtuber_refresh), and re-check older automatic rejections with the current detection pipeline — use it when youtuber_sponsors looks incomplete for a channel with a long sponsorship history. Costs 200 requests of your monthly MCP quota. Refused when the channel had a full analysis less than 30 days ago (check lastFullAnalysisAt from youtuber_get first). Runs in the background (from several minutes to an hour on big channels); when lastFullAnalysisAt in youtuber_get moves, youtuber_sponsors reflects the result. For a channel not in the database yet, use youtuber_add.
| Argument | Type | Description |
|---|---|---|
| id* | string | YouTube channel ID (UCxxx) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "YouTube channel ID (UCxxx)"
}
}
}Get detailed information about a specific YouTuber by their YouTube channel ID. Includes llmDescription and llmSponsorProfile (LLM-friendly summaries), lastAnalyzedAt (when sponsors were last detected on the channel — every channel is re-scanned weekly; use youtuber_refresh if it is older than 7 days and you need fresher data), and lastFullAnalysisAt (last full-history analysis; null if never — see youtuber_fullAnalysis).
| Argument | Type | Description |
|---|---|---|
| id* | string | YouTube channel ID |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "YouTube channel ID"
}
}
}Get the biggest YouTubers who have been active recently (last 15 days) for a specific language. Returns compact format.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of YouTubers to return (max 20) |
| language | string | Language filter |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Maximum number of YouTubers to return (max 20)"
},
"language": {
"enum": [
"EN",
"FR",
"ES"
],
"type": "string",
"default": "EN",
"description": "Language filter"
}
}
}Get the most recent sponsored videos from a YouTuber, with one video per sponsor (sorted by publication date)
| Argument | Type | Description |
|---|---|---|
| id* | string | YouTube channel ID |
| limit | integer | Number of sponsorships to return (max 50) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "YouTube channel ID"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Number of sponsorships to return (max 50)"
}
}
}Re-run sponsor detection on a YouTuber already in the database (latest videos). Costs 50 requests of your monthly MCP quota. Refused when the channel was analyzed less than 7 days ago — every channel is re-scanned weekly, so check lastAnalyzedAt from youtuber_get first. Runs in the background (a few minutes); call youtuber_get / youtuber_sponsors afterwards. For a channel not in the database yet, use youtuber_add.
| Argument | Type | Description |
|---|---|---|
| id* | string | YouTube channel ID (UCxxx) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "YouTube channel ID (UCxxx)"
}
}
}Search YouTubers with advanced filters: subscribers, language, niches, sponsors worked with, monthly frequency, etc. All filters combine with AND — including hasWorkedWith, which keeps only creators who worked with EVERY listed domain. For "worked with brand A OR brand B", run one search per brand (or use sponsor_youtubers). Returns compact results. Use youtuber_get for full detail.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number |
| limit | integer | Results per page (max 20) |
| niches | array | Filter by niche IDs |
| search | string | Search by channel name |
| sortBy | string | Sort field |
| country | string | Filter by country code |
| language | string | Filter by language (e.g., EN, FR) |
| sortOrder | string | Sort order |
| hasWorkedWith | array | Sponsor website domains (e.g. "nordvpn.com"). AND filter: the creator must have worked with ALL of them, so each extra domain narrows the results (max 10). Not an OR: for "any of these brands", run one search per brand. |
Find YouTubers similar to a given YouTuber based on content, niches, and sponsors. Returns compact format.
| Argument | Type | Description |
|---|---|---|
| id* | string | YouTube channel ID |
| limit | integer | Maximum number of similar YouTubers to return (max 20) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "YouTube channel ID"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Maximum number of similar YouTubers to return (max 20)"
}
}
}Get sponsors a YouTuber has worked with, including video counts for each sponsor. Sorted by most recent sponsored video first (sortBy=lastVideo, default) or by first collaboration (sortBy=firstVideo). Paginated: use offset with limit (max 50 per page) and hasMore to walk big channels. Returns compact format.
| Argument | Type | Description |
|---|---|---|
| id* | string | YouTube channel ID |
| limit | integer | Maximum number of sponsors to return per page (max 50) |
| offset | integer | Number of sponsors to skip (pagination: offset = page × limit) |
| sortBy | string | lastVideo = most recent sponsored video first (default); firstVideo = most recent first collaboration first |
| includeNonValidated | boolean | Include non-validated sponsors |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "YouTube channel ID"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of sponsors to return per page (max 50)"
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "Number of sponsors to skip (pagination: offset = page × limit)"
},
"sortBy": {
"enum": [
"lastVideo",
"firstVideo"
],
"type": "string",
"default": "lastVideo",
"description": "lastVideo = most recent sponsored video first (default); firstVideo = most recent first collaboration first"
},
"includeNonValidated": {
"type": "boolean",
"default": false,
"description": "Include non-validated sponsors"
}
}
}| minMedianSubscribers |
| integer |
| Minimum median subscribers of YouTubers they sponsor |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number for pagination"
},
"sort": {
"enum": [
"updatedAt",
"name",
"operations"
],
"type": "string",
"default": "updatedAt",
"description": "Sort field"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Results per page (max 20)"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order"
},
"niches": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by niche IDs"
},
"search": {
"type": "string",
"description": "Search query (name or description)"
},
"status": {
"enum": [
"VALIDATED",
"NEED_CONFIRMATION",
"NEED_INVESTIGATION",
"NOT_A_SPONSOR"
],
"type": "string",
"description": "Filter by sponsor status"
},
"category": {
"type": "string",
"description": "Filter by industry tag category"
},
"language": {
"type": "string",
"description": "Filter by language (e.g., EN, FR)"
},
"maxMedianSubscribers": {
"type": "integer",
"description": "Maximum median subscribers"
},
"minMedianSubscribers": {
"type": "integer",
"description": "Minimum median subscribers of YouTubers they sponsor"
}
}
}| maxSubscribers | integer | Maximum subscriber count |
| minSubscribers | integer | Minimum subscriber count |
| hasNotWorkedWith | array | Exclude YouTubers who worked with ANY of these sponsor website domains (max 10) |
| monthlyFrequency | number | Minimum monthly video frequency |
| maxRatioSponsored | number | Maximum percentage of sponsored videos |
| minRatioSponsored | number | Minimum percentage of sponsored videos |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Results per page (max 20)"
},
"niches": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by niche IDs"
},
"search": {
"type": "string",
"description": "Search by channel name"
},
"sortBy": {
"type": "string",
"default": "subscriber_count",
"description": "Sort field"
},
"country": {
"type": "string",
"description": "Filter by country code"
},
"language": {
"type": "string",
"description": "Filter by language (e.g., EN, FR)"
},
"sortOrder": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order"
},
"hasWorkedWith": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Sponsor website domains (e.g. \"nordvpn.com\"). AND filter: the creator must have worked with ALL of them, so each extra domain narrows the results (max 10). Not an OR: for \"any of these brands\", run one search per brand."
},
"maxSubscribers": {
"type": "integer",
"description": "Maximum subscriber count"
},
"minSubscribers": {
"type": "integer",
"description": "Minimum subscriber count"
},
"hasNotWorkedWith": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Exclude YouTubers who worked with ANY of these sponsor website domains (max 10)"
},
"monthlyFrequency": {
"type": "number",
"description": "Minimum monthly video frequency"
},
"maxRatioSponsored": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Maximum percentage of sponsored videos"
},
"minRatioSponsored": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Minimum percentage of sponsored videos"
}
}
}