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

# Epidemicsound Partner Content API

Jentic publishes the only available OpenAPI specification for the Epidemic Sound Partner Content API, keeping it validated and agent-ready. The Partner Content API exposes Epidemic Sound's licensed music catalogue to integrators, with seven endpoints covering curated collections, track search by mood, genre, and BPM, autosuggest, mood lists, and parameter discovery. Authentication is via two HTTP bearer schemes (UserAuth and EpidemicSoundConnectAuth) so partners can act on behalf of either their own service or a connected creator account. Responses include track metadata suitable for downstream catalogue indexing or playback initiation.

## For AI agents

Search Epidemic Sound's licensed music catalogue by mood, genre, and BPM, browse curated collections, and surface track metadata. Authenticate with an HTTP bearer token.

## Scope

Does not handle music licensing purchases, royalty payouts, or audio stem editing - use for catalogue search and metadata retrieval only.

## Capabilities

- Search the music catalogue by mood, genre, BPM, and free-text query
- Browse curated collections and pull collection-level track listings
- Retrieve autosuggest completions for a partial search query
- List the mood taxonomy used by the catalogue
- Inspect available track parameters before constructing a search filter
- Filter tracks by combination of mood plus BPM range for production briefs

## Use cases

### Music Discovery for Video Production Workflows

Video editors and creator tools need to surface licensed music that matches the tone of a clip. Epidemic Sound's GET /v0/tracks endpoint accepts mood, genre, and BPM filters, so an agent can take a brief like 'upbeat corporate, 120-130 BPM' and return a shortlist of legally licensable tracks with metadata for direct download.

Example prompt: Call GET /v0/tracks with mood=happy, bpm_min=120, bpm_max=130 and return the top 20 matches with title, artist, and duration.

### Building a Curated Playlist Catalogue Index

Partner platforms embedding Epidemic Sound need to mirror the curated collections in their own UI. The /v0/collections and /v0/collections/{collectionId} endpoints return collection metadata and track listings respectively, so an agent can refresh a catalogue index daily without scraping the web app.

Example prompt: Call GET /v0/collections, then for each collection call GET /v0/collections/{collectionId} and store the returned track list in a local cache.

### Search Autosuggest for a Music Picker UI

Editor UIs benefit from search autosuggest that completes a partial query into a real catalogue match. The GET /v0/tracks/search/suggestions endpoint returns suggested terms, so an agent driving a search box can keep latency low and steer users toward catalogue-aligned phrasing.

Example prompt: Call GET /v0/tracks/search/suggestions with q='cine' and return the top 5 suggested terms for the type-ahead UI.

### AI Agent Soundtrack Picker via Jentic

An AI editing assistant can be wired through Jentic to recommend licensed music for a clip's mood. The agent searches by intent (for example 'find upbeat tracks 120 BPM'), loads the schema, and executes against the Partner Content API using a bearer token stored in the vault. The result is a list of candidate tracks the editor can drop into the timeline.

Example prompt: Use Jentic search('search music by mood and bpm'), load the GET /v0/tracks operation, and execute it with mood=cinematic and bpm_min=80, bpm_max=100.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v0/tracks | List tracks filtered by mood, genre, or BPM |
| GET | /v0/tracks/search | Free-text track search |
| GET | /v0/tracks/search/suggestions | Autosuggest completions |
| GET | /v0/collections | List curated collections |
| GET | /v0/collections/{collectionId} | Get tracks in a collection |
| GET | /v0/moods | List moods used to tag tracks |
| GET | /v0/tracks/parameters | List track filter parameters |

## Key resources

- **Tracks** — Search and filter licensed tracks by mood, genre, BPM, and free-text query
- **Collections** — Curated playlists with track listings
- **Moods** — Mood taxonomy used to tag tracks
- **Search Suggestions** — Type-ahead suggestions for partial search queries
- **Track Parameters** — Catalogue of filter parameters available on /v0/tracks

## Why Jentic

- **Setup:** Wiring the Partner Content API by hand means managing its two bearer tokens, the UserAuth and EpidemicSoundConnectAuth values, and building your own retries against partner-content-api.epidemicsound.com. Through Jentic you install once, import the Partner Content API from the API Directory, store both tokens once, and your agent calls it.
- **Permission scoping:** The Partner Content API is read-only catalogue search, so scope the agent to the operations it needs, such as GET /v0/tracks/search or GET /v0/collections. You pick that allowed set, so an operation like GET /v0/moods is only reachable if you include it.
- **Credential handling:** Your UserAuth and EpidemicSoundConnectAuth bearer tokens are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find upbeat music at 120 BPM' or 'browse a collection', and Jentic returns the matching Partner Content operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Eranol API** — FFmpeg-based video and audio processing - pairs with music search to mix tracks into a video
- **EODHD Financial Data API** — Market data - irrelevant to music workflows but illustrates Jentic API Directory breadth
- **Esendex Messaging API** — SMS - pair with creator workflows to notify a creator their music brief is ready

## FAQ

### Why is there no official OpenAPI spec for the Epidemic Sound Partner Content API?

Epidemic Sound provides developer documentation but does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the Partner Content API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Epidemic Sound Partner Content API use?

The API uses two HTTP bearer schemes: UserAuth for partner-service tokens and EpidemicSoundConnectAuth for delegated creator tokens. Through Jentic both are stored encrypted in your Jentic One instance and injected at execution time.

### Can I search tracks by BPM and mood with the Partner Content API?

Yes. GET /v0/tracks accepts mood, genre, and BPM range filters. You can list valid moods with GET /v0/moods and the full filter schema with GET /v0/tracks/parameters.

### What are the rate limits for the Epidemic Sound Partner Content API?

Rate limits are governed by the partner agreement and not encoded in the spec. Expect a per-second cap on search endpoints; back off when a 429 status is returned.

### How do I retrieve a curated collection through Jentic?

Search 'get tracks in a collection'. Jentic returns the GET /v0/collections/{collectionId} operation, you load its schema, and execute with the collection ID. The bearer token is injected from the vault.

### Does the API support search autosuggest for type-ahead UIs?

Yes. GET /v0/tracks/search/suggestions accepts a partial query string and returns suggested completions suitable for a type-ahead control.

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

Yes. Because Jentic One is self-hosted, you decide which of the read-only catalogue operations your agent can reach, and it can only call the ones you include. For example, you can allow GET /v0/tracks/search and GET /v0/collections while leaving GET /v0/moods or GET /v0/tracks/parameters out of the allowed set. Your own rules also govern which stored credential, the UserAuth or EpidemicSoundConnectAuth token, the agent may use at execution time.
