Skip to main content

Partner Content API (0.1.17)

Download OpenAPI specification:Download

Authentication

Endpoints for user authentication.

Request a partner token

Request a Partner Token

Request Body schema: application/json

Token request

accessKeyId
required
string
accessKeySecret
required
string

Responses

Request samples

Content type
application/json
{
  • "accessKeyId": "string",
  • "accessKeySecret": "string"
}

Response samples

Content type
application/json
{
  • "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJwYXJ0bmVyIiwiaXNzIjoiRXBpZGVtaWMgU291bmQiLCJwYXJ0bmVySWQiOiJlcGlkZW1pY3NvdW5kIiwiZXhwIjoxNjIwMTA4OTg0fQ"
}

Request a user token

Request a User Token. This endpoint requires a Partner Token for authentication.

Authorizations:
PartnerAuth
Request Body schema: application/json

Token request

userId
required
string

End user id. UUID, numeric or matching ^[a-zA-Z0-9_-]+$

Responses

Request samples

Content type
application/json
{
  • "userId": "379d8eba-6726-4e36-a6e8-d84566aad216"
}

Response samples

Content type
application/json
{
  • "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1c2VyVGllciI6ImJhc2VfdGllciIsImF1ZCI6ImVuZC11c2VyIiwiaXNzIjoiRXBpZGVtaWMgU291bmQiLCJwYXJ0bmVySWQiOiJlcGlkZW1pY3NvdW5kIiwiZXhwIjoxNjIwMTA5MDkyLCJ1c2VySWQiOiJ1c2VyX2lkIn0"
}

List collections

The collections endpoint returns playlists curated by our team of in-house experts.

We offer collections for any occasion: from holidays like "Día de Muertos" to content types like "Real Estate" or "Badass ads".

You can manage the order and which collections are part or your applications' free tier via the developer portal. As default, we return the collections included in your free tier first, followed by all collections in the Epidemic Sound library.

Collections have attributes like title and cover art. In the few cases where we do not have cover art for a collection we return a default image.

You can choose to return collections with or without tracks. The response will include a maximum of 20 tracks per collection. If a collection contains more than 20 tracks use endpoint '/collections/{collectionId}' to get all tracks.

Authorizations:
UserAuthEpidemicSoundConnectAuth
query Parameters
excludeField
string
Value: "tracks"

Add parameter if tracks should be excluded in the response

limit
integer <int32>

Max number of entries returned in the response, default 10 and max 20

offset
integer <int32>

Index of the entry track in the response

Responses

Response samples

Content type
application/json
{}

Collection details

The collections endpoint allows you to list all the tracks in a specific collection.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
collectionId
required
string

Collection id

query Parameters
limit
integer <int32>

Max number of entries returned in the response, default 50 and max 100

offset
integer <int32>

Index of the entry track in the response

Responses

Response samples

Content type
application/json
{}

Search autosuggest

The search suggestions endpoint allows your users to get autocomplete suggestions for Epidemic Sound music or external provider music search.

Returns:

  • value: The exact search term to pass to the /tracks/search endpoint.
  • title: Display text to show users in the autocomplete UI.
  • type - Indicates whether this is a search term of type text or external reference URI (e.g., Spotify track).

Usage: When a user selects a suggestion, use the 'value' field as the 'term' parameter when calling /tracks/search to get matching tracks.

Authorizations:
UserAuthEpidemicSoundConnectAuth
query Parameters
term
string

Term for search

Responses

Response samples

Content type
application/json
{
  • "suggestions": [
    ]
}

List moods

The moods endpoint allows your users to browse the music catalog based on moods like happy, epic or relaxing. Moods have cover art that you can show in your interface.

By specifying the "type" of moods you want to display, you can choose to show all moods in the Epidemic Sound library, only the moods that are featured on epidemicsound.com or only the moods that are available for your free tier tracks.

Authorizations:
UserAuthEpidemicSoundConnectAuth
query Parameters
sort
string
Default: "relevance"
Enum: "alphabetic" "relevance"

Sorting options. Available values: alphabetic, relevance

order
string
Default: "asc"
Enum: "asc" "desc"

Order options. Available values: asc, desc

type
string
Default: "all"
Enum: "all" "featured" "partner-tier"

Types to filter by:

  • all - all the objects in the Epidemic Sound library
  • partner-tier - objects available to the partner within their tier
  • featured - only objects featured and curated by Epidemic Sound
limit
integer <int32>

Max number of entries returned in the response, default 20 and max 20

offset
integer <int32>

Index of the entry track in the response

Responses

Response samples

