Skip to content

musicbrainz ​

21 endpoints at a glance
MethodPathSummary
POST/musicbrainz/admin/enrich-deezer-albumsTrigger Enrichment
GET/musicbrainz/admin/healthAdmin Health
GET/musicbrainz/admin/isrc-link-statusIsrc Link Status
POST/musicbrainz/admin/link-isrcsTrigger Isrc Link
GET/musicbrainz/areas/{mbid}Get Area
GET/musicbrainz/artists/{mbid}Get Artist
GET/musicbrainz/artists/{mbid}/release-groupsBrowse Artist Release Groups
GET/musicbrainz/labels/{mbid}Get Label
GET/musicbrainz/recordings/{mbid}Get Recording
GET/musicbrainz/release-groups/{mbid}Get Release Group
GET/musicbrainz/release-groups/{mbid}/cover-artGet Release Group Cover Art
GET/musicbrainz/releases/{mbid}Get Release
GET/musicbrainz/releases/{mbid}/cover-artGet Release Cover Art
GET/musicbrainz/releases/by-barcode/{upc}Get Release By Barcode
GET/musicbrainz/search/artistsSearch Artists
GET/musicbrainz/search/labelsSearch Labels
GET/musicbrainz/search/recordingsSearch Recordings
GET/musicbrainz/search/release-groupsSearch Release Groups
GET/musicbrainz/search/releasesSearch Releases
GET/musicbrainz/search/worksSearch Works
GET/musicbrainz/works/{mbid}Get Work

musicbrainz​


Search Artists​

GET
/musicbrainz/search/artists

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

q*
Type
string
Required
limit
Type
integer
Default
25
offset
Type
integer
Default
0

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Search Release Groups​

GET
/musicbrainz/search/release-groups

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

q*
Type
string
Required
limit
Type
integer
Default
25
offset
Type
integer
Default
0

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Search Releases​

GET
/musicbrainz/search/releases

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

q*
Type
string
Required
limit
Type
integer
Default
25
offset
Type
integer
Default
0

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Search Recordings​

GET
/musicbrainz/search/recordings

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

q*
Type
string
Required
limit
Type
integer
Default
25
offset
Type
integer
Default
0

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Search Labels​

GET
/musicbrainz/search/labels

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

q*
Type
string
Required
limit
Type
integer
Default
25
offset
Type
integer
Default
0

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Search Works​

GET
/musicbrainz/search/works

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

q*
Type
string
Required
limit
Type
integer
Default
25
offset
Type
integer
Default
0

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Artist​

GET
/musicbrainz/artists/{mbid}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Browse Artist Release Groups​

GET
/musicbrainz/artists/{mbid}/release-groups

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

limit
Type
integer
Default
100
offset
Type
integer
Default
0

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Release Group​

GET
/musicbrainz/release-groups/{mbid}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Release Group Cover Art​

GET
/musicbrainz/release-groups/{mbid}/cover-art

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Release​

GET
/musicbrainz/releases/{mbid}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Release Cover Art​

GET
/musicbrainz/releases/{mbid}/cover-art

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Release By Barcode​

GET
/musicbrainz/releases/by-barcode/{upc}

Cross-reference shortcut: UPC → MB release.

Used by the Deezer enrichment path. Returns the canonical release
doc on hit, 404 on miss. Cached after first lookup.

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

upc*
Type
string
Required

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Recording​

GET
/musicbrainz/recordings/{mbid}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Label​

GET
/musicbrainz/labels/{mbid}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Work​

GET
/musicbrainz/works/{mbid}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Get Area​

GET
/musicbrainz/areas/{mbid}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Trigger Enrichment​

POST
/musicbrainz/admin/enrich-deezer-albums

Kick off one Deezer→MB enrichment batch in the background.

Fire-and-forget: returns a task_id immediately and runs the
work on the event loop. The SPA polls
GET /admin/task-history/{task_id} for progress + final
summary.

Why background: MB's 1 rps limit × ~2 calls per album means
ENRICH_BATCH=30 typically takes 60-90 seconds — well past the
SPA's 15s HTTP client timeout. Cron-driven runs aren't affected
(they're already off the request path).

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers

Samples​


Isrc Link Status​

GET
/musicbrainz/admin/isrc-link-status

Coverage for the ISRC→MB-recording bridge.

Reports how many canonical tracks have an ISRC, how many of those
already carry a MusicBrainz recording ref, and the remaining
backlog. This is the prerequisite for the AcousticBrainz backfill
(AB is keyed by recording MBID), so the admin can see whether
there's work to do before kicking AB.

Header Parameters

authorization
x-api-key

Successful Response

application/json
JSON
"string"
Headers

Trigger Isrc Link​

POST
/musicbrainz/admin/link-isrcs

Kick off one ISRC→MB-recording linking batch in the background.

For each canonical track with an ISRC but no MusicBrainz recording
ref, looks up the recording by ISRC and binds it. Stamping the MB
ref is what makes the track eligible for the AcousticBrainz
backfill. MusicBrainz-throttled (1 rps × 2 calls/track), so the
work is offloaded to a background task and the SPA polls
/admin/task-history/{task_id}.

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

limit
Type
integer
Default
200

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Admin Health​

GET
/musicbrainz/admin/health

Diagnostic snapshot of the MB integration for the admin panel.

Cheap reads + one optional live ping:

  • Config: UA, rate limit, cron expression (or empty if disabled)
  • Mongo counts per musicbrainz_* collection
  • Enrichment progress against the Deezer catalog (UPC-bridge
    coverage)
  • Last few cron runs from task_history for at-a-glance
    "did the cron run? did it succeed?" answers
  • Live ping against plex.tv-style…wait, MB — the test fetches
    a known artist (Daft Punk) to confirm the API + UA combo are
    working. Failures here mean the user-agent is being rejected or
    the network is blocked.

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers

Samples​


Media — Blue Sapphire Software.