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

curl "https://api.particle.pro/v1/podcasts/episodes?entity_id=sam-altman&limit=3" \
  -H "X-API-Key: $PARTICLE_API_KEY"
Response (truncated)
{
  "data": [
    {
      "id": "78cgekLUjCJBUZbj3s5K8Y",
      "title": "WHCD Shooting Aftermath, Musk and Altman Face-Off, Spirit Airlines Bailout",
      "podcast": { "id": "QpMz7GYKfSNuUa6zKXA4Q", "title": "Pivot" },
      "published_at": "2026-04-28T10:00:00Z",
      "duration_seconds": 4206,
      "has_transcript": true,
      "segment_count": 21,
      "clip_count": 8,
      "entity_count": 146,
      "speakers": [ /* … */ ]
    }
    // …
  ],
  "has_more": true,
  "cursor": "…"
}
The has_transcript, segment_count, clip_count, and entity_count fields tell you what enrichment data is available before you fetch any sub-resource.

Filter parameters

ParameterDescriptionExample
podcast_idSlug, ID, or numeric iTunes ID; restrict to one podcast?podcast_id=pivot
entity_idSlug or ID; episodes featuring or mentioning the entity?entity_id=sam-altman
company_idSlug, domain, or ID; episodes featuring a company?company_id=nvidia
languageISO 639-1 code?language=en
published_afterISO 8601 timestamp?published_after=2026-04-01T00:00:00Z
published_beforeISO 8601 timestamp?published_before=2026-04-30T00:00:00Z
has_transcriptLimit to transcribed episodes?has_transcript=true
min_duration / max_durationBounds in seconds?min_duration=1800&max_duration=7200
Combine freely — for long-form transcribed Sam Altman episodes from this month, for example:
curl "https://api.particle.pro/v1/podcasts/episodes?\
entity_id=sam-altman&\
has_transcript=true&\
min_duration=1800&\
published_after=2026-04-01T00:00:00Z&\
limit=10" \
  -H "X-API-Key: $PARTICLE_API_KEY"

Get a single episode

curl "https://api.particle.pro/v1/podcasts/episodes/78cgekLUjCJBUZbj3s5K8Y" \
  -H "X-API-Key: $PARTICLE_API_KEY"
The full Episode response is documented in the API reference.

Episodes for a specific podcast

A convenience shape of list-episodes filtered by podcast:
curl "https://api.particle.pro/v1/podcasts/pivot/episodes?limit=10" \
  -H "X-API-Key: $PARTICLE_API_KEY"

Sub-resources

Every episode exposes its enrichment data as sub-resources:
EndpointReturns
GET .../episodes/{id}/transcriptDiarized dialogue (full transcript)
GET .../episodes/{id}/transcript/wordsWord-level timestamps
GET .../episodes/{id}/transcript/mentionsLines around mentions of an entity
GET .../episodes/{id}/segmentsStructural sections (intros, ads, topic discussions)
GET .../episodes/{id}/clipsHighlight clips
GET .../episodes/{id}/speakersIdentified speakers with speaking duration
GET .../episodes/{id}/entitiesMentioned entities ranked by salience
GET .../episodes/{id}/topicsTopic classifications

Speakers

curl "https://api.particle.pro/v1/podcasts/episodes/78cgekLUjCJBUZbj3s5K8Y/speakers" \
  -H "X-API-Key: $PARTICLE_API_KEY"
Response (truncated)
{
  "data": [
    {
      "name": "Kara Swisher",
      "role": "HOST",
      "speaking_duration_seconds": 1955.12,
      "entity_slug": "kara-swisher"
    },
    {
      "name": "Scott Galloway",
      "role": "HOST",
      "speaking_duration_seconds": 1986.09,
      "entity_slug": "scott-galloway"
    },
    {
      "name": "Elie Honig",
      "role": "SOUNDBITE_SPEAKER",
      "speaking_duration_seconds": 50.30,
      "entity_slug": "elie-honig"
    }
    // …
  ]
}
Roles include HOST, CO_HOST, GUEST, PANELIST, CORRESPONDENT, SOUNDBITE_SPEAKER, and ADVERTISER. Filter by role on your side if you only want hosts and guests. 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.
curl "https://api.particle.pro/v1/podcasts/episodes/78cgekLUjCJBUZbj3s5K8Y/entities" \
  -H "X-API-Key: $PARTICLE_API_KEY"
Response (truncated)
{
  "data": [
    {
      "entity": { "id": "1GmOP1C2UZtpnHKPoc", "slug": "openai", "name": "OpenAI" },
      "salience": 0.0061,
      "occurrences": 11
    },
    {
      "entity": { "id": "1GmOP1C3KLh", "slug": "anthropic", "name": "Anthropic" },
      "salience": 0.00024,
      "occurrences": 10
    },
    {
      "entity": { "id": "17PzxG1t12xzno", "slug": "sam-altman", "name": "Sam Altman" },
      "salience": 0.00016,
      "occurrences": 5
    }
    // …
  ]
}
For the actual dialogue around mentions, see transcripts → mentions.

Topics

curl "https://api.particle.pro/v1/podcasts/episodes/78cgekLUjCJBUZbj3s5K8Y/topics" \
  -H "X-API-Key: $PARTICLE_API_KEY"
Topics are drawn from the hierarchical topics taxonomy — useful for routing episodes to category-specific feeds.