Appearance
musicbrainz
21 endpoints at a glance
| Method | Path | Summary |
|---|---|---|
POST | /musicbrainz/admin/enrich-deezer-albums | Trigger Enrichment |
GET | /musicbrainz/admin/health | Admin Health |
GET | /musicbrainz/admin/isrc-link-status | Isrc Link Status |
POST | /musicbrainz/admin/link-isrcs | Trigger Isrc Link |
GET | /musicbrainz/areas/{mbid} | Get Area |
GET | /musicbrainz/artists/{mbid} | Get Artist |
GET | /musicbrainz/artists/{mbid}/release-groups | Browse 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-art | Get Release Group Cover Art |
GET | /musicbrainz/releases/{mbid} | Get Release |
GET | /musicbrainz/releases/{mbid}/cover-art | Get Release Cover Art |
GET | /musicbrainz/releases/by-barcode/{upc} | Get Release By Barcode |
GET | /musicbrainz/search/artists | Search Artists |
GET | /musicbrainz/search/labels | Search Labels |
GET | /musicbrainz/search/recordings | Search Recordings |
GET | /musicbrainz/search/release-groups | Search Release Groups |
GET | /musicbrainz/search/releases | Search Releases |
GET | /musicbrainz/search/works | Search Works |
GET | /musicbrainz/works/{mbid} | Get Work |
musicbrainz
Search Artists
Search Release Groups
Search Releases
Search Recordings
Search Labels
Search Works
Get Artist
Browse Artist Release Groups
Get Release Group
Get Release Group Cover Art
Get Release
Get Release Cover Art
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
Requiredstring
Responses
Successful Response
application/json
JSON
"string"
Get Recording
Get Label
Get Work
Get Area
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"
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.
Parameters
Responses
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
200Responses
Successful Response
application/json
JSON
"string"
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_historyfor 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"