Skip to main content
The cross-podcast episode endpoint is the primary discovery tool. Filter by podcast, entity, company, language, date range, or duration. Every episode comes with sub-resources for transcripts, segments, clips, speakers, entities, and topics.
Tracking new episodes as they’re ingested? Don’t poll this list with published_after — use the episode feed, a resumable poll that returns each new episode exactly once, or the real-time episode stream (Enterprise).
Available to MCP agents as particle_podcast_list_episodes and (per-episode) particle_podcast_get_episode.

List episodes

Response (truncated)
The has_transcript, segment_count, clip_count, and entity_count fields tell you what enrichment data is available before you fetch any sub-resource. transcript_status says where the episode stands on the way to a transcript; see transcript status and the back catalogue.

Filter parameters

Holding an Apple Podcasts episode ID (the ?i= value in an Apple Podcasts URL) instead? That resolves through GET /v1/podcasts/episodes/lookup, not a filter here. Combine freely — for long-form transcribed Sam Altman episodes from this month, for example:

Get a single episode

The full Episode response is documented in the API reference.

Episodes for a specific podcast

A convenience shape of list-episodes filtered by podcast:

Transcript status and the back catalogue

Every episode carries transcript_status: When a show joins the catalog we ingest and transcribe its newest episodes, and every episode it publishes after that. Its older episodes — up to the 1,000 most recent PodcastIndex lists, plus anything else its own feed still carries — are its back catalogue: listed with their feed metadata, but with no transcript, speakers, entities, topics, segments or clips. The episode lists leave the back catalogue out unless you ask for it with transcript_status, so an integration that pages through episodes to fetch transcripts sees exactly what it always has. To see a show’s whole history, pass podcast_id and one of:
  • any: every episode we know of, newest first, transcribed or not.
  • untranscribed: episodes without a transcript, whether processing, unavailable, or in the back catalogue.
  • requestable: back-catalogue episodes only, including those already queued.
A back-catalogue episode in the response (example):
Its duration_seconds is the length the publisher declares, and it has no slug or audio_url until it is transcribed. Until then its transcript, segments, speakers, entities, topics, ads, clips and related episodes answer 409 transcript_not_available rather than 404, so an episode that exists but is untranscribed is never mistaken for one that does not exist. An unavailable one answers 422 episode_audio_unavailable. GET /v1/podcasts/episodes/{id} returns it by id, and episode lookup resolves its Apple Podcasts ID, feed guid or PodcastIndex ID. Filters that select transcript-derived content — entity_id, person_id, company_id, fully_ingested — match no back-catalogue episodes. To see how much of a show’s history exists and how much is transcribed without paging its episodes, request GET /v1/podcasts/{id}?include=coverage. The coverage section counts discovered episodes by transcript_status and by year, as of counted_at (the counts refresh hourly; each episode’s own transcript_status is always current), and says whether the show’s back catalogue has been imported and whether it is complete (back_catalogue.complete is false when PodcastIndex listed its maximum of 1,000 episodes, so older ones may exist that neither source lists):
episode_count on the podcast counts only the episodes we have ingested; use coverage.discovered_episode_count for the show’s whole known history, and remember that counts derived from transcripts, such as sponsors or guest appearances, cover only the transcribed episodes.

Sub-resources

Every episode exposes its enrichment data as sub-resources:

Speakers

Response (truncated)
By default this returns the people taking part in the conversation — HOST, GUEST, PANELIST and CORRESPONDENT. Use role to widen or narrow the set; values are case-insensitive, and roles always come back in uppercase.
Response (truncated)

Speaker roles

Every speaker carries exactly one of these roles. The four in the default set are marked; the rest require naming them in role.
This list is exhaustive and stable, across the whole archive — you can branch on role without a fallback case.
The entity_slug (when present) bridges to the knowledge graph.

Entities

Returns people, organizations, places, products, and concepts mentioned in the episode, ranked by salience — a relative relevance score for that episode where higher values indicate the entity is more central to the discussion.
Response (truncated)
For the actual dialogue around mentions, see transcripts → mentions.

Topics

Topics are drawn from the hierarchical topics taxonomy — useful for routing episodes to category-specific feeds.