List episodes across all podcasts
The cross-podcast episode endpoint is the primary discovery tool. Filter by podcast, date range, language, or duration.
curl "https://api.particle.pro/v1/podcasts/episodes?limit=3" \
-H "X-API-Key: YOUR_API_KEY"
Response schema
Unique episode identifier.
ISO 8601 publication date.
Episode duration in seconds.
HOST, CO_HOST, GUEST, PANELIST, or CORRESPONDENT.
speaking_duration_seconds
Total speaking time.
Linked knowledge graph entity ID.
Number of AI-identified segments.
Number of AI-extracted clips.
Number of mentioned entities.
Whether a is available.
Whether more results exist beyond this page.
Pass to the next request for the next page.
{
"data": [
{
"id": "6OdMXSZK8XxM89hbS3eanr",
"title": "The Future of AI Regulation",
"description": "A deep dive into how governments worldwide are approaching AI policy...",
"audio_url": "https://audio.particle.pro/6OdMXSZK8XxM89hbS3eanr.mp3",
"published_at": "2026-02-18T14:00:00Z",
"duration_seconds": 4832.5,
"explicit": false,
"podcast": {
"id": "2dMXSZK8XxM89hbS3eanr",
"title": "Hard Fork",
"image_url": "https://images.particle.pro/2dMXSZK8XxM89hbS3eanr.jpg"
},
"speakers": [
{
"name": "Kevin Roose",
"role": "HOST",
"speaking_duration_seconds": 2100.3
},
{
"name": "Casey Newton",
"role": "CO_HOST",
"speaking_duration_seconds": 2450.8
}
],
"segment_count": 8,
"clip_count": 5,
"entity_count": 12,
"has_transcript": true
}
],
"has_more": true,
"cursor": "r.4mGKaJ"
}
Filtering
Combine any of these query parameters:
| Parameter | Description | Example |
|---|
podcast_id | Filter to one podcast | ?podcast_id=2dMXSZK8Xx... |
published_after | Episodes published after date | ?published_after=2026-01-01T00:00:00Z |
published_before | Episodes published before date | ?published_before=2026-02-01T00:00:00Z |
language | ISO 639-1 language code | ?language=en |
has_transcript | Only transcribed episodes | ?has_transcript=true |
min_duration | Minimum duration in seconds | ?min_duration=1800 |
max_duration | Maximum duration in seconds | ?max_duration=7200 |
curl "https://api.particle.pro/v1/podcasts/episodes?\
has_transcript=true&\
min_duration=3600&\
published_after=2026-02-01T00:00:00Z&\
limit=10" \
-H "X-API-Key: YOUR_API_KEY"
Get a single episode
curl "https://api.particle.pro/v1/podcasts/episodes/6OdMXSZK8XxM89hbS3eanr" \
-H "X-API-Key: YOUR_API_KEY"
Episodes for a specific podcast
Shorthand for filtering by podcast_id:
curl "https://api.particle.pro/v1/podcasts/2dMXSZK8XxM89hbS3eanr/episodes?limit=10" \
-H "X-API-Key: YOUR_API_KEY"
Sub-resources
Every episode has sub-resources for its enrichment data:
| Endpoint | Description |
|---|
GET .../episodes/{id}/transcript | |
GET .../episodes/{id}/transcript/words | Word-level timestamps |
GET .../episodes/{id}/segments | Structural sections |
GET .../episodes/{id}/clips | Highlight moments |
GET .../episodes/{id}/speakers | Identified speakers |
GET .../episodes/{id}/entities | Mentioned entities |
GET .../episodes/{id}/topics | Topic classifications |
Speakers per episode
Each speaker is identified by name, role, and total speaking time:
curl "https://api.particle.pro/v1/podcasts/episodes/6OdMXSZK8XxM89hbS3eanr/speakers" \
-H "X-API-Key: YOUR_API_KEY"
{
"data": [
{
"name": "Kevin Roose",
"role": "HOST",
"speaking_duration_seconds": 2100.3,
"description": "Technology columnist at The New York Times",
"entity_id": "Lm0wOWM3dzA"
}
],
"has_more": false
}
The entity_id links to the knowledge graph — use it with the entities API to find every podcast where this person has appeared.
Entities per episode
Returns people, organizations, and places mentioned in the episode, ranked by :
curl "https://api.particle.pro/v1/podcasts/episodes/6OdMXSZK8XxM89hbS3eanr/entities" \
-H "X-API-Key: YOUR_API_KEY"
{
"data": [
{
"entity": {
"id": "Lm0wOWM3dzA",
"name": "OpenAI",
"description": "American AI research organization",
"wikipedia_url": "https://en.wikipedia.org/wiki/OpenAI"
},
"salience": 0.85,
"occurrences": 14
}
],
"has_more": false
}