Similar tracks
GET /v0/tracks/:trackId/similar
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.
Path Parameters
- trackId string required
Track id
Query Parameters
- offset int32
Index of the entry track in the response
- limit int32
Max number of entries returned in the response, default 50 and max 100
- 200
- 400
- 401
- 404
- 429
Paginated list of similar tracks
- application/json
- Schema
- Example (from schema)
- Example
Schema
tracks object[] required
Array [id string requiredUnique ID of the track
mainArtists string[] requiredThe main artist that created the track.
featuredArtists string[] requiredAdditional artists that contributed to the track.
title string requiredTitle of the track
bpm int32 requiredBeats per minute for the track.
length int32 requiredTrack length in seconds
moods object[] required
Lists the moods of the track.
Array [id string requiredUnique ID of the mood
name string requiredName of the mood
]genres object[] required
Lists the genres of the track.
Array [id string requiredname string requiredparent object
id string requiredUnique ID of the parent genre
name string requiredName of the parent genre
]images object
default string nullableL string nullableM string nullableS string nullableXS string nullablewaveformUrl string requiredReference to the waveform as a json object.
hasVocals boolean nullableSet to true if the track has vocals. Set to false for instrumental tracks.
added string requiredThe date the track was released in the format YYYY-mm-dd.
tierOption string nullablePossible values: [
PAID
,FREE
]isExplicit boolean nullableisPreviewOnly boolean]pagination object required
page int32 requiredlimit int32 requiredoffset int32links object required
next string nullableprev string nullableaggregations object
moods object[]
Array [id stringname stringcount int32]genres object[]
Array [id stringname stringcount int32]
{
"tracks": [
{
"id": "string",
"mainArtists": [
"string"
],
"featuredArtists": [
"string"
],
"title": "string",
"bpm": 0,
"length": 0,
"moods": [
{
"id": "string",
"name": "string"
}
],
"genres": [
{
"id": "string",
"name": "string",
"parent": {
"id": "string",
"name": "string"
}
}
],
"images": {
"default": "string",
"L": "string",
"M": "string",
"S": "string",
"XS": "string"
},
"waveformUrl": "string",
"hasVocals": true,
"added": "string",
"tierOption": "PAID",
"isExplicit": true,
"isPreviewOnly": true
}
],
"pagination": {
"page": 0,
"limit": 0,
"offset": 0
},
"links": {
"next": "string",
"prev": "string"
},
"aggregations": {
"moods": [
{
"id": "string",
"name": "string",
"count": 0
}
],
"genres": [
{
"id": "string",
"name": "string",
"count": 0
}
]
}
}
{
"tracks": [
{
"id": "6rUPerw2po",
"mainArtists": [
"Main Artist"
],
"featuredArtists": [
"Featured Artist"
],
"title": "Happy Song",
"bpm": 135,
"length": 3123,
"moods": [
{
"id": "happy",
"name": "Happy"
},
{
"id": "eccentric",
"name": "Eccentric"
}
],
"genres": [
{
"id": "beats",
"name": "Beats",
"parent": {
"id": "parent",
"name": "Parent Beats"
}
},
{
"id": "trap",
"name": "Trap"
}
],
"images": {
"default": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/300x300.jpg",
"L": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/1050x1050.jpg",
"M": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/600x600.jpg",
"S": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/300x300.jpg",
"XS": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/128x128.jpg"
},
"waveformUrl": "https://pdn.epidemicsound.com/waveforms/1600/394079.json",
"hasVocals": true,
"added": "2020-10-10",
"isExplicit": false,
"isPreviewOnly": true
},
{
"id": "0dZCtol3bs",
"mainArtists": [
"Main Artist"
],
"featuredArtists": [
"Featured Artist"
],
"title": "Sad Song",
"bpm": 97,
"length": 2976,
"moods": [
{
"id": "happy",
"name": "Happy"
},
{
"id": "eccentric",
"name": "Eccentric"
}
],
"genres": [
{
"id": "beats",
"name": "Beats",
"parent": {
"id": "parent",
"name": "Parent Beats"
}
},
{
"id": "trap",
"name": "Trap"
}
],
"images": {
"default": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/300x300.jpg",
"L": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/1050x1050.jpg",
"M": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/600x600.jpg",
"S": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/300x300.jpg",
"XS": "https://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/123456/128x128.jpg"
},
"waveformUrl": "https://pdn.epidemicsound.com/waveforms/1600/394079.json",
"hasVocals": true,
"added": "2020-10-10",
"isExplicit": false,
"isPreviewOnly": true
}
],
"pagination": {
"page": 4,
"limit": 20,
"offset": 60
},
"links": {
"next": "/v0/tracks?limit=20&offset=80",
"prev": "/v0/tracks?limit=20&offset=40"
}
}
Bad request.
- application/json
- Schema
- Example (from schema)
- Example
Schema
- message string required
Human readable message
errors object[]
Array [key string requiredError key
messages string[] requiredError messages
]
{
"message": "string",
"errors": [
{
"key": "string",
"messages": [
"string"
]
}
]
}
{
"message": "Bad request"
}
Unauthorized. Most likely your access token has expired.
- application/json
- Schema
- Example (from schema)
- Example
Schema
- message string required
Human readable message
errors object[]
Array [key string requiredError key
messages string[] requiredError messages
]
{
"message": "string",
"errors": [
{
"key": "string",
"messages": [
"string"
]
}
]
}
{
"message": "Invalid credentials"
}
Track was not found.
- application/json
- Schema
- Example (from schema)
- Example
Schema
- message string required
Human readable message
errors object[]
Array [key string requiredError key
messages string[] requiredError messages
]
{
"message": "string",
"errors": [
{
"key": "string",
"messages": [
"string"
]
}
]
}
{
"message": "Track was not found"
}
Rate limit exceeded.
- application/json
- Schema
- Example (from schema)
- Example
Schema
- message string required
Human readable message
errors object[]
Array [key string requiredError key
messages string[] requiredError messages
]
{
"message": "string",
"errors": [
{
"key": "string",
"messages": [
"string"
]
}
]
}
{
"message": "Rate limit exceeded"
}