VGMdb API
What Is It?
VGMdb.net is an excellent resource, containing gigabytes of information about video game music. It documents the relationships between games, albums that represent games, and all the people that contributed to an album.
However, VGMdb does not provide an API to access its information, which provides an obstacle to programs that want to use its information. This site is a way to programmatically access the information on VGMdb.net. The web interface provides an easy way to explore this API and discover how the links work. Format selectors on the right will show any page in a different format.
API
All of the information that is parsed out of vgmdb.net is exposed through JSON. A subset of that information is also available in HTML+RDFa, RDF+XML, and Turtle. Send an HTTP Accept header to request a format, or append a ?format selector to the url.
Documentation
The API is documented using RAML, available here. The JSON responses are documented with JSON Schema, and each info page has a validation link for verification against the respective schema.
Searching
Searching the database is easy. You can search for everything, or just a specific category. Keywords shorter than 3 characters are ignored.
/search/<query>
- Search for matching items
/search?q=<query>
- Search for matching items
/search/albums/<query>
- Search for matching albums
/search/albums?q=<query>
- Search for matching albums
/search/artists/<query>
- Search for matching artists
/search/artists?q=<query>
- Search for matching artists
/search/orgs/<query>
- Search for matching organizations
/search/orgs?q=<query>
- Search for matching organizations
/search/products/<query>
- Search for matching products
/search/products?q=<query>
- Search for matching products
Browse Lists
An index of all items in each category is also available.
/albumlist/<letter>
- View all of the albums by letter
/artistlist/<letter>
- View all of the artists by letter
/orglist
- View all of the organizations
/orglist/<letter>
- View all of the organizations by letter
/eventlist
- View all of the events
/eventlist/<year>
- View all of the events by year
/productlist/<letter>
- View all of the products by letter
Recent Changes
A list of recent changes is available.
/recent/albums
- View recent album changes
/recent/media
- View recent album media changes
/recent/tracklists
- View recent album tracklist changes
/recent/scans
- View recent album scanned covers
/recent/artists
- View recent artist changes
/recent/products
- View recent product changes
/recent/labels
- View recent label organization changes
/recent/links
- View recent album and artist links changes
/recent/ratings
- View recent album rating changes
Information Pages
Each item in the database is represented with a unique URL, which follows this pattern:
/album/<id>
- Album information
/artist/<id>
- Artist information
/org/<id>
- Organization information
/event/<id>
- Event information
/product/<id>
- Product information
Seller Information
Artists and Albums have an additional endpoint to get information about a few online stores where their products are available. The main /sellers endpoint will wait until the information is completely available. The /sellers?allow_partial=true option may return results that are not yet complete, with a Refresh header to check back for new search results.
/album/<id>/sellers
- Album sellers
/artist/<id>/sellers
- Artist sellers
/album/<id>/sellers?allow_partial=true
- Partial album sellers with Refresh header
/artist/<id>/sellers?allow_partial=true
- Partial artist sellers with Refresh header
Format Selection
This webservice will honor HTTP Accept headers. It will also produce a specific format if a ?format=<format> option is added to the url. The jsonp format requires a &callback=<function_name> option for the padding.
HTTP Accept types
text/html
- default HTML outputapplication/json
- JSON outputapplication/javascript
- JSONP outputapplications/rdf+xml
- RDF+XML outputapplication/x-turtle
- Turtle outputtext/turtle
- Turtle outputapplication/yaml
- YAML outputapplication/x-yaml
- YAML outputtext/yaml
- YAML outputtext/x-yaml
- YAML output
Format Query String
html
- default HTML outputjson
- JSON outputjsonp
- JSONP outputrdf
- RDF+XML outputturtle
- Turtle outputyaml
- YAML outputOpen Source
The code is hosted at GitHub for your pleasure.