Tracks

ISRC lookup

Exact lookup by ISRC code. The ISRC is part of the path, so there is no query string. Returns full track detail including genre, subgenre, BPM, and musical key.

get/v1/tracks/isrc/{isrc}

Request

  • Base URL: https://api.sonovault.now
  • URL: https://api.sonovault.now/v1/tracks/isrc/{isrc}
  • Auth: API key in header x-api-key

Path parameters

isrcstring required

ISRC code (e.g. GBDUW0000053).

Response

Successful response

idinteger required

Sonovault track ID. Stable, and the id every other endpoint takes.

titlestring required

Track title, including any mix or version suffix.

isrcstring nullable required

One representative ISRC. A recording often has several (radio edit, reissue, regional release); look them all up with GET /v1/tracks/isrc/:isrc. null when no ISRC is known.

durationinteger nullable required

Duration in seconds. null when unknown.

bpmnumber nullable required

Tempo in beats per minute, up to two decimals (e.g. 123, 123.48). Measured by the Lexicon DJ beat detector on the audio itself, and reported at full tempo: a drum & bass track reads 174, not the half-time 87. null when the track has not been analysed yet.

key_alphanumericstring nullable required

Musical key in alphanumeric notation: a number from 1 to 12 plus A for minor or B for major (e.g. 10B). Keys one step apart on the wheel, or with the same number, mix harmonically. Our preferred key, measured by OpenKeyScan. null when the track has not been analysed yet.

key_musicalstring nullable required

The same key in standard musical notation (e.g. D, Am, F#m, Ebm, Db). A trailing m means minor. null when the track has not been analysed yet.

key_openstring nullable required

The same key in Open Key notation, lowercase: a number from 1 to 12 plus d for major or m for minor (e.g. 3d, 1m). null when the track has not been analysed yet.

genrestring[] required

Canonical genres. Empty array when the track is unclassified.

subgenrestring[] required

Canonical subgenres. Empty array when none apply.

Changes

No recorded changes to this operation across all 1 revision of this API.