Skip to content
TrackPodcasts

For developers and data teams

Podcast advertising data, as JSON

The same brand, show and ad-read data the site runs on, over a key-authenticated REST API. Create a key in Settings and make your first call in a minute.

No card · Pro from $30/month

One call, one ad read

Request
curl https://trackpodcasts.com/api/v1/ad-reads?brand=squarespace&limit=1 \
  -H "Authorization: Bearer tp_live_…"
Response
{
  "adReads": [
    {
      "brand": { "name": "Squarespace", "slug": "squarespace", "category": "technology" },
      "podcast": { "title": "…", "slug": "…" },
      "episode": { "title": "…", "slug": "…" },
      "adType": "HOST_READ",
      "adPosition": "MID_ROLL",
      "startSec": 1834,
      "promoCode": "…",
      "quote": "…",
      "detectedAt": "2026-09-25T14:02:11.000Z"
    }
  ],
  "count": 1
}

How it works

  1. 1

    Start a trial

    Every business plan includes API access, and so does the 7-day trial.

  2. 2

    Create a key

    Settings → API. Keys start with tp_live_ and are shown once; we store only a hash.

  3. 3

    Call the API

    Send the key as a Bearer token or an X-API-Key header. JSON comes back.

An example workflow

A data team building a sponsor feed

  1. Hourly

    A job calls /v1/ad-reads?since=<last run> and writes new reads to the warehouse.

  2. Daily

    A dashboard joins the reads to their CRM to flag accounts newly advertising on podcasts.

  3. Realtime

    A webhook, set in Settings → Integrations, pushes sponsor alerts for tracked brands as they are detected.

What you get

Ad-read feed

Every new read across all brands, with brand, show, position, type, promo code and quote.

Brand and show lookups

Everything on a brand page or a show’s sponsor page, as JSON.

Mentions

Organic mentions of a brand, with sentiment.

Signed webhooks

Push delivery for alerts, with an X-TrackPodcasts-Signature HMAC-SHA256 header.

Daily quotas

Pro 100, Team 1,000, Agency 10,000 requests a day. Headers show what is left.

Team keys

Up to 10 keys per account, each revocable on its own.

Reference

Authentication

Base URL https://trackpodcasts.com/api. Send your key as Authorization: Bearer tp_live_… or X-API-Key: tp_live_…. A missing or revoked key returns 401.

Quotas

Quotas are per account per UTC day. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining; over quota returns 429. Need more? Talk to us.

EndpointQueryReturns
GET /v1/ad-readssince, brand, podcast, limit (≤200)The newest detected ad reads across every brand, newest first. Poll with `since` for a feed.
GET /v1/brandsq, category, pageThe brand directory: every advertiser we detect.
GET /v1/brands/:slug—Every show a brand sponsors, with its ad reads, positions and promo codes.
GET /v1/brands/:slug/activity—Shows and reads per month for a brand.
GET /v1/podcasts/:slug/sponsors—Every brand heard on a show.
GET /v1/mentionsbrand (required), limit (≤200)Organic mentions of a brand, classified by sentiment.
GET /v1/searchqTranscript and episode search.
GET /v1/stats—Market-level advertising stats: weekly reads, categories, host-read share.

Priced at 30% of Podscan

Pro

Best fit

$30/month

  • Every show a brand sponsors, and every verbatim ad read
  • Host-read vs network-inserted, promo codes, timestamps
  • Sponsor alerts for 10 brands and 2 categories
  • 25 keyword alerts, instant by email or SMS
Start free trial

Team

$60/month

  • Everything in Pro, for 5 seats
  • Sponsor alerts for 100 brands and 10 categories
  • Weekly email: new advertisers and movers in your categories
  • 100 keyword alerts
Start free trial

Agency

$750/month

  • Everything in Team, for 25 seats
  • Sponsor alerts for 1,000 brands and 50 categories
  • 1,000 keyword alerts
  • API access, 10,000 requests a day
Start free trial

Compare every plan

Questions

Which plans include the API?
Pro (100 requests a day), Team (1,000) and Agency (10,000). The 7-day free trial includes it too.
Is there a firehose or bulk export?
The /v1/ad-reads feed with `since` covers most pipelines. For bulk historical data, Enterprise plans are scoped with you.
Can I get pushed updates instead of polling?
Yes. Add a webhook URL in Settings → Integrations and sponsor and keyword alerts are POSTed to it as JSON, signed with your webhook secret.
What does a request count as?
Every authenticated call counts once against the daily quota, whatever the page size.