pl

Purpose

This powerful RESTful API allows you to fetch any data related to the music on jamendo. It is read-only. It is currently the most used Jamendo API. It is also accessible from Ajax and XML-RPC.

Things you can query with this API : albums, artists, tracks, users, tags, playlists, reviews, ...

  • Pattern of URL to use www.jamendo.com/get/[itemUnit]/[loadtype]/[parametersUnit]/[targetName]/[formatName]/<value><?param><&param>...
Parameter Description Values
itemUnit/parametersUnit target unit/selection unit album, artist, track, tag, user ; secondary : playlist, review, news
loadtype list ; older (still use) : id, name ; older (unused) : recom, tag
targetName target type id, data, name, title, page (url), p2p (tracker), audio (stream url) ; secondary : none, desc{1,2,3} ({full,common,min} description), archivesrestricted, artworkurl (cover)
formatName target format plain, rss2 (rss 2.0), {pretty,}json, podcast, play, xspf, ram, smil, pls, m3u, xmlrpc, ahah, redirect, phpserialized
param tarjet and/or selection unit parameters look at Built your URLs section

Only list loadertype will be maintained in futures versions of this API. It allows you to get everthing you want. It's advised to use only this since it limits misunderstanding of API by comparaison to other loadertypes.

Examples

First simple examples :

Both's Albums http://www.jamendo.com/get/album/list/artist/title/plain/?names=both
Both's Albums http://www.jamendo.com/get/album/list/artist/page/plain/?names=both
album with albumid=116 http://www.jamendo.com/get/album/list/album/title/plain/?ids=116
Tags of ablumid=116 http://www.jamendo.com/get/tag/list/album/name/plain/?ids=116
50 Albums ids http://www.jamendo.com/get/album/list/album/id/plain/?n=50&o=id_asc
latest album's RSS feed that you can use commercially http://www.jamendo.com/get/album/list/album/page/rss2/?o=release_date_desc&cani=c

Built your URLs

  • Only list loadertype will be maintained in futures versions of this API. It allows you to get everthing you want. It's also advised to use only this since it limits misunderstanding of API by comparaison to other loadertypes.
  • Parameters are the most important part to understand since it allows you to select exactly what you want.

Artist IDs / Names / Dispnames

  • Artist IDs : Numeric, you can see them in the URLs of the albums : For album 33 the URL is www.jamendo.com/album/33/
  • Artist Names : Unique string, with no special characters ([0-9a-z.-]). They are used in the URLs (for instance : www.jamendo.com/artist/both/ for the artist with name "both").
  • Artist Dispnames : The "real" artist name, not unique. Most often it's the same as above, but it can be competely different.

Examples of id / name / dispname :

  • 22 / acoustic.affinites / Acoustic Affinités
  • 5 / both / Both

Currently you can't use Dispname in your URLs. You can try to build the name by changing special caracters as in the example above.

List of parameters

You can use some optional secondary params to get what you want :

Parameter Adviced to be used with Can be used with
identifier list loadertype
order optional all
limit querries optional
unit information target unit all (may not add any information depending of selection unit)
User id optional user, playlist, review unit
Artwork album, track selection unit & artworkurl target unit N/A
Stream encoding audio target unit N/A
P2P album unit & p2p target unit tracker parameter & others target unit
SubSettings optional
Others optional
  • Multiple values are separed with "+".
  • Use prefixe item_ to apply the parameter to target unit. Without prefixe, it's applied to selection unit.

Values of parameters

Here are the values you can use with these parameters :

