Find brands that already sponsor podcasts like yours, then reveal the buyer to pitch.
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.
Add an item to a saved list. item_id is the sponsor's domain, a podcast_id (Pro plans), a category_id, or a contact_id. Adding an item that's already in the list is a no-op. Free to call.
sponsor: domain, podcast: podcast_id, category: category_id, contact: contact_id
The list's id (from list_lists or create_list)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add an item to a saved list. item_id is the sponsor's domain, a podcast_id (Pro plans), a category_id, or a contact_id. Adding an item that's already in the list is a no-op. Free to call.
| Argument | Type | Description |
|---|---|---|
| item_id* | string | sponsor: domain, podcast: podcast_id, category: category_id, contact: contact_id |
| list_id* | string | The list's id (from list_lists or create_list) |
| item_type* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"list_id",
"item_type",
"item_id"
],
"properties": {
"item_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "sponsor: domain, podcast: podcast_id, category: category_id, contact: contact_id"
},
"list_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "The list's id (from list_lists or create_list)"
},
"item_type": {
"enum": [
"sponsor",
"podcast",
"category",
"contact"
],
"type": "string"
}
},
"additionalProperties": false
}Create a new, empty saved list. Free to call.
| Argument | Type | Description |
|---|---|---|
| name* | string | A short name for the list, e.g. "Q3 outreach targets" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "A short name for the list, e.g. \"Q3 outreach targets\""
}
},
"additionalProperties": false
}Permanently delete a saved list and everything in it. This cannot be undone — confirm with the user before calling, then set confirmed=true.
| Argument | Type | Description |
|---|---|---|
| list_id* | string | The list's id (from list_lists) |
| confirmed* | boolean | Set true only after the user explicitly confirms permanent deletion |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"list_id",
"confirmed"
],
"properties": {
"list_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "The list's id (from list_lists)"
},
"confirmed": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly confirms permanent deletion"
}
},
"additionalProperties": false
}Retrieve the Sponsorable profile for one podcast sponsor as a citable document — the deep-research/Responses-API compatibility interface, paired with search. The id is a sponsor domain, as returned by search (e.g. 'betterhelp.com'). For a structured JSON profile use get_sponsor instead.
| Argument | Type | Description |
|---|---|---|
| id* | string | Sponsor domain from a search result id |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "Sponsor domain from a search result id"
}
},
"additionalProperties": false
}Given a podcast's name or RSS feed URL, return the brands detected sponsoring it, falling back to brands active in the show's categories when few exact sponsors are found. Each result carries a short reason. Use this for "who would sponsor my show?" questions; it identifies one show per call and does not browse the podcast catalog. Without a linked account, results cover publicly listed sponsors only.
| Argument | Type | Description |
|---|---|---|
| show | string | The podcast's name |
| feed_url | string | The podcast's RSS feed URL (exact match; use when known) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [],
"properties": {
"show": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The podcast's name"
},
"feed_url": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "The podcast's RSS feed URL (exact match; use when known)"
}
},
"additionalProperties": false
}Category dossier: totals plus the top sponsors and podcasts in the category. Free to call.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The category slug from list_categories |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The category slug from list_categories"
}
},
"additionalProperties": false
}Full contents of a saved list: sponsors, podcasts (Pro plans), categories, and contacts. Contacts follow the same masking and reveal rules as list_sponsor_contacts, including the deduplicated internal usage record on included-contact plans (no credits are charged).
| Argument | Type | Description |
|---|---|---|
| list_id* | string | The list's id (from list_lists or create_list) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"list_id"
],
"properties": {
"list_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "The list's id (from list_lists or create_list)"
}
},
"additionalProperties": false
}Full profile for one podcast: overview, host contact, and its top and newest sponsors. Free to call.
| Argument | Type | Description |
|---|---|---|
| podcast_id* | string | The podcast_id from search_podcasts |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"podcast_id"
],
"properties": {
"podcast_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "The podcast_id from search_podcasts"
}
},
"additionalProperties": false
}Full profile for one sponsor, addressed by domain: description, industry, location, size, sponsorship totals, top and newest podcasts, and top categories. Without a linked account, only publicly listed sponsors resolve, with top-line stats and category names only (no company details, no contact section). On the credit-based Free plan the first full view of a sponsor charges 1 credit and permanently unlocks its dossier for the whole organization (repeat views are free, never double-charged) — warn the user before opening many new sponsors in one go. A result with locked: true charged nothing; its locked_note says why.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The sponsor's domain, e.g. 'athleticgreens.com' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The sponsor's domain, e.g. 'athleticgreens.com'"
}
},
"additionalProperties": false
}The full podcast category tree with per-category sponsorship totals. Category slugs from here feed the category filter on search_sponsors and search_podcasts. Without a linked account the totals cover the last 90 days and internal identifiers are omitted.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [],
"properties": {},
"additionalProperties": false
}The organization's saved lists — named collections of sponsors, podcasts, categories, and contacts — with item counts. Free to call.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [],
"properties": {},
"additionalProperties": false
}Contacts at the sponsoring company who are the likely buyers of podcast sponsorships — the people a podcaster or sales agency would pitch. Ordered by likelihood of owning the ad budget. Free to call. On credit-based plans, locked contacts come back masked (initials, no email/LinkedIn) with disclosure fields — has_email, email_domain, has_linkedin — showing what reveal_contact buys. Plans with contact data included get every contact unmasked here directly; those listings record deduplicated internal usage for billing parity (no credits are charged, nothing else changes).
| Argument | Type | Description |
|---|---|---|
| domain* | string | The sponsor's domain |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The sponsor's domain"
}
},
"additionalProperties": false
}Remove an item from a saved list. Removing an item that isn't in the list is a no-op. Free to call.
| Argument | Type | Description |
|---|---|---|
| item_id* | string | The item's id as shown in get_list (domain, podcast_id, category_id, or contact_id) |
| list_id* | string | The list's id (from list_lists) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"list_id",
"item_id"
],
"properties": {
"item_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "The item's id as shown in get_list (domain, podcast_id, category_id, or contact_id)"
},
"list_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "The list's id (from list_lists)"
}
},
"additionalProperties": false
}Spend 1 credit to reveal a contact's full name, email, and LinkedIn URL. The unlock is permanent and org-wide: revealing an already-unlocked contact is free and never double-charges. Check the contact's has_email/has_linkedin fields from list_sponsor_contacts first so you know what the credit buys. Ask the user before revealing unless they already told you to, then set confirmed=true.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The sponsor's domain |
| confirmed* | boolean | Set true only after the user explicitly authorizes spending a credit |
| contact_id* | string | The contact_id from list_sponsor_contacts |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"contact_id",
"confirmed"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The sponsor's domain"
},
"confirmed": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly authorizes spending a credit"
},
"contact_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "The contact_id from list_sponsor_contacts"
}
},
"additionalProperties": false
}Search Sponsorable's podcast-sponsorship database for brands that sponsor podcasts — the deep-research/Responses-API compatibility interface, paired with fetch. Matches sponsor names and domains and returns citable documents; pass a result's id to fetch for the full profile. For filtered or paginated search (category, industry, recency), use search_sponsors instead.
| Argument | Type | Description |
|---|---|---|
| query* | string | Sponsor name, product, or domain to search for |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Sponsor name, product, or domain to search for"
}
},
"additionalProperties": false
}Search podcasts by name, category, sponsor activity, or the industry of their sponsors. Free to call. Results are paginated (default 25 per page, max 100); page depth is capped at 20 — refine the filters instead of paging deep. Each result carries the podcast_id, name, categories, episode count, and sponsor/sponsorship counts. For one podcast's full profile and its top sponsors, use get_podcast.
| Argument | Type | Description |
|---|---|---|
| last | string | Only podcasts with a sponsorship in this recent window |
| page | integer | Page number (1-20, default 1) |
| limit | integer | Results per page (1-100, default 25) |
| search | string | Match against podcast name |
| sort_by | string | Sort key (default: sponsors) |
| category | string | Category slug — find slugs with list_categories |
| episodes | integer | Minimum episode count |
| industry | string | Only podcasts sponsored by companies in this industry (loosely matched free text, not a slug) |
Search companies that sponsor podcasts. All filters are optional and combine (AND). Results are paginated (default 25 per page, max 100); page depth is capped at 20 — refine the filters instead of paging deep. Each result carries the sponsor's domain, name, industry, location, sponsorship/podcast counts, and a representative buyer contact (masked on credit-based plans). Without a linked account, results cover only publicly listed sponsors with top-line stats (no contact or company-detail fields), the last 90 days, first page only, max 25 results. For one company's full profile use get_sponsor; for its buyer-contact list use list_sponsor_contacts.
| Argument | Type | Description |
|---|---|---|
| last | string | Only sponsors with a sponsorship in this recent window |
| page | integer | Page number (1-20, default 1) |
| limit | integer | Results per page (1-100, default 25) |
| search | string | Match against sponsor name or domain |
| category | string | Category slug — find slugs with list_categories |
| industry | string | Industry name, loosely matched free text (not an exact slug), e.g. 'Software' |
| podcasts | integer | Minimum number of distinct podcasts sponsored |
| sponsors |
| integer |
| Minimum number of distinct sponsors |
| sort_order | string | Sort direction (default: desc) |
| sponsorships | integer | Minimum total sponsorship count |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [],
"properties": {
"last": {
"enum": [
"day",
"week",
"month",
"quarter"
],
"type": "string",
"description": "Only podcasts with a sponsorship in this recent window"
},
"page": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Page number (1-20, default 1)"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page (1-100, default 25)"
},
"search": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Match against podcast name"
},
"sort_by": {
"enum": [
"episodes",
"sponsors",
"sponsorships",
"last_episode"
],
"type": "string",
"description": "Sort key (default: sponsors)"
},
"category": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Category slug — find slugs with list_categories"
},
"episodes": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Minimum episode count"
},
"industry": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Only podcasts sponsored by companies in this industry (loosely matched free text, not a slug)"
},
"sponsors": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Minimum number of distinct sponsors"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction (default: desc)"
},
"sponsorships": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Minimum total sponsorship count"
}
},
"additionalProperties": false
}| sponsorships | integer | Minimum total sponsorship count |
| podcast_sponsored | string | Podcast ID — only sponsors that have sponsored this podcast |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [],
"properties": {
"last": {
"enum": [
"day",
"week",
"month",
"quarter"
],
"type": "string",
"description": "Only sponsors with a sponsorship in this recent window"
},
"page": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Page number (1-20, default 1)"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page (1-100, default 25)"
},
"search": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Match against sponsor name or domain"
},
"category": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Category slug — find slugs with list_categories"
},
"industry": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Industry name, loosely matched free text (not an exact slug), e.g. 'Software'"
},
"podcasts": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Minimum number of distinct podcasts sponsored"
},
"sponsorships": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Minimum total sponsorship count"
},
"podcast_sponsored": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Podcast ID — only sponsors that have sponsored this podcast"
}
},
"additionalProperties": false
}