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

More PodKit APIs

Search APIMetadata APIEpisode APITranscript API