Data Dictionary
What every field means, across the REST API, the MCP server, and CSV exports. The same objects back all three surfaces, so definitions here apply everywhere.
Conventions
- Sponsors are keyed by domain (e.g.
betterhelp.com) — the domain is the identifier across the product, API, and exports. -
Timestamps are ISO 8601; date-only fields (like last-sponsored dates)
are
YYYY-MM-DD. -
Counts (
sponsorships,podcasts,episodes) are integers, computed from detected sponsorships — observations from episode content, not estimates. -
List endpoints return
{ data: [...], pagination: { current_page, total_pages, total_results, per_page } }. API pagination is capped at page 20 with up to 100 results per page — refine filters rather than paging deep. -
urlfields are canonical links into the app (app.sponsorable.com). - Sponsorship history depth follows your plan: 90 days (Free, Starter), 365 days (Pro), unlimited (Enterprise).
Sponsor
| Field | Type | Meaning |
|---|---|---|
domain | string | The sponsor's identifier — its primary web domain |
name | string | Display name of the brand |
description | string | What the company does (from business-profile enrichment) |
industry | string | Company industry (enrichment; not always present) |
keywords | string[] | Topic keywords for the company |
city / state / country | string | Company HQ location |
employees (index) / employee_count (detail) | integer | Approximate company size |
sponsorships | integer | Total detected sponsorships (episode-level) |
podcasts | integer | Distinct podcasts this sponsor has appeared on |
repeat_podcasts | integer | Podcasts sponsored more than once — a consistency signal |
last_sponsorship (index) / last_sponsorship_at (detail) | date | Most recent detected sponsorship |
last_podcast | string | Name of the show most recently sponsored (index only) |
linkedin_url / x_url / facebook_url | string | Company social profiles (detail only) |
contacts | integer | On the sponsor detail object: the count of known contacts, not the records — those come from the contacts endpoint |
contact_* | varies | On the sponsors index: one representative contact (title, name, email) — masked on credit-based plans; contact_email_available discloses whether an email exists |
Sponsor detail responses also include top_podcasts,
new_podcasts (each: podcast_id,
url, name, sponsorships,
first_sponsorship, last_sponsorship) and
top_categories (slug, url,
name, sponsorships).
Contact
Contacts are the people at a sponsor — or its ad agency — who likely buy the sponsorships, ranked most-likely-buyer first. Until revealed, a contact is masked; disclosure fields tell you what a reveal would return before you spend a credit.
| Field | Type | Meaning |
|---|---|---|
contact_id | string | Identifier used to reveal this contact |
name | string | Full name when unlocked; initials (e.g. "K. B.") while masked |
title | string | Job title — always visible |
location | string | City/region — always visible |
is_agency | boolean | True when this person works at the brand's ad agency rather than the brand itself |
locked | boolean | Whether a reveal is still required for your organization |
has_email | boolean | Disclosure: an email exists and will be returned on reveal |
email_domain | string | Disclosure: the domain of that email (falls back to the sponsor's domain when no email is on file) |
has_linkedin | boolean | Disclosure: a LinkedIn profile exists and will be returned on reveal |
email / linkedin_url | string | null while locked; populated after reveal. On Pro, contacts arrive unlocked |
Podcast (Pro plan)
| Field | Type | Meaning |
|---|---|---|
podcast_id | string | Podcast identifier |
name / description | string | Show name and description from its feed |
website_url | string | The show's website |
categories | array | Category memberships |
episodes | integer | Episode count |
last_episode_at | date | Most recent episode |
sponsorships | integer | Detected sponsorships across all episodes |
unique_sponsors | integer | Distinct sponsors detected on the show |
repeat_sponsors | integer | Sponsors who bought more than once — renewal signal |
last_sponsorship_at | date | Most recent detected sponsorship |
author_name / author_email | string | Show owner from the RSS feed (detail only) |
Podcast detail responses also include top_sponsors and
newest_sponsors (each: domain,
url, name, industry,
country, sponsorships,
first_sponsorship_at, last_sponsorship_at).
Category
| Field | Type | Meaning |
|---|---|---|
category_id / slug | string | Identifiers; slugs are stable and human-readable |
name | string | Category display name |
parent_id | string | Parent category — categories form a tree; the index nests children |
podcasts / episodes | integer | Size of the category |
sponsors / sponsorships | integer | Sponsorship activity within the category |
sponsored_podcasts / sponsored_episodes | integer | How much of the category actually attracts sponsorship — useful for gauging a niche's monetization |
List
| Field | Type | Meaning |
|---|---|---|
list_id | string | List identifier |
name | string | List name (org-visible) |
sponsors / podcasts / categories / contacts | integer | Item counts by type |
created_at | timestamp | When the list was created |
List detail responses expand each item type into the object shapes documented above, with the same plan gates (podcast items require Pro) and the same contact masking rules.
CSV Columns
Sponsor search export
Domain, Name, Episodes Sponsored,
Podcasts Sponsored, Last Sponsored,
Industry, City, State,
Country, Employee Count,
Contact Title, Contact Email,
Contact First Name, Contact Last Name, and a
final podcast column: Podcast Sponsored when your search is
filtered to a specific show, otherwise
Last Podcast Sponsored. Exports include up to 10,000 rows
per file.
List exports
Sponsors: same columns as the search export, with
Last Podcast Sponsored after Last Sponsored.
Contacts: Sponsor (domain),
Sponsor Name, First Name,
Last Name, Email, Title,
LinkedIn URL, City, State,
Country, Last Podcast Name.
The contact columns in an exported row include the contact's actual details — that's what the per-row credit buys (see Credits & Plans). Exported rows follow the same never-charged-twice rule as everything else.