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
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.
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.

Set user agent (required by MusicBrainz) and search for an artist.

import musicbrainzngs

musicbrainzngs.set_useragent("MyApp", "1.0", "me@example.com")
result = musicbrainzngs.search_artists(artist="Nirvana")
print(result['artist-list'][0]['name'])