MusicBrainz NG Client
raw JSON → 0.7.1 verified Mon Apr 27 auth: no python
Python bindings for the MusicBrainz XML Web Service and Cover Art Archive. Current version 0.7.1, stable but infrequent updates; supports Python 2.7 and 3.4+.
pip install musicbrainzngs Common errors
error musicbrainzngs.ResponseError: status: 503 ↓
cause MusicBrainz server is temporarily unavailable or rate-limited.
fix
Wait and retry with exponential backoff.
error musicbrainzngs.musicbrainz.ResponseError: status: 401 ↓
cause Invalid or missing OAuth credentials for authenticated endpoints.
fix
Call musicbrainzngs.auth(username, password) before accessing user-specific data.
Warnings
breaking User-Agent must be set before any request. Calls without it raise musicbrainzngs.ResponseError. ↓
fix Always call musicbrainzngs.set_useragent(app, version, contact) at the start.
deprecated musicbrainzngs.set_rate_limit() is deprecated; rate limiting is now handled server-side. ↓
fix Remove calls to set_rate_limit().
gotcha Search results are paginated. The default limit is 25 items; use limit and offset parameters. ↓
fix Pass limit=100, offset=0 to get more results and loop until empty.
Imports
- musicbrainzngs
import musicbrainzngs
Quickstart
import musicbrainzngs
musicbrainzngs.set_useragent("MyApp", "1.0", "me@example.com")
result = musicbrainzngs.search_artists(artist="Nirvana")
print(result['artist-list'][0]['name'])