Podcast Directory Search
Search podcast directories to find shows matching topic, audience size, and guest format criteria
Instructions
Podcast Directory Search
Search podcast databases to find shows that match your founder's expertise, target audience overlap, and guest booking format.
Tool Options
| Tool | API | Best For |
|------|-----|----------|
| ListenNotes | REST API (api.listennotes.com/api/v2) | Largest index (3M+ podcasts), keyword + genre search, audience size estimates |
| Podchaser | GraphQL API (api.podchaser.com/graphql) | Rich creator data, guest cross-references, contact info |
| Rephonic | REST API (api.rephonic.com/v2) | Audience overlap analysis, similar-show recommendations, listener demographics |
| Spotify for Podcasters | Web dashboard (no public API) | Show-level analytics if you have your own show |
| Apple Podcasts | RSS + iTunes Search API | Chart rankings, category browsing |
ListenNotes API (Primary)
Authentication
GET https://api.listennotes.com/api/v2/search
Header: X-ListenAPI-Key: {LISTENNOTES_API_KEY}
Free tier: 5 requests/min. Paid: starts at $9/mo for 300 requests/day.
Search for podcasts by topic
GET https://api.listennotes.com/api/v2/search?q={keyword}&type=podcast&language=English&len_min=15&len_max=90&genre_ids={genre_id}&sort_by_date=0
Parameters:
q: Topic keyword (e.g., "B2B SaaS", "developer tools", "startup growth")type:podcast(find shows) orepisode(find episodes where guests appeared)genre_ids: Comma-separated. 93=Business, 127=Technology, 67=Entrepreneurship, 94=Business News, 171=Managementsort_by_date: 0 = relevance, 1 = dateoffset: Pagination (10 results per page)
Response fields to extract
{
"results": [
{
"id": "podcast_id",
"title_original": "Show Name",
"description_original": "Show description",
"total_episodes": 150,
"listen_score": 45,
"listen_score_global_rank": "top 5%",
"website": "https://show-website.com",
"email": "host@show.com",
"rss": "https://feed-url.com/rss",
"genre_ids": [93, 127]
}
]
}
Key field: listen_score (0-100). For micro-podcasts (Smoke test targets), look for scores 20-50. For Scalable, target 40-70.
Get podcast details
GET https://api.listennotes.com/api/v2/podcasts/{podcast_id}
Returns: episode count, average episode length, last publish date (stale shows = skip), and RSS feed URL.
Search for episodes with guest appearances
GET https://api.listennotes.com/api/v2/search?q={competitor_founder_name}&type=episode
Use this to find which podcasts have hosted founders similar to yours. These are warm targets — the host already books founder guests.
Podchaser API (Contact + Guest Data)
Authentication
POST https://api.podchaser.com/graphql
Header: Authorization: Bearer {PODCHASER_TOKEN}
Find podcast by name
query {
podcasts(searchTerm: "show name", first: 5) {
data {
id
title
description
webUrl
ratingAverage
ratingCount
episodes(first: 1) { data { id title } }
}
}
}
Get creator contacts
query {
podcast(identifier: { id: "podcast_id", type: PODCHASER }) {
creators {
data {
name
socialLinks { url platform }
}
}
}
}
Rephonic API (Audience Overlap)
Find similar podcasts
GET https://api.rephonic.com/v2/podcasts/{podcast_id}/similar
Header: Authorization: Bearer {REPHONIC_TOKEN}
Returns podcasts with overlapping audiences. Use this to expand your target list once you find one good-fit show.
Get listener demographics
GET https://api.rephonic.com/v2/podcasts/{podcast_id}/demographics
Returns: listener age, gender, interests, geographic distribution. Match against your ICP.
Qualifying a Podcast
For each podcast found, evaluate:
- Active: Last episode published within 30 days (skip dormant shows)
- Guest format: Check recent episodes for guest interviews (vs solo/co-host only)
- Audience match: Topic overlap with your founder's expertise
- Reach: ListenNotes
listen_scoreor estimated downloads per episode - Accessibility: Contact info available (email, Twitter DM, website contact form)
Store qualified podcasts in a Clay table or Attio list with fields: show name, host name, contact method, listen score, topic fit score (1-5), last guest episode date, pitch status.
Error Handling
- Rate limited (429): Back off and retry after the
Retry-Afterheader duration - No results: Broaden search terms. Try adjacent topics or search for competitor founder names as episode guests
- Stale data: Cross-reference ListenNotes data with the podcast's RSS feed for latest episode dates