Podcast Chapters API
GET /v1/episode/{id}/chapters
Get an episode’s chapter markers as a clean, consistent array — each with a startTime (seconds), title, image, and url.
Chapters come from the Podcasting 2.0 <podcast:chapters> tag, which a feed places in an episode’s RSS item as a link to an external JSON file. Normalized JSON means PodKit fetches that external file for you and maps its fields into one predictable shape — so you don’t have to fetch a second URL, handle its quirks, or guard against missing fields.
Example
curl
curl "https://podkitapp.com/v1/episode/42/chapters" \
-H "x-api-key: pk_your_key"Response
{
"episodeId": 42,
"chapters": [
{ "startTime": 0, "title": "Intro", "image": null, "url": null },
{ "startTime": 128, "title": "Interview begins", "image": null, "url": "https://..." },
{ "startTime": 1450, "title": "Listener questions","image": null, "url": null }
]
}
If the source chapters file can’t be fetched or parsed, you still get a graceful 200: chapters is null and the response adds the raw sourceUrl and parseError: true, so you can fall back to the original file. Episodes with no chapters return 404. Parsed chapters are cached for 7 days.
Send your key in the x-api-key header. Don’t have one? Get a free key (500 requests/month, no card).
Who uses it
Use chapters to build a clickable episode timeline, to segment audio for playback, or to give an AI agent labeled sections it can jump to. Because timings are already in seconds, they drop straight into a player or a segmentation step.
Get a free API key Read the docs See pricing