List podcasts
Returns a paginated list of podcasts in the organization.
Authorization
BearerAuth Jellypod API key. Create and manage keys from the Jellypod dashboard under Settings → API Keys.
In: header
Query Parameters
Opaque cursor from a previous response's next_cursor field. Omit for the first page.
Number of items to return per page.
201 <= value <= 100Response Body
application/json
application/json
application/json
curl -X GET "https://api.jellypod.com/v1/podcasts"{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "The AI Revolution",
"description": "A deep dive into how artificial intelligence is transforming industries.",
"image_url": null,
"host_ids": [
"xK9mQ2pL"
],
"languages": [
"en"
],
"show_order": "episodic",
"show_visibility": "unlisted",
"url": "https://the-ai-revolution-a1b2c3.jellypod.com",
"rss_feed_url": "https://the-ai-revolution-a1b2c3.jellypod.com/rss.xml",
"episode_ids": [
"d4e5f6a7-b8c9-0123-def4-567890abcdef"
],
"created_at": "2026-03-01T10:00:00.000Z",
"updated_at": "2026-03-01T10:00:30.000Z"
}
],
"pagination": {
"has_more": true,
"next_cursor": "string"
}
}{
"error": {
"code": "bad_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
]
}
}{
"error": {
"code": "bad_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
]
}
}Was this page helpful?
Get episode timestamps GET
Returns timing data for the episode's generated audio, derived from the episode timeline. Useful for synced transcripts, karaoke-style word highlighting, speaker-attributed transcripts, or subtitle tracks on a video player. Available as soon as audio has been generated — the episode does not need to be published. Three output formats are supported via the `format` query param: - `json` (default): structured timings, shape depends on `granularity` - `srt`: SubRip subtitle file (`application/x-subrip`) - `vtt`: WebVTT subtitle file (`text/vtt`), with `<v Speaker>` voice tags when speaker attribution is available ### Speaker attribution Because Jellypod generates audio with specified hosts, speaker attribution is deterministic — unlike diarization APIs there is no confidence score. Each audio item on the timeline corresponds to exactly one host (one contiguous utterance). JSON responses include a top-level `speakers` array; individual words or segments reference speakers by integer index. Each entry exposes the host's `host_id` (matching `GET /hosts/{host_id}`) and display `name`. If an audio item had no speaker metadata the reference will be `null`. Returns `404` with `not_found` if the episode has no timestamps yet (audio has not been generated).
Create a podcast POST
Create a new podcast with metadata only (no episode generation). Use `POST /v1/podcasts/generate` to create a podcast and generate episodes in one step, or use this endpoint for manual podcast creation. A cover image is automatically generated in the background. The `image_url` field will be `null` in the response and populated once generation completes. Use `GET /v1/podcasts/{id}` to check, or upload your own via `PUT /v1/podcasts/{id}/image`.