Find podcasts to pitch, and get the host's email

The short version

Apple's podcast search needs no API key, and it tells you when each show last published. The host's email is inside the show's RSS feed, which is where the paid tools get it. Filter out shows that stopped publishing, ignore hosting platform addresses because nobody reads them, and have the draft quote a real episode or it does not get saved.

Guest booking services charge a subscription for two public facts: which shows are active, and who to email. Here is how to get both.

The catalogue is free and needs no key

Apple's iTunes Search API answers podcast queries without an account, a key or a signature. One request returns everything you need to decide whether a show is worth pitching:

GET https://itunes.apple.com/search
      ?term=b2b+marketing
      &entity=podcast
      &limit=50

each result carries:
  collectionName   the show name
  feedUrl          the RSS feed, which is where the contact lives
  trackCount       how many episodes exist
  releaseDate      when it last published
  primaryGenreName the category

releaseDate is the field that matters most and the one people skip. It is the only free signal of whether a show is alive. In one sample of 25 results for a single niche, several shows had not published since 2023 or 2024 and still appeared normally in the results. Pitching those is the most common wasted effort in podcast outreach, and one comparison removes it.

The same search run across several terms will return the same show more than once, sometimes with a trailing slash on the feed URL and sometimes without. Deduplicate on the feed URL, lowercased and with trailing slashes stripped, before you do anything else.

The host's email is already in the feed

This is the part the paid tools do not advertise. A podcast RSS feed is a public XML file, and the spec includes a contact address. Fetch the feed URL you already have and read it:

<channel>
  <itunes:owner>
    <itunes:email>[email protected]</itunes:email>
  </itunes:owner>
  <managingEditor>[email protected] (The Editor)</managingEditor>
  <item><title>The most recent episode</title>...</item>
</channel>

Check itunes:email first, then the same tag nested inside itunes:owner, then managingEditor, which often arrives as an address followed by a name in brackets and needs the address pulled out of it.

Two thirds of feeds carry something, and not all of it is usable.Across 18 fetchable shows in one niche, 13 published a contact address. Two of those 13 were the hosting platform's own inbox rather than the host's, so roughly six in ten shows gave an address worth writing to. Plan for that rate rather than discovering it later.

Treat platform and automated addresses as no contact found. These reach nobody:

reject if the domain belongs to the host platform
  soundcloud, spreaker, anchor, libsyn, podbean,
  buzzsprout, megaphone, simplecast, redcircle, acast

reject if the local part is plumbing
  no-reply@  noreply@  feeds@  rss@  support@

A show with no usable address is not a failure, it is a different task. Send it to a separate list with its website so you can find the right person by hand, and keep it out of the drafting step entirely. Drafting a pitch you cannot deliver is how a list starts lying to you about how much outreach you have done.

Does the show even take guests?

The same feed answers this. Read the last five episode titles and descriptions and look for the language that only appears on interview shows:

guest        interview       joined by
joins us     conversation with

A show that never uses any of those in five episodes is probably solo or narrative. Keep this as a signal rather than a hard filter and pass it into the drafting step, because plenty of solo shows run the occasional interview and a hard filter would throw them away. What it should change is the pitch itself: to a mostly solo show, you are proposing an exception, and the mail should say so.

The draft has to quote a real episode

A pitch works when it proves you have listened. That is also exactly the sentence a language model will invent if you let it, and an invented episode title is worse than a generic pitch, because it is provably wrong to the one person who would notice.

So give the model only the episodes you actually fetched, require it to put the episode title in quotes, and then check that the quoted title really exists in that feed:

quoted = every "..." string in the draft body
real   = titles of the episodes you fetched from this feed

if a quoted string matches no real title
  -> flag the draft, do not save it as a ready to send email

While you are checking, catch the other three failures that make a draft unsendable: a missing subject line, an unfilled placeholder like [HOST NAME] left in the body, and a length that has run away. Under 60 words is not credible, over 320 will not be read.

Who this is for, and what to change

Founders doing their own PR

The problem. Podcast outreach is a genuine channel but it is the first thing dropped, because finding shows and addresses is an hour of tab shuffling before a single mail is written.

What to change. Run it weekly and keep the volume deliberately low. Ten well aimed pitches with real episode references beat fifty. The workflow should leave drafts, never send them.

Agencies pitching clients as guests

The problem. Each client needs a different niche searched and a different set of proof points, and the research does not carry over.

