---
title: "Download track"
method: GET
path: "/v0/tracks/{trackId}/download"
tags: ["Tracks"]
---

# Download track

`GET /v0/tracks/{trackId}/download`

## Request

- Base URL: `https://partner-content-api.epidemicsound.com`
- URL: `https://partner-content-api.epidemicsound.com/v0/tracks/{trackId}/download`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://login.epidemicsound.com/auth/realms/accounts/protocol/openid-connect/auth`
    - Token URL: `https://login.epidemicsound.com/auth/realms/accounts/protocol/openid-connect/token`
  - HTTP bearer

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).

Use `expand=stems` to also get download links for the track's stems (e.g. drums, bass, melody), in the same quality as the track. Which stems exist depends on the track; each stem type appears at most once, and `stems` is an empty list when the track has none. Identify stems by their `type` rather than their position in the list. Stem links expire at the same time as the track link. Downloading a track with its stems counts as a single download.

## Path parameters

- `trackId` string, required

## Query parameters

- `format` 'mp3'
- `quality` 'normal' | 'high'
- `expand` 'stems'

## Response `200`

Information about download url

- TrackDownloadResponse
  - `url` string, required
  - `expires` string, required
  - `stems` StemDownloadResponse[]: Stems of the track, only present when requested with `expand=stems`. Empty when the track has no stems. Stem links share the `expires` time of the track download.
    - `type` 'drums' | 'bass' | 'melody' | 'instruments' | 'vocals' | 'clean_vocals', required: Which part of the track the stem contains
    - `url` string, required

## Other responses

- `400`: Bad request.
- `401`: Unauthorized. Most likely your access token has expired.
- `403`: User does not have access to download the track.
- `404`: Track was not found.
- `429`: Rate limit exceeded.

## Changes

- **2026-10-08** `1d7186d987dc`: 2 info
  - added the new optional `query` request parameter `expand`
  - added the optional property `stems` to the response with the `200` status
- **2026-06-12** `96bb63cfa6dc`: 1 info
  - the endpoint scheme security `ApiKeyAuth` was added to the API

[Operation history](https://skmtc.dev/epidemicsound/apis/partner-content-api/changes/v0/tracks/:trackId/download/get.md)

---

[API](https://skmtc.dev/epidemicsound/apis/partner-content-api.md) - [All operations](https://skmtc.dev/epidemicsound/apis/partner-content-api/llms.txt) - [OpenAPI document](https://skmtc.dev/epidemicsound/apis/partner-content-api/revisions/5ef4d0e16278?raw)
