Web Service

From MusicBrainz Wiki
Revision as of 22:01, 5 February 2007 by RobertKaye (talk | contribs) (added a note about number of connections (Imported from MoinMoin))
Jump to navigationJump to search

Products > WebService

MusicBrainz Web Services

MusicBrainz supports two Web Services currently:

  1. A new REST styled XML based Web Service. Attention.png This new service should be used for all new development.
  2. The old RDF based Web Service. Attention.png This service is now deprecated and should not be used for new development!

Read on for details on these two web services.

XML Web Service

This new Web Service has been created to provide a modern Web Service based on the best practices established by the most used Web Services at Amazon and Google. This service uses a URL scheme using REST concepts and delivers XML responses via the standard HTTP protocol. This Web Service should be used for all new development.

The XML returned by this Web Service is documented in MusicBrainzXMLMetaData and the overall Web Service is described in XMLWebService.

To access the WebService you can use standard XML and HTTP tools to retrieve the data, or you can use our Python based PythonMusicBrainz2 library. libmusicbrainz version 3 and up will support the XML Web Service; see libmusicbrainzDownload for more information.

Attention.png Note: All users of the XML web service must ensure that each of their client applications never make more than ONE web service call per second. Making more than one call per second drives up the load on the servers and prevents others from using MusicBrainz. If you impact the server by making more than one call per second, your IP address may be blocked preventing all further access to MusicBrainz.

RDF Web Service

The RDF Web Service predates the term Web Service and was developed before best practices for Web Services had been established. Consequently the Web Service is not as coherent, concise and easy to use as the XML Web Service. This Web Service should not be used for new development.

If you are using libmusicbrainz version 2.x or earlier or libtunepimp to access MusicBrainz currently, then you are using this old web service. You are strongly encouraged to migrate your existing application over to the new XML Web Service.

A exact date for scrapping this old Web Service has not been set -- we will certainly support this service through 2007. However once we move to the NextGenerationSchema, we may very well stop supporting this Web Service.

For some documentation on this Web Service see our RDF page.