canonical: https://jentic.com/apis/art19.com/art19

# ART19 Content API

The ART19 Content API is the JSON:API-compliant content interface for the ART19 podcast platform. It exposes the editorial entities that make a podcast catalog: episodes, media assets, classifications, classification inclusions, credits, images, networks, and series. Twenty-two endpoints cover listing and fetching each entity, plus episode siblings (next and previous episode in a series). Requests must use the Accept: application/vnd.api+json header and an Authorization token, and responses follow the JSON:API specification.

## For AI agents

Read podcast catalog data from ART19 - episodes, media assets, series, networks, credits, and classifications - for downstream distribution and reporting.

## Scope

Does not host audio playback, ingest new episodes, or manage advertising - use for reading ART19 podcast catalog content only.

## Capabilities

- List and fetch podcast episodes from an ART19 network
- Walk between episodes in a series via next and previous sibling endpoints
- Retrieve media assets attached to an episode
- Fetch classification taxonomies and their inclusions
- Retrieve credits, images, and network metadata
- Page through large result sets using JSON:API pagination

## Use cases

### Podcast Distribution Pipeline

Sync episode metadata and media assets from ART19 into a distribution pipeline that pushes to a website, RSS feed, or partner platform. The /episodes and /media_assets endpoints expose everything needed to render a podcast detail page or generate a feed entry, and JSON:API includes/relationships keep the data graph compact.

Example prompt: Fetch /episodes with a filter for a given series, include media_assets, and write the resulting episode list into a static site generator's data layer

### Episode Navigation and Recommendations

Render previous and next episode links for a podcast player using /episodes/{id}/previous_sibling and /episodes/{id}/next_sibling. This makes it straightforward to give listeners in-series navigation without computing ordering client-side.

Example prompt: For episode id 'abc123', call /episodes/abc123/previous_sibling and /episodes/abc123/next_sibling and surface both links on the player UI

### Editorial Catalog Reporting

Build editorial reports across an ART19 network - total episode counts, classifications coverage, credits attribution - by paginating through /episodes, /classifications, and /credits and aggregating the JSON:API responses. Useful for editorial leads tracking catalog hygiene across multiple shows.

Example prompt: Page through /episodes for the network, group by series, and produce a CSV of episode counts and credited contributors per series

### Agent-Driven Catalog Lookup via Jentic

Let an editorial assistant agent answer questions like 'what was the latest episode of show X?' by calling the ART19 Content API through Jentic. The agent searches Jentic for 'list ART19 episodes', loads the schema, and executes - credentials never enter the agent context.

Example prompt: Search Jentic for 'list ART19 episodes', load the schema, and fetch the most recent episode for a given series id

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /episodes | List episodes |
| GET | /episodes/{id} | Fetch a single episode |
| GET | /episodes/{id}/next_sibling | Fetch next episode in series |
| GET | /episodes/{id}/previous_sibling | Fetch previous episode in series |
| GET | /media_assets | List media assets |
| GET | /classifications | List classifications |
| GET | /credits | List episode credits |
| GET | /networks | List networks |

## Key resources

- **Episodes** — List and fetch podcast episodes plus next and previous siblings
- **Media Assets** — Retrieve the audio/media files attached to episodes
- **Classifications** — Fetch classification taxonomies and inclusion records
- **Credits** — List and fetch episode credits
- **Images** — Fetch image assets attached to podcasts and episodes
- **Networks** — Retrieve network-level metadata

## Why Jentic

- **Setup:** Wiring ART19 by hand means handling its API-key auth and the JSON:API Accept header on every request to its podcast catalog. Through Jentic you install once, import the ART19 Content API from the API Directory, store the token once, and your agent calls it while Jentic adds the content-negotiation header.
- **Permission scoping:** ART19 puts the episode id in the URL path (/episodes/{id}), so a rule can pin your agent to reads for one episode and its siblings and media assets. The spec exposes only GET reads, so no write operation is available regardless of the operations you allow.
- **Credential handling:** Your ART19 token is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list ART19 episodes' or 'fetch the next episode in a series', and Jentic returns the matching ART19 operation with its JSON:API parameters in schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Castos API** — Castos is a podcast hosting and distribution platform with its own catalog API
- **SoundCloud API** — SoundCloud exposes audio tracks and playlists rather than structured podcast networks
- **Spotify Web API** — Spotify is a downstream listener-facing platform that consumes podcasts produced and managed in ART19

## FAQ

### What authentication does the ART19 Content API use?

ART19 uses an API key passed in the Authorization header in the form Authorization: Token token="your-token", credential="...". Requests must also send Accept: application/vnd.api+json. Through Jentic the token is stored encrypted in the vault and injected at execution, so the agent never holds the raw secret.

### Can I list episodes from a specific series with the ART19 Content API?

Yes. GET /episodes accepts JSON:API filter parameters and includes; pass the filter for the series and request includes for media_assets to return the related audio in the same response.

### How do I get the next or previous episode in a series?

Use GET /episodes/{id}/next_sibling or GET /episodes/{id}/previous_sibling. These endpoints return the adjacent episode in the same series ordering, so a player UI doesn't need to compute it client-side.

### What are the rate limits for the ART19 Content API?

ART19 does not publish a hard public rate limit; in practice the Content API is intended for catalog reads rather than per-listener traffic. Cache responses where possible and use JSON:API page size to reduce the number of requests.

### How do I list episodes through Jentic?

Run pip install jentic, then search Jentic with 'list ART19 episodes', load the schema for GET /episodes, and execute with the JSON:API filter for your series. Jentic adds the Authorization and Accept headers automatically.

### Can I retrieve media asset URLs through the ART19 Content API?

Yes. GET /media_assets and GET /media_assets/{id} return media asset records that include the URL and metadata for the audio file attached to an episode.

### Can I limit what my agent is allowed to do with the ART19 Content API?

Yes. Because you run Jentic One yourself, your own rules decide which ART19 operations and credentials the agent may use. Since ART19 puts the episode id in the URL path at /episodes/{id}, you can pin the agent to reads for a single episode plus its next and previous siblings and its media assets. The spec exposes only GET reads, so no write operation is available regardless of which operations you allow.