Parameter code value description
identifier ids, names value Numerical, name is an unique string with no special characters ([0-9a-z.-])
order o rating_desc global popularity, default
user_rating_desc for the logged user, best reviews
rating_week_desc
release_date_desc
date_desc
rating_week_desc
track_no_asc
random
id
alpha Alphabetic
date
nshuffle integer number of items to shuffle on ((page number) shuffled out of (shuffle on))
pn integer The page number ( = items no. ((pn-1)*n) to (pn*n) )
limit querries n integer number of item to get back
nids integer Exclude id
id_from, id_to integer
datef_days, datet_days, datef_epoch, datet_epoch string Maximum/Minimum days old, Date, lower/upper bound
tag string List of tags
program, programnot integer ID of the program the items must/musn't be registered to (13 : artist_revenueshare)
shownotmod 1, 2, other (default) all albums, albums.`mod`=0, albums.`mod`=1
showhidden 1, 2, other (default) all albums, albums.status<>'V', albums.status='V'
Album info ali min (default) id
info_min add to previous name, artist_id, archive_set
info_common add to previous lengths, release_date, public_date, class, com_level, buyurl, filename, imagenum, status, mod, license_id, license_music_multiple, license_artwork_id, review_num, review_note, review_num_week, review_note_week, public_date_f, release_date_f, length_total
full add to previous genre_str, genre_str_lang, desc_str, desc_str_lang, referrer_count, playlisted_count, lowfi_count, favourited_count, tracker_seeds_num, tracker_clients_num, tracker_finished_num, upload_date, validation_date, relance_date, id3genre, validation_url, root_audio, root_images, root_torrents, images{}, desc_html, archives{}, certif{}
desc description
images Don't work
archives link to download
tracker status of tracker (use with aenc)
genre tags
Artist info ari min (default) id
info_min add to previous name, dispname
info_common add to previous homepage, date_start, date_join, date_end, image
full add to previous genre_str, genre_str_lang, desc_str, desc_str_lang, creator_user_id, forum_id, pays, departement, ville, desc_html, geo_countryname, geo_str1, relationjam{}
desc add desc_str, desc_str_lang, desc_html
geo add pays, departement, ville, id, geo_countryname, geo_str1
News info (user selection unit required) nwi min (default) id
info_min add to previous user_id, type, join_id1, join_id2, join_id3, join_id4, link
info_common,full add to previous title, date_added, type_origin, viewed, date_viewed, mailed, date_mailed
Playlist info pli any (default) name, id, public, user_id, albumcount
Review info rri min (default) id
info_min add to previous title, album_id, user_id, note1, agree_cnt, pubdate, pubdate_f, review_link
info_common add to previous lang, reply_topic_id, reply_topic_lang, blog_id, blog_link, blog_exclusive, reply_link, num_replies
full add to previous review_text, date
User info uri min (default) id
info_min,info_common add to previous name, profile_link
full add to previous avatar, pays, departement, has_transperm, inscr_date, avatarurl, classes{}, classes_html
avatar add avatar, avatarurl
Tag info tgi min (default) id
info_common,full add to previous name
Track info tri min (default) id
info_min add to previous album_id, name, track_no
info_common add to previous lengths, filename, com_level, parental_level, license_id
full add to previous lyrics_text, lyrics_exists, lyrics_lang, lyrics_mod_date, id3genre, length
User id uid integer Select info related to an user
Stream encoding aue (audio enc) ogg1, ogg2, mp31 lowfi OGG (q-1), lowfi OGG q4, lowfi MP3 (96kbits) (default for streaming / player)
P2P p2pnet torrent (default), ed2k use with target p2p
aenc,are (archive enc : tracker ogg3, mp32 hifi OGG q7, hifi MP3 (200kbits+)
Artwork artwork_size integer 70,100,130,200,300,400, etc (mail us for get a custon one)
artwork_id integer
SubSettings subset user_notign, user_notlater, user_star
Others json_iddict 1 change Json format from [{"id":1234}] to {"1234":{"id":1234}} (example of result)
displangs $rl

More Examples

Description Url example
5 latest ablums released (minimal information) http://www.jamendo.com/get/album/list/album/data/json/?n=5&o=release_date_desc&ali=info_min
All album info and common artist info of the first album released http://www.jamendo.com/get/album/list/album/data/json/?n=1&o=release_date_asc&ali=full&ari=info_common
Ids of album by "both" artist http://www.jamendo.com/get/album/list/artist/data/json/?names=both
Tags of album which id is 33 http://www.jamendo.com/get/tag/list/album/data/json/?ids=33&tgi=info_common
Complete user info http://www.jamendo.com/get/user/list/user/data/json/?names=sylvinus&uri=full

Others

Other Loadertypes

These Loadertypes are still used on Jamendo portal and JamendoApps. They are a bit shorter to write (but won't be maintained).

Description Url example
Get unit from name of selection unit name loadertype
album id from artist (name) http://www.jamendo.com/get/album/name/artist/id/json/both/?n=all
Just remplace name by list and add ?names= before artist http://www.jamendo.com/get/album/list/artist/id/json?names=both&n=all
Get unit from id of selection unit id loadertype
user name (from his id) http://www.jamendo.com/fr/get/user/id/user/name/plain/2
Just remplace id by list and add ?ids= before id http://www.jamendo.com/fr/get/user/list/user/name/plain?ids=2