Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.particle.pro/llms.txt

Use this file to discover all available pages before exploring further.

List episodes across the catalog with rich filters: by podcast, entity, company, language, date range, duration, or transcript availability. Use this for episode-level discovery when you only need metadata (title, duration, speakers, counts). For dialogue around an entity in any episode, use podcasts/get_entity_mentions. For ranked retrieval by topic, use podcasts/search_dialogue.

Inputs

FieldTypeRequiredDefaultDescription
podcast_slugstringnoPodcast slug or ID. Restrict to one podcast.
entity_slugstringnoEntity slug or ID. Episodes featuring or mentioning the entity.
company_slugstringnoCompany slug, domain, or ID. Resolves to the linked entity.
rolestringnoEntity role filter when entity_slug or company_slug is set. One of: guest, host, panelist, correspondent, mention.
published_afterstringnoISO 8601 date or date-time.
published_beforestringnoISO 8601 date or date-time.
languagestringnoISO 639-1 language code (e.g. "en").
has_transcriptbooleannofalseWhen true, return only episodes with a completed transcript. false or omitted means no transcript filter — both transcribed and untranscribed episodes are included. (To find untranscribed episodes specifically, post-filter on the response’s has_transcript field.)
min_durationinteger (≥0)noMinimum episode duration in seconds.
max_durationinteger (≥0)noMaximum episode duration in seconds.
limitinteger (1–50)no10Episodes per page.
cursorstringnoOpaque pagination cursor.

Output

A markdown document with ## Episodes (N) and one ### Episode title section per episode. Each section carries **Podcast:**, **Published:**, **Episode slug:**, **Duration:**, **Counts:** (segments / clips / entities), and **Speakers:** lines. The Speakers line is a comma-separated list with up to 6 names; entries with linked entities render as Name (entity_slug). Older episodes paginate with cursor=<value>. Sample (podcast_slug="6-minute-english", limit=2):
## Episodes (2)

### Should we eat ultra-processed food?

**Podcast:** 6 Minute English
**Published:** 2026-04-30
**Episode slug:** should-we-eat-ultra-processed-food
**Duration:** 402s
**Counts:** 12 segments, 0 clips, 5 entities
**Speakers:** Hannah Gelbart (hannah-gelbart), Pippa, speaker_2, speaker_3, Phil, Annabel Rackham (annabel-rackham)
### Why are we all so stressed?

**Podcast:** 6 Minute English
**Published:** 2026-04-23
**Episode slug:** why-are-we-all-so-stressed
**Duration:** 402s
**Counts:** 9 segments, 0 clips, 4 entities
**Speakers:** Iqra Farooq, Neil, Becca, Claudia Hammond (claudia-hammond)
---

More episodes available — pass cursor=r.4gfFC6 to paginate.
The string after **Episode slug:** is what you pass back as episode_slug to podcasts/get_episode or podcasts/get_entity_mentions.

Example

Agent calls: podcasts/list_episodes {
  "entity_slug": "marc-andreessen",
  "role": "guest",
  "published_after": "2025-01-01",
  "has_transcript": true,
  "limit": 20
}