Content type
application/json
{}

Mood details

Get mood details

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
moodId
required
string

Mood id

query Parameters
expand
string
Value: "tracks"

Add parameter if tracks should be included in the response

limit
integer <int32>

Max number of entries returned in the response, default 50 and max 100

offset
integer <int32>

Index of the entry track in the response

Responses

List genres

The genres endpoint allows your users to browse the music catalog based on genres like rock, hiphop or acoustic.

Genres are nested and both parent and child genres are returned in the response. Parent genres have cover art that you can show in your interface.

By specifying the "type" of genres you want to display, you can choose to show all genres in the Epidemic Sound library, only the genres that are featured on epidemicsound.com or only the genres that are available for your free tier tracks.

Authorizations:
UserAuthEpidemicSoundConnectAuth
query Parameters
sort
string
Default: "relevance"
Enum: "alphabetic" "relevance"

Sorting options. Available values: alphabetic, relevance

order
string
Default: "asc"
Enum: "asc" "desc"

Order options. Available values: asc, desc

type
string
Default: "all"
Enum: "all" "featured" "partner-tier"

Types to filter by:

  • all - all the objects in the Epidemic Sound library
  • partner-tier - objects available to the partner within their tier
  • featured - only objects featured and curated by Epidemic Sound
limit
integer <int32>

Max number of entries returned in the response, default 20 and max 20

offset
integer <int32>

Index of the entry track in the response

Responses

Genre details

This endpoint gives you the parent and child relationships of a specific genre as well as all tracks that belong to it.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
genreId
required
string

Genre id

query Parameters
expand
string
Value: "tracks"

Add parameter if tracks should be included in the response

limit
integer <int32>

Max number of entries returned in the response, default 50 and max 100

offset
integer <int32>

Index of the entry track in the response

Responses

Response samples

Content type
application/json
{}

Tracks

Endpoints to get track specific information.

List tracks based on mood, genre or BPM

The tracks endpoint allows you to list all tracks based on a specified mood, genre or BPM.

Authorizations:
UserAuthEpidemicSoundConnectAuth
query Parameters
genre
Array of strings

Id for genre

mood
Array of strings

Id for mood

bpmMin
integer <int32>

BPM Min

bpmMax
integer <int32>

BPM Max

limit
integer <int32>

Max number of entries returned in the response, default 50 and max 100

offset
integer <int32>

Index of the entry track in the response

Responses

Response samples

Content type
application/json
{}

Tracks metadata

The metadata endpoint allows you to get metadata for a list of tracks.

Authorizations:
UserAuthEpidemicSoundConnectAuth
query Parameters
trackId
required
Array of strings

List of track ids

Responses

Response samples

Content type
application/json
[]

List track parameters

Get a list of possible track query parameters

Authorizations:
UserAuthEpidemicSoundConnectAuth

Responses

Response samples

Content type
application/json
{
  • "genres": [
    ],
  • "moods": [
    ]
}

Download track

The download endpoint allows you to download an MP3 file of the track.

We offer MP3 files in two qualities; normal (128kbps) and high (320kbps).

The high quality files can be used in content when needed, but normal quality is sufficient for most use cases.

The download links expire after 24 hours (normal quality) or 1 hour (high quality files). The expiration time is stated in the response.

All users can download the tracks that are part of the free tier. Only connected users with an active Epidemic Sound subscription can download tracks that are part of the premium library. If a user does not have access to download a track, you will get an error response. You can proactively mark premium tracks in your UI by using the track attribute isPreviewOnly (see track attributes).

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
trackId
required
string

Track id

query Parameters
format
string
Value: "mp3"

Track format

quality
string
Default: "normal"
Enum: "normal" "high"

Track quality, normal is used as the default if not specified

Responses

Response samples

Content type
application/json

Beats

The beats endpoint provides information about the timestamps of beats in a track. You can use this endpoint to simplify the process to cut the video in sync with the music.

Unlike BPM which is a single number for the entire track, beats can change dynamically across a music piece. This is particularly valuable for capturing variations in tempo, such as a slower intro, a build-up with faster beats, or changes in rhythm throughout the composition.

The response includes two types of metadata: time and value.

time represents the timestamp of the beat in milliseconds. value indicates the beat's position in a bar (or measure in the US), where 1 corresponds to the first beat (downbeat).

Examples:

Most pop songs have four beats in a bar. For example, if we looked at the beats data for Coolio's 1, 2, 3, 4 it would look something like: 1-2-3-4, 1-2-3-4

However, a waltz has three beats in a bar, and the data would look something like: 1-2-3, 1-2-3

