Podcast Episodes
tier:standard

Stream episodes

Server-Sent Events stream of podcast episodes as they are ingested. Enterprise plan only — other plans should poll GET /v1/podcasts/episodes/feed instead. Subscribe to a single hydration milestone (default transcribed); each episode is delivered once it reaches that stage. Optionally filter by podcast_ids (slug or ID) and/or popularity_threshold. Supply cursor or since to backfill, then the stream continues live. Delivery is at-least-once — dedupe on the episode id. For more than 100 explicit podcast ids, use the POST form.

get/v1/podcasts/episodes/stream

Request

  • Base URL: https://api.particle.pro
  • URL: https://api.particle.pro/v1/podcasts/episodes/stream
  • Auth: one of:
    • API key in header X-API-Key
    • HTTP bearer

Query parameters

milestone'discovered' | 'transcribed' | 'segmented' | 'fully_ingested'

Hydration milestone to stream. Episodes are delivered once they reach this stage. Milestones are ordered discovered < transcribed < segmented < fully_ingested.

podcast_idsstring[] nullable

Filter to a set of podcasts by slug or ID (comma-separated). An episode is delivered if its podcast matches any of them. Unknown values are ignored; if none match you receive a terminal error. For more than 100, use the POST form.

popularity_thresholdnumber double

Filter to podcasts whose popularity percentile is at least this value, in (0,1). Omit (or 0) for no popularity filter. Popularity is normalized 0–1 across the catalog, so 0.9 ≈ the top 10%. Combines with podcast_ids as a union.

cursorstring

Opaque cursor from a prior event envelope. When supplied, the stream replays everything after it then continues live.

sincestring

ISO 8601 date or date-time to backfill from when no cursor is supplied. Ignored if cursor is set.

includestring[] nullable

Heavy relations to embed in each episode (comma-separated). transcript is the dialogue transcript; segments and clips are the AI-derived sets; entities are the knowledge graph entities discussed, with the transcript lines that mention each; ads are the advertising spots detected; all means everything available at the chosen milestone. A field is only valid when its data is guaranteed at the milestone (transcript→transcribed, segments→segmented, clips, entities and ads→fully_ingested); requesting one earlier is a terminal error.

Response

OK

Changes

No recorded changes to this operation across all 2 revisions of this API.