Quickstart
Instantiating the client object
import discogs_client
d = discogs_client.Client('ExampleApplication/0.1')
The string passed into the Client
class is your User-Agent. A User-Agent is
required for Discogs API requests, as it identifies your application to the
Discogs servers.
There are more parameters the Client
class accepts on instantiation; please
refer to the authentication chapter for more details.
Once instantiated, you can either start making requests to endpoints that do not require authentication, or you can authenticate and make requests to a wider range of endpoints.
release = d.release(1293022)
print(release.title)
artists = release.artists
As you can see, once you fetch data from an endpoint, you can call various properties and methods on those objects.
Searching
Note that for searching Discogs via the API you need to be an authenticated user already.
Simple example:
results = d.search('Can I borrow a feeling?')
The search method allows for all of the parameters that the raw Discogs API allows. A full list of available parameters is found here.
Examples using parameters:
results = d.search('Can I borrow a feeling?', type='release')
results = d.search('Can I borrow a feeling?', type='release,master')
results = d.search('Can I borrow a feeling?', artist='Kirk', type='release')
results = d.search('Can I borrow a feeling?', genre='Hip Hop')
The results
object is a paginated list, so you need to specify which page of
results to view, like so:
print(results.page(1))
Most other objects
Objects contain many callable properties. Some examples are shown in the
fetching data section. For a full list of properties, call
the Python dir()
function with the object as a parameter.
Also look into the documentation of the models module at
discogs_client.models
, to find out what properties are available.
Not all information available in the API response is mapped out, so if you need
more information, you can look in the data
property of the Release object:
release = d.release(1)
release.data.keys()