Usage Scenarios:

  • Automatically cut a video in sync with the beat

  • Adding snap markers aligned with beat timestamps in the UI.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
trackId
required
string

Track id

Responses

Response samples

Content type
application/json
{
  • "beats": [
    ]
}

Preview track using cookies

We recommend using HLS to allow users to play/preview a track. The main benefits of this compared to MP3 are smaller file transfers and alternate qualities, allowing the HLS client library to switch to a lower quality when necessary.

The audio is encoded using the AAC coding standard, which results in a smaller footprint for a similar quality compared to MP3. The primary manifest refers to two variant quality streams. HLS client libraries typically choose the optimal quality automatically, based on download speed.

The format consists of audio files split into smaller chunks and manifests that refer to these audio files. Since the format is made up of multiple files, access to these are controlled using cookies.

We provide an example app for iOS that plays HLS streams. Users do not need to connect their account or have an active Epidemic Sound subscription to play any track using HLS streaming. That allows your users to listen to all tracks before they connect their account.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
trackId
required
string

Track id

Responses

Response samples

Content type
application/json
{}

Similar tracks

The similar tracks endpoint allows developers to retrieve a list of tracks that are similar to a given reference track. This feature is designed to help users discover tracks that share similar characteristics, such as genre, mood, tempo, and more. This endpoint helps your users replace tracks that don't fit perfectly or discover multiple alternatives to a track they enjoy.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
trackId
required
string

Track id

query Parameters
offset
integer <int32>

Index of the entry track in the response

limit
any

Max number of entries returned in the response, default 50 and max 60

Responses

Response samples

Content type
application/json
{}

Similar track segment based on audio file

Returns a list of track sections that are matched to the provided audio file id.

Authorizations:
UserAuthEpidemicSoundConnectAuth
query Parameters
audioUploadId
required
string <uuid>

Reference to the uploaded audio file

start
required
integer <int32>

Start of the section in milliseconds

end
required
integer <int32>

End of the section in milliseconds

offset
integer <int32>

Index of the entry track in the response

limit
integer <int32>

Max number of entries returned in the response, default 50 and max 100

Responses

Response samples

Content type
application/json
{}

Similar track segment based on trackID

The similar segments endpoint allows developers to use part of a track as a reference to search for music segments in the Epidemic Sound catalog that sound similar.

The feature utilizes the Epidemic Audio Reference (EAR) technology to provide users with the ability to quickly find alternative segments of music.

Usage Scenarios:

  • Video Editing Templates: Replace default tracks in video templates with segments that fit better.
  • Quick Swaps: Swap out a segment of music in a video where the existing track doesn't quite match.
  • Creative Iteration: Easily experiment with different music segments to enhance your video's impact.
Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
trackId
required
string

Track id

query Parameters
start
required
integer <int32>

Start of the section in milliseconds

end
required
integer <int32>

End of the section in milliseconds

offset
integer <int32>

Index of the entry track in the response

limit
integer <int32>

Max number of entries returned in the response, default 50 and max 100

Responses

Response samples

Content type
application/json
{}

Preview track

We recommend using HLS to allow users to play/preview a track. The main benefits of this compared to MP3 are smaller file transfers and alternate qualities, allowing the HLS client library to switch to a lower quality when necessary.

The audio is encoded using the AAC coding standard, which results in a smaller footprint for a similar quality compared to MP3. The primary manifest refers to two variant quality streams. HLS client libraries typically choose the optimal quality automatically, based on download speed.

The format consists of audio files split into smaller chunks and manifests that refer to these audio files.

We provide an example app for iOS that plays HLS streams. Users do not need to connect their account or have an active Epidemic Sound subscription to play any track using HLS streaming. That allows your users to listen to all tracks before they connect their account.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
trackId
required
string

Track id

Responses

Response samples

Content type
application/json

Popular segment

Powered by our 2 billion daily streams on YouTube, the popular segments endpoint uses machine learning to recommend the best time section.

You can use popular segments to start playing the track from the right millisecond, or recommend the right part of the track for shorter content.

The popular segments endpoint provides start and stop timestamps in milliseconds. The default duration is 30 seconds.

The endpoint accepts up to 5 different durations per request where each duration must be at least 5 seconds and at most 60 seconds.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
trackId
required
string

Track id

query Parameters
duration
Array of integers <int32> [ items <int32 > ]

The highlight duration in seconds

Responses

Response samples

Content type
application/json
{
  • "highlights": [
    ]
}

Tracks based on image

