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

Query Parameters

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

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Search Release Groups

GET
/musicbrainz/search/release-groups

Parameters

Query Parameters

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

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Search Releases

GET
/musicbrainz/search/releases

Parameters

Query Parameters

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

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Search Recordings

GET
/musicbrainz/search/recordings

Parameters

Query Parameters

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

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Search Labels

GET
/musicbrainz/search/labels

Parameters

Query Parameters

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

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Search Works

GET
/musicbrainz/search/works

Parameters

Query Parameters

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

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Get Artist

GET
/musicbrainz/artists/{mbid}

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Browse Artist Release Groups

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

Parameters

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

Variables
Key
Value

Samples


Get Release Group

GET
/musicbrainz/release-groups/{mbid}

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Get Release Group Cover Art

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

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Get Release

GET
/musicbrainz/releases/{mbid}

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Get Release Cover Art

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

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

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

Path Parameters

upc*
Type
string
Required

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Get Recording

GET
/musicbrainz/recordings/{mbid}

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Get Label

GET
/musicbrainz/labels/{mbid}

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Get Work

GET
/musicbrainz/works/{mbid}

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

Variables
Key
Value

Samples


Get Area

GET
/musicbrainz/areas/{mbid}

Parameters

Path Parameters

mbid*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
"string"

Playground

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

Responses

Successful Response

application/json
JSON
"string"

Playground

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.

Successful Response

application/json
JSON
"string"

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

Query Parameters

limit
Type
integer
Default
200

Responses

Successful Response

application/json
JSON
"string"

Playground

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

Responses

Successful Response

application/json
JSON
"string"

Playground

Samples


Media — Blue Sapphire Software.