What to change. Keep the profile block as the only thing that changes per client: topics, one line bio, two proof points. Widen the activity window for smaller niches where shows publish monthly rather than weekly.

Authors and consultants with a launch date

The problem. Podcast lead times are long, so pitching in launch week is pitching too late.

What to change. Start three to four months out and tighten the activity filter, since a show that publishes weekly can fit you in and one that publishes twice a year cannot.

B2B marketers building authority

The problem. The shows worth being on are not the biggest ones, they are the ones your buyers actually listen to, and those are hard to surface by chart position.

What to change.Search narrow terms rather than broad ones. A search for your buyer's job title surfaces better shows than a search for your category.

The shape of it

Schedule: weekly
  -> Set: your topics, bio, proof points, activity window
  -> Code: turn topics into search terms
  -> HTTP: Apple podcast search, no key needed
  -> Code: dedupe by feed, drop shows that stopped publishing
  -> Split Out + Filter: one item per show, real back catalogue only
  -> Loop over shows
       -> HTTP: fetch the RSS feed
       -> XML: parse it
       -> Code: contact, last five episodes, guest signals
       -> IF a real address was found
            yes -> AI: draft the pitch
                   -> Code: reject invented episode quotes
                   -> Gmail: save as draft
                   -> Sheets: log it
            no  -> Sheets: needs a contact found by hand

Nineteen nodes, one paid credential, and the only paid step is the writing. Everything that finds the show and the address is free. This is a free n8n template you can import and point at your own niche.

Podcast outreach questions, straight answers.

Do you need a paid podcast database to find shows to pitch?

No. Apple's iTunes Search API returns podcasts for any search term with no API key and no account, and every result includes the show's RSS feed URL, its episode count and the date of its most recent episode. That is enough to find shows in a niche and tell whether they are still publishing. Paid databases add listener estimates and contact enrichment, which is worth paying for at scale, but none of it is required to start.

Where do you actually get the host's email address?

Out of the RSS feed. Podcast feeds carry an itunes:email tag, often inside itunes:owner, and many also carry managingEditor. When we sampled 18 fetchable shows in one niche, 13 published a contact address in the feed. That is where the guest booking tools get it too.

Does every podcast publish a usable address?

No, and planning for that is the difference between a working system and a spreadsheet of dead ends. In the same sample of 18 shows, 13 carried an address but two of those were the hosting platform's own inbox rather than the host's, so roughly six in ten gave a genuinely usable contact. The rest need the address found by hand from the show website, so send them somewhere separate instead of drafting a pitch that cannot be delivered.

What is wrong with a platform address like [email protected]?

Nobody reads it. Addresses on the hosting provider's domain, along with anything starting no-reply, noreply, feeds or rss, are publishing plumbing rather than the host's inbox. Treat them as no contact found. A pitch sent there is not a slow reply, it is no reply, and it will quietly inflate your sent count while nothing happens.

Why filter podcasts by their last episode date?

Because podcast catalogues are full of shows that stopped. In one sample of 25 results, several had not published since 2023 or 2024 while still ranking normally in search. Apple returns the most recent release date on every result, so filtering to shows that published within your chosen window costs nothing and removes the single most common wasted pitch.

How do you know whether a show even takes guests?

Read its recent episodes. A show that features guests says so constantly in its episode titles and descriptions: guest, interview, joined by, in conversation with. A narrative or solo show never does. It is a signal rather than a verdict, so pass it to the drafting step as context instead of hard filtering on it, because some solo shows do take the occasional interview.

Should an AI write the pitch?

It should write the draft, and something deterministic should check it. The reason a pitch works is that it references a specific recent episode accurately, and that is exactly what a model will invent if it has nothing to go on. Give it only the episodes you actually fetched, require it to quote the episode title, and reject any draft quoting a title that is not in that feed. Then read it before it sends.

Why not use the Podcast Index API instead of Apple?

You can, but its authentication does not fit inside an n8n Code node. It signs each request with a SHA-1 hash of your key, your secret and the current unix time. The n8n Code node sandbox has no crypto module, no Web Crypto and no TextEncoder, and n8n's own Crypto node offers MD5, SHA-256 and SHA-3 but not SHA-1. Apple's search endpoint needs no signature at all, so for finding shows it is both simpler and less fragile.

How many shows did you mean to pitch this quarter?

A community of builders shipping marketing and AI automations together.

Build the next one with us.

A community of builders shipping marketing and AI automations together.