List songs

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Retrieve a paginated collection of songs. The data array contains songs, and included contains the artists and audio files referenced by those songs. Match each relationship ID to its full resource in included.

The first resource in each song's relationships.artists.data array is the primary artist. The first resource in relationships.audio_files.data is the primary audio file. By default, only the primary audio file is included to limit response size. Set filter[include_alternate_audio_files]=true to include every audio file for each returned song.

Use filter[isrc] to find songs by International Standard Recording Code. Supply a 12-character ISRC; matching ignores hyphens and whitespace and is case-insensitive. An ISRC can belong to more than one song, so this endpoint always returns a collection. Songs that have not been released to digital streaming platforms do not have an ISRC and cannot match this filter.

Example request

This request finds songs with an ISRC and requests up to 10 results. USABC1234567 and US-ABC-12-34567 are equivalent values.

curl --get "https://api.soundstripe.com/v1/songs" \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Accept: application/vnd.api+json" \
  --data-urlencode "filter[isrc]=US-ABC-12-34567" \
  --data-urlencode "page[size]=10"

Responses

A successful request returns 200, including pagination links in the top-level links object. A valid filter that has no matches returns an empty data array with 200. An invalid ISRC returns 400; requests without a valid API key return 401; an expired, inactive, or unauthorized key returns 403. filter[q] values longer than 512 characters return 413. See Pagination for traversal details and The song object for the song attributes returned in each result.

Query Params
int32

Maximum BPM

int32

Minimum BPM

boolean

If true, songs will be returned if any of their audio files (not just the primary audio file) match the supplied duration min, max, or both (whatever is supplied). If false, songs will be returned if their primary audio file matches the supplied duration min, max, or both (whatever is supplied). Only active when used with duration min, max, or both.

int32

Maximum duration of the song's primary audio file

int32

Minimum duration of the song's primary audio file

string

Energy to filter by. One of: very_low, low, medium or high.

boolean

If true, all audio files for each song will be returned in the audio_files relationship, and in the top-level included key. If false, only primary audio files will be returned in the audio_files relationship, and in the top-level included key. By default, this is false, because response size will be larger when including all audio files for each song.

boolean

If true, only show songs that have at least one instrumental audio file. If false, don't show songs with instrumental audio files.

string

Filter by ISRC (International Standard Recording Code). Returns the song or songs matching the given code as a normal paginated collection (more than one song can share an ISRC). Supply the 12-character code; hyphens and whitespace are ignored and matching is case-insensitive, so USABC1234567 and US-ABC-12-34567 are equivalent. A song is assigned an ISRC only once it has been released to digital streaming platforms (Spotify, Apple Music, etc.), so this filter never matches songs that are not yet on those platforms. A value that is not a valid 12-character ISRC returns a 400 error.

string

Search query

string

Comma-separated characteristic tags to filter by. Tag IDs or names can be used interchangeably to filter. If a tag ID or name is prefixed with a hyphen (-), songs with that tag will be filtered out. To get a list of all possible characteristic tags, see the list tags endpoint.

string

Comma-separated genre tags to filter by. Tag IDs or names can be used interchangeably to filter. If a tag ID or name is prefixed with a hyphen (-), songs with that tag will be filtered out. To get a list of all possible genre tags, see the list tags endpoint.

string

Comma-separated instrument tags to filter by. Tag IDs or names can be used interchangeably to filter. If a tag ID or name is prefixed with a hyphen (-), songs with that tag will be filtered out. To get a list of all possible instrument tags, see the list tags endpoint.

string

Comma-separated mood tags to filter by. Tag IDs or names can be used interchangeably to filter. If a tag ID or name is prefixed with a hyphen (-), songs with that tag will be filtered out. To get a list of all possible mood tags, see the list tags endpoint.

boolean

If true, only show songs that have at least one vocal audio file. If false, don't show songs with vocal audio files.

int32
1 to 100
Defaults to 10

Number of songs to return per page, from 1 to 100.

int32
≥ 1
Defaults to 1

One-indexed page number to return.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/vnd.api+json