TheAudioDB provides a free music API to use in test or development environments.
Test Key
Most of the basic calls will work using the test API key of "2".
Rate Limit
Maximum 2 calls per second on all API methods
Upgrade Free Music API
Join our $8 per month premium API
for a full private API key with upgraded features to use in production.
Artist Data
Return individul Artist details using known TADB_Artist_ID
artist.php?i={artistid}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/artist.php?i=112024
Return individual Artist info using a known MusicBrainz_Artist_ID
artist-mb.php?i={mb_artist_id}
Album Data
Return All Albums for an Artist using known TADB_Artist_ID
album.php?i={artistid}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/album.php?i=112024
Return individual Album info using known TADB_Album_ID
album.php?m={albumid}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/album.php?m=2115888
Return individual Album info using a known MusicBrainz_Release-Group_ID
album-mb.php?i={mb_release-group_id}
Track Data
Return All Tracks for Album from known TADB_Album_ID
track.php?m={albumid}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/track.php?m=2115888
Return individual track info using a known TADB_Track_ID
track.php?h={trackid}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/track.php?h=32793500
Return individual track info using a known MusicBrainz_Recording_ID
track-mb.php?i={mb_recording_id}
General search calls
Return Artist details from artist name
search.php?s={Artist name}
Example -
www.theaudiodb.com/api/v1/json/2/search.php?s=coldplay
*Limited to 'coldplay' test
Return all Album details from artist name
searchalbum.php?s={Artist name}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/searchalbum.php?s=daft_punk
Return single album details from artist + album name
searchalbum.php?s={Artist name}&a={Album name}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/searchalbum.php?s=daft_punk&a=Homework
Return track details from artist/track name
searchtrack.php?s={Artist_Name}&t={Single_Name}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/searchtrack.php?s=coldplay&t=yellow
Return Discography for an Artist with Album names and year only
discography.php?s={Artist_Name}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/discography.php?s=coldplay
Return Discography for an Artist with Album names and year only using known MBID
discography-mb.php?s={Music_Brainz_Artist_ID}
Music Videos
Return all the Music videos for a known TADB_Artist_ID
mvid.php?i=(artistid}
Example -
www.theaudiodb.com/api/v1/json/{APIKEY}/mvid.php?i=112024
Return all the Music videos for a known Music_Brainz_ID
mvid-mb.php?i=(MbArtistID}
Return a Music DVD from artist/mdvd name
searchmdvd.php?s={Artist_Name}&a={Music_Dvd_Name}
Popularity
Return The top 10 Most Loved tracks for an Artist Name
www.theaudiodb.com/api/v1/json/{APIKEY}/track-top10.php?s=(artistname}
Return The top 10 Most Loved tracks for an Artist Music Brainz ID
www.theaudiodb.com/api/v1/json/{APIKEY}/track-top10-mb.php?s=(Music_Brainz_Artist_ID}
Return The top 50 Most Loved Tracks of Alltime
www.theaudiodb.com/api/v1/json/2/mostloved.php?format=track
Return The top 10 Most Loved Albums of Alltime
www.theaudiodb.com/api/v1/json/2/mostloved.php?format=album
Images
Preview Images
Most of the time you won't want to download the original large image, just get a small preview. This is possible simple by adding "/small" onto the end URL. This will give you a small 200px version. This will work with TheAudioDB.com and Fanart.tv URL's in exactly the same way hopefully :)
Original Image/artist/thumb/xxtwus1340291734.jpg
Small Image/artist/thumb/xxtwus1340291734.jpg/small
Listing user ratings via the api
List every rating made by a user
www.theaudiodb.com/api/v1/json/{apikey}/ratings-album.php?user={username}
www.theaudiodb.com/api/v1/json/{apikey}/ratings-track.php?user={username}
Example
www.theaudiodb.com/api/v1/json/2/ratings-track.php?user=Arturo007
Submitting user ratings via the api
Submit Rating via API
www.theaudiodb.com/api/v1/json/{apikey}/submit-album.php?user={user}&artist={artist}&album={album}&rating={1-10}&api={apitoken}
www.theaudiodb.com/api/v1/json/{apikey}/submit-track.php?user={user}&artist={artist}&album={album}&track={track}&rating={1-10}&api={apitoken}
Example (with api token removed)
/api/v1/json/2/submit-album.php?user=zag&artist=Alison Krauss&album=Essential&rating=7&api=&api=
/api/v1/json/2/submit-track.php?user=zag&artist=Alison Krauss&album=Essential&track=Restless&rating=7&api=
You can find the API token for on the user page, top right on the menu click on your username (it will only show up if you are logged in as yourself).
www.theaudiodb.com/user/
username
API also provides a responses in JSON like this:
{"result":"SUCCESS New rating"}
{"result":"SUCCESS Updated rating"}
{"result":"ERROR No item found"}
{"result":"ERROR Missing input"}
Current Trending Music
www.theaudiodb.com/api/v1/json/2/trending.php?country=us&type=itunes&format=albums
www.theaudiodb.com/api/v1/json/2/trending.php?country=us&type=itunes&format=singles
Parameters:
type: itunes (only for now but will extend in future to more sources)
country: us, gb, de, fr, it
format: albums, singles
Song Hash Lookup
www.theaudiodb.com/api/v1/json/{APIKEY}/search-hash.php?h1={Hash1}&h2={Hash2}
www.theaudiodb.com/api/v1/json/2/search-hash.php?h1=5C9A5186D36C5CD0&h2=8B79EDB8090D16CB
NOTE: At the moment both hashes are required and must each be 16 characters long