docs / music-metadata
Music Metadata
Artists, albums, tracks and cover art.
base /music-metadata/v18 endpoints
post
/music-metadata/v1/search1 creditsearch artist/album/release/recording/track/label/work (advanced field search supported)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Search text (advanced field search is supported). |
| type = artist | optional | artist · release-group · album · release · recording · track · song · label · work | Which MusicBrainz entity to search. |
| limit = 25 | optional | 1–100 | How many results to return (1-100). Clamped to range. |
| offset = 0 | optional | 0– | Pagination offset (skip N results). |
post
/music-metadata/v1/artist_detail1 creditartist + relationships (members/collaborations), discography, aliases, tags
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| mbid | required | — | MusicBrainz id (UUID) of the entity. Find it via the search action. |
| inc | optional | — | Advanced: override the MusicBrainz 'inc' sub-query (relations/sub-resources to embed, '+'-separated). A tuned default is used when omitted. |
post
/music-metadata/v1/album_detail1 creditrelease (tracklist+labels+ISRCs+discids) or release-group
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| mbid | required | — | MusicBrainz id (UUID) of the entity. Find it via the search action. |
| entity = release | optional | release · release-group | Whether the MBID is a single release or a release-group. |
| inc | optional | — | Advanced: override the MusicBrainz 'inc' sub-query (relations/sub-resources to embed, '+'-separated). A tuned default is used when omitted. |
post
/music-metadata/v1/track_detail1 creditrecording + ISRCs + work-relations + artist credits
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| mbid | required | — | MusicBrainz id (UUID) of the entity. Find it via the search action. |
| inc | optional | — | Advanced: override the MusicBrainz 'inc' sub-query (relations/sub-resources to embed, '+'-separated). A tuned default is used when omitted. |
post
/music-metadata/v1/label1 creditlabel detail (country, label-code, aliases, url-rels)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| mbid | required | — | MusicBrainz id (UUID) of the entity. Find it via the search action. |
| inc | optional | — | Advanced: override the MusicBrainz 'inc' sub-query (relations/sub-resources to embed, '+'-separated). A tuned default is used when omitted. |
post
/music-metadata/v1/work_detail1 creditwork/composition + ISWC + writer relations
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| mbid | required | — | MusicBrainz id (UUID) of the entity. Find it via the search action. |
| inc | optional | — | Advanced: override the MusicBrainz 'inc' sub-query (relations/sub-resources to embed, '+'-separated). A tuned default is used when omitted. |
post
/music-metadata/v1/isrc_lookup1 creditreverse ISRC -> recordings (cross-catalog key)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| isrc | required | — | International Standard Recording Code (2 letters, 3 alphanumerics, 7 digits) — e.g. GBAYE9701274. |
| inc | optional | — | Advanced: override the MusicBrainz 'inc' sub-query (relations/sub-resources to embed, '+'-separated). A tuned default is used when omitted. |
post
/music-metadata/v1/cover_art1 creditCover-Art-Archive images (multi-resolution) for a release/release-group
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| mbid | required | — | MusicBrainz id (UUID) of the entity. Find it via the search action. |
| entity = release | optional | release · release-group | Whether the MBID is a single release or a release-group. |
Example request · search
curl -X POST https://api.reefapi.com/music-metadata/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"radiohead","type":"artist"}'Response shape
{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}