Upload an image from the user's video to get recommendations of tracks in the Epidemic Sound library that would work for the video. Use ImageID retrieved from the Upload Image endpoint to fetch the recommended tracks.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
imageId
required
string

Image id

query Parameters
offset
integer <int32>

Index of the entry track in the response

limit
integer <int32>

Max number of entries returned in the response, default 50 and max 100

genre
Array of strings

Id for genre

mood
Array of strings

Id for mood

Responses

Response samples

Content type
application/json
{}

Sound effects

Endpoints to get sound effect specific information. These endpoints allow you to build a UI to browse and search for sound effects.

List SFX categories

The sound effects categories endpoint allows you to get a list of all sound effects categories.

You can then browse the sound effects catalog based on categories like "Applause" or "Crowds".

Some sound effect categories have cover art that you can use in your interface. You can choose to display all categories, or choose type "featured" to only show the categories that are chosen by our curation team.

Authorizations:
UserAuthEpidemicSoundConnectAuth
query Parameters
type
string
Default: "all"
Enum: "all" "featured"

Category type

offset
integer <int32>

Index of the entry track in the response

limit
any

Max number of entries returned in the response, default 50

Responses

Response samples

Content type
application/json
{}

SFX category details

The category details endpoint contains info on the requested sound effects category.

The purpose of this endpoint is to be able to validate that an individual object exists in the API if it was cached by the client.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
categoryId
required
string <uuid>

Category id

Responses

Response samples

Content type
application/json
{}

List SFX by category

Use the sound effects details endpoint to display all sound effects for a given category.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
categoryId
required
string <uuid>

Category id

query Parameters
offset
integer <int32>

Index of the entry track in the response

limit
integer <int32>

Max number of entries returned in the response, default 50 and max 100

sort
string
Default: "newest"
Enum: "title" "newest" "length"

Sort

order
string
Default: "asc"
Enum: "asc" "desc"

Order

Responses

Response samples

Content type
application/json
{}

Download sound effect

The download endpoint allows you to download an MP3 file of the sound effect.

We offer MP3 files in two qualities; normal (128kbps) and high (320kbps).

The high quality files can be used in content when needed, but normal quality is sufficient for most use cases.

The download links expire after 24 hours (normal quality) or 1 hour (high quality files). The expiration time is stated in the response.

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
trackId
required
string

Track id

query Parameters
format
string
Value: "mp3"

Track format

quality
string
Default: "normal"
Enum: "normal" "high"

Track quality, normal is used as the default if not specified

Responses

Response samples

Content type
application/json

Reporting

These endpoints will allow you to report how tracks are used in your application.

Report usage in bulk

This endpoint should be used when you want to bulk report events to Epidemic Sound. We currently support the following events: trackPreviewed, trackDownloaded and tracksExported. Note that the limit for number of events per request is limited to 100. Also note that for events containing the field trackIds, the limit for number of trackIds per event is 50. Events may not contain a timestamp older than 7 days ago.

Authorizations:
PartnerAuth
Request Body schema: application/json

Analytics report

required
Array of objects (AnalyticsReportEvent)
Array
userId
string
timestamp
string <date-time>
userConnected
boolean or null
TrackPreviewedEvent (object) or TrackDownloadedEvent (object) or TracksExportedEvent (object) (AnalyticsEvent)

Responses

Request samples

Content type
application/json
{
  • "events": [
    ]
}

Response samples

Content type
application/json
{
  • "batchId": "12345",
  • "eventsCount": 10
}

Report usage

The usage endpoint lets you report when a user exports their content to social media or downloads the content file to their device. You can specify which platform (YouTube, Twitch, Instagram, Facebook, TikTok, Twitter or Other) they export the file to. Use the platform local if the user downloads the content to their device. This data is used for attribution and analytics purposes as well as to improve personalization.

Authorizations:
UserAuthEpidemicSoundConnectAuth
Request Body schema: application/json

Usage report

eventType
string
Value: "EXPORTED"
platform
required
string
Enum: "YOUTUBE" "TWITTER" "TWITCH" "FACEBOOK" "INSTAGRAM" "TIKTOK" "OTHER" "LOCAL"
trackIds
required
Array of strings
other
string or null

Responses

Request samples

Content type
application/json
{
  • "eventType": "EXPORTED",
  • "platform": "OTHER",
  • "trackIds": [
    ],
  • "other": "OptionalValueForWhenNoMatchingPlatformEnum"
}

Response samples

Content type
application/json
{
  • "message": "Ok"
}

Users

These endpoints allows your application to get user specific information such as liked sounds.

User details

Get user details of the authenticated user.

