I Replaced a $400/Month Podcast Booking Tool in One Session. Here's the Full System.

PodPitch was selling me glue between three services I already own. Glue is what Claude Code builds.

I was paying PodPitch $400 a month to book me on podcasts. It did three things: find shows, write pitches, send emails. Three things I already had tools for.

So I cancelled the subscription and built the replacement in a single session with Claude Code.

274 podcasts discovered. 49 bespoke pitches drafted. A 3-touch email sequence loaded into 20 warm sender inboxes. Zero additional monthly cost.

Here's how the whole system works — and why I think most SaaS tools are just a tax on not knowing how to wire APIs together.

The SaaS Decomposition Framework

Before I wrote a line of code, I decomposed PodPitch into its three layers:

Data source: Where do they find podcasts? Podcast databases with search APIs. Podcast Index is free. Apple's iTunes Search API is free. Between them, they cover virtually every active show.

Intelligence layer: How do they generate pitches? AI writes them. I already pay for Claude, which writes significantly better than any template engine.

Action layer: How do they send emails? Through an email sender. I already pay for SmartLead with 20 warm inboxes.

PodPitch wasn't selling me a product. It was selling me glue between three services I already own. And glue is exactly what Claude Code builds.

The Architecture

The system runs as a five-stage pipeline:

```
Monday 6am: DISCOVER → Search Podcast Index + iTunes APIs
Daily 6:30am: SCORE → Claude evaluates relevance + audience fit
Daily 7am: DRAFT → Claude writes bespoke pitch per podcast
Daily 7:05am: PUSH → Telegram cards with approve/edit/reject buttons
Daily 8am: OUTREACH → Approved pitches load into SmartLead
```

Each stage has its own database state machine. A podcast moves through: `discovered → scored → pitched → outreach_sent → replied → booked`. Failures at any stage don't block the others. If scoring fails on one podcast, the other 49 still draft and send.

The Discovery Engine

This is where most people would reach for a paid API. I used two free ones.

Podcast Index (podcastindex.org) is an open podcast directory with a free API. HMAC authentication, full-text search, episode metadata. 25 results per query.

iTunes Search API is Apple's podcast search. No authentication. No rate limit documentation. 50 results per query. For the keyword "knowledge ownership," Podcast Index returned 1 result. iTunes returned 14. Same keyword, 15x the coverage.

I run 30 keywords across both APIs every Monday. The first run discovered 274 podcasts. After deduplication by RSS URL, 273 were unique.

But here's the part that surprised me: the RSS feed is the most underrated enrichment source on the internet.

The 60% Email Discovery Rate

Every podcast has an RSS feed. Most people treat it as a syndication pipe. I treat it as an enrichment goldmine.

The `` tag inside the `` block contains the podcast host's email address. Not a generic inbox. The host's actual email. And it exists in roughly 60% of all podcast RSS feeds.

Out of 274 podcasts discovered, my RSS parser pulled 80 host emails at zero API cost. For the remaining 40%, I fall back to Hunter.io domain search on the podcast's website URL. That caught another 34.

Final tally: 114 out of 274 podcasts had a verified host email. 78% discovery rate. 80 of those emails cost me nothing.

Why the Pitches Actually Work

Here's a typical cold podcast pitch:

"Hi, I'm an expert in X and I'd love to be on your show. I think your audience would benefit from hearing about Y."

Delete. Every host gets 50 of these a week. They all sound the same because they are the same — template engines with variable slots.

Here's what my system generates instead:

The pitch references 2-3 of the host's recent episode titles by name. It connects a specific theme from my book to what their audience already cares about, based on those episodes. The subject line is under 60 characters. The body is under 250 words. It reads like someone who actually listened to the show.

That's because the pipeline stores the last 5 episodes per podcast — titles, descriptions, publication dates. When Claude drafts the pitch, it has real context. Not "your show about entrepreneurship" but "your episode with Alyssa Schneider on building on your own terms."

And here's the quality control feature I didn't expect: out of 51 podcasts that passed scoring, Claude declined to pitch one of them. The model returned a `decline_reason` explaining why the fit was bad. That one declined pitch is worth more than the 50 it wrote — it means the system has taste.

The Approval Flow

I could have wired this to auto-send. I didn't.

Every pitch gets sent to a dedicated Telegram bot (@podpitch_owt_bot) as a card with the full context: podcast name, host info, scores, subject line, pitch body, referenced episodes. Four buttons: Approve, Edit, Reject, Skip.

My approval workflow is two minutes on my phone while I'm waiting for coffee. Scroll through the cards, tap Approve on the good ones, Reject the bad fits, Edit anything that needs a tweak.

Approved pitches flow into SmartLead automatically at 8am the next morning. Three-touch sequence: Day 0 is the bespoke pitch, Day 4 is a short nudge, Day 9 is a different angle using the $2.4M extraction stat from the book. Twenty warm inboxes rotate the sends for deliverability.

The Numbers

Here's what the first run produced:

- 274 podcasts discovered across 30 keywords from 2 free APIs
- 51 passed Claude scoring (18.6% pass rate — tight filter, by design)
- 49 bespoke pitches drafted with episode-specific references
- 114 host emails found (80 from RSS at zero cost, 34 from Hunter)
- 20 warm sender inboxes attached to a 3-touch sequence
- $0/month incremental cost vs $200-400/month for PodPitch

The pipeline runs automatically. Discovery on Mondays. Scoring, drafting, and loading daily. I review pitch cards on my phone. Approved pitches send the next morning.

What This Really Means

I didn't build a podcast booking tool. I decomposed a SaaS product into its component APIs and wired them together with AI.

The data source was free (Podcast Index + iTunes). The intelligence layer was Claude, which I already pay for. The action layer was SmartLead, which I already pay for. The enrichment was 60% free (RSS parsing) and 40% Hunter, which I already pay for. The approval UX was a Telegram bot, which is free.

PodPitch's value proposition was holding those pieces together. That's the part AI coding assistants do best.

This pattern applies to any SaaS tool you're paying for. Decompose it: What's the data source? What's the intelligence layer? What's the action layer? If you already pay for each piece individually, you're paying the vendor to be glue. And glue just got automated.

The expert owns the delivery. On their terms.

Keep Building,
— Matt

← Back to all posts