Authorizations:
UserAuthEpidemicSoundConnectAuth

Responses

Response samples

Content type
application/json
{
  • "userId": "c16b37fb-965b-4576-8ea9-4ec1f28bdcd9",
  • "esConnect": false,
  • "hasActiveSubscription": null,
  • "email": null
}

List users' liked tracks

The liked tracks endpoint lets you list the liked tracks of a connected user. Users can add new tracks to their list on epidemicsound.com or via the Epidemic Sound app, giving them a smooth cross-device experience.

Authorizations:
EpidemicSoundConnectAuth
query Parameters
offset
integer <int32>

Offset for the pagination. For this endpoint the number of results is fixed at 25, so the offset needs to be evenly divisible by 25.

Responses

Response samples

Content type
application/json
{}

Assets

These endpoints allows your application to upload assets such as images or audio.

Get audio by checksum

Will return the audio id of an audio file uploaded by the partner, matched by checksum. Should be used to avoid duplicate uploads

Authorizations:
UserAuthEpidemicSoundConnectAuthPartnerAuth
path Parameters
checksum
required
string

File checksum

Responses

Response samples

Content type
application/json
{
  • "audioUploadId": "a2f05c71-4000-48dd-86be-c0f9f3b444d6",
  • "length": 10,
  • "expires": "2026-02-21T13:33:55.369146776Z"
}

Delete audio

Use the delete audio endpoint to delete an audio file.

Authorizations:
PartnerAuth
path Parameters
audioIdOrChecksum
required
string

Audio upload id or checksum of audio file

Responses

Response samples

Content type
application/json
{
  • "audioFilesRemoved": [
    ]
}

Upload audio

Upload an audio file to get recommendations of similar tracks in the Epidemic Sound library. When you post the audio file to this endpoint, you will receive an AudioID in return. Use this AudioID in a request to the similar tracks endpoint to get track recommendations.

We currently support the formats: mp3, mpeg, ogg and vorbis. Maximum file size is 3.5MB. You can only upload music with the partner token, since we currently do not allow end users to use this feature.

Authorizations:
PartnerAuth
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "imageId": "ef96f9df-9800-4856-a5d9-21a6159f3214",
  • "expirationDate": "2026-01-23T13:33:55.372411915Z"
}

Delete single image

Use the delete image endpoint to delete a single image uploaded by a user

Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
imageId
required
string

Image id

Responses

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Upload image

Upload an image from the user's video to get recommendations of tracks in the Epidemic Sound library that would work for the video. When you post the image to this endpoint, you will receive an ImageID in return. Use this ImageID in a request to the matching image endpoint to get track recommendations.

We currently support jpeg format and maximum file size is 2MB.

Authorizations:
UserAuthEpidemicSoundConnectAuth
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "imageId": "76412714-4c38-4cb5-8a17-174844aadc61",
  • "expirationDate": "2026-01-23T13:33:55.375400266Z"
}

Delete all the uploaded images by the user

Deletes all images uploaded by the user

Authorizations:
UserAuthEpidemicSoundConnectAuth

Responses

Response samples

Content type
application/json
{
  • "message": "Invalid credentials"
}

Beta

These endpoints are in beta.

Start a track versions generation job

This endpoint allows you to start a job to generate edited versions of a track. The job will be processed asynchronously and you can check the status using the GET /tracks/versions/{jobId} endpoint. Note that the url expires in 24 hours.

Duration limits:

  • The duration must be between 1 second and 5 minutes.
  • Longer durations result in increased processing time, as latency scales with the desired duration.
Authorizations:
UserAuthEpidemicSoundConnectAuth
Request Body schema: application/json

Track edit request configuration

durationMs
required
integer <int32>
loopable
boolean
trackId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "durationMs": 0,
  • "loopable": true,
  • "trackId": "fcc44b18-493c-4040-a803-8be99a8f81ac"
}

Response samples

Content type
application/json
{
  • "status": "PENDING",
  • "results": [ ],
  • "message": "Job is still processing",
  • "jobId": "9c617764-66d3-43c1-adc2-9a28cdebce2f"
}

Get track versions job status

This endpoint allows you to check the status of a track versions job. When the job is complete, it will return the URLs to the generated tracks.

Waveform Data:

  • By default, waveform data is excluded to reduce payload size
  • Use expand=waveform to include waveform data in the response
Authorizations:
UserAuthEpidemicSoundConnectAuth
path Parameters
jobId
required
any

The ID of the job to check

query Parameters
expand
any

Include additional data in response. Use 'waveform' to include waveform data.

Responses

Response samples

Content type
application/json
{}