Dewey API

The missing Archive.org Audio API

Archive.org contains millions of great public domain songs. They're all free to download, copy and redistribute. With such a great resource available to anyone, why isn't everyone using it?

Part of the problem is that Archive.org is difficult to use. They basically just inundate the user with all the information on the site, which causes confusion, makes things difficult to find, and turns people away from this amazing resource.

I launched DeweyMusic.org in February of 2009 to try to alleviate some of these problems through a new interface. I struggled to collect data from Archive.org's system and found the XML they provided difficult to grab for a custom application.

I want you to be able to develop a new interface for Archive.org's music. I want you to help spread this information to the world. I created DeweyMusic API to help you do that.

API Methods


albums

artists

files

formats

songs

Standard access URL:
http://api.deweymusic.org/{method}

Yahoo's YQL with Open Data Tables:
http://api.deweymusic.org/yql/{method}.xml

albums


Method Name albums
Synopsis Returns albums of music from the database
HTTP Method GET
URL http://api.deweymusic.org/albums
YQL ODT http://api.deweymusic.org/yql/albums.xml
Parameters
Name Required Default Type Example Description
n N 100 integer 100 Number of rows to return.
order N a character a
d
Order to return results in. Acccepts 'a' or 'd'
by N public_date string avg_rating
downloads
location
num_reviews
public_date
venue
Parameter to order by.
offset N 0 integer 100 Number to offset data by (for pagination).
download N character y or n Automatically downloads results.
title N string Five Eyed Hand Live at Goodfoot Lounge on 2009-05-14 For finding an album with a specific title. Should be unique.
id N string 5eh2009-05-14.flac16 For finding an album with a specific id. Unique.
artist_id N integer 46 Returns albums created by a specific artist.
location N string Portland, OR Returns albums recorded at a location.
venue N string Goodfoot Lounge Returns albums recorded at a venue.
min_reviews N integer 5 Limits results to those with at least this many reviews.
max_reviews N integer 5 Limits results to those with less than this many reviews.
min_rating N integer 5 Limits results to those with at least this average rating.
max_rating N integer 5 Limits results to those with less than this average rating.
min_downloads N integer 5 Limits results to those with more than this many downloads.
max_downloads N integer 5 Limits results to those with less than this many downloads.
min_date N date 2009-05-14 Limits results to those recorded after this date.
max_date N date 2009-05-14 Limits results to those recorded before this date.
date N date 2009-05-14 Limits results to those recorded on this date.
min_public_date N date 2009-05-14 Limits results to those published after this date.
max_public_date N date 2009-05-14 Limits results to those published before this date.
public_date N date 2009-05-14 Limits results to those published on this date.
Example Result
							
<metadata>
  <album>
	<id>5eh2009-05-14.flac16</id>
	<artist_id>46</artist_id>
	<title>Five Eyed Hand Live at Goodfoot Lounge on 2009-05-14</title>
	<date>2009-05-14</date>

	<public_date>2009-06-06 04:59:42</public_date>
	<added_date>2009-06-05 18:14:11</added_date>
	<updated_date>0000-00-00 00:00:00</updated_date>
	<date>2009-05-14</date>
	<location>Portland, OR</location>
	<venue>Goodfoot Lounge</venue>

	<avg_rating>0</avg_rating>
	<downloads>104</downloads>
	<num_reviews>0</num_reviews>
	<subject></subject>
	<source>Matrix: SBD + Rode Nt4 Stereo Mic&gt; tascam Us-428 &gt; 
	Macbook &gt; Cubase &gt; peak &gt; FLAC</source>

	<uploader>hamachidawg@gmail.com</uploader>
	<taper>CZ</taper>
	<transferer>Lobster</transferer>
	<updater>lobstar</updater>
	<notes></notes>
	<description>Five Eyed Hand
Goodfoot Lounge
Portland, OR
2009-05-14

Set 1
01.Sharp Turn
02.Rubber History
03.Tin Duckets
04.My Oklahoma Home
05.Rumpshaker
06.Up &amp; Over
07.Jean Pierre *
08.What It Is *
09.TTIS

Set 2
01.Sitcom *
02.Gardner * #
03.Mojito *
04.Close Call To Hawaii &gt; 

05.Paper Hand
06.All Too Much *

* w/ Asher Fulero - Keys
# w/ Sam Flot - werds</description>
  </album>
</metadata>							

artists


Method Name artists
Synopsis Returns a list of artists from the database
HTTP Method GET
URL http://api.deweymusic.org/artists
YQL ODT http://api.deweymusic.org/yql/artists.xml
Parameters
Name Required Default Type Example Description
n N 100 integer 100 Number of rows to return.
order N a character a
d
Order to return results in. Acccepts 'a' or 'd'
offset N 0 integer 100 Number to offset data by (for pagination).
download N character y or n Automatically downloads results.
name N string 6 Day Bender For finding an artist with a specific name. Unique.
id N integer 296 For finding an artist with a specific id. Unique.
Example Result
								
<metadata>
  <artist>
    <id>296</id>
    <name>6 Day Bender</name>
  </artist>
</metadata>								

files


Method Name files
Synopsis Returns a list of files from the database
HTTP Method GET
URL http://api.deweymusic.org/files
YQL ODT http://api.deweymusic.org/yql/files
Parameters
Name Required Default Type Example Description
n N 100 integer 100 Number of rows to return.
order N a character a
d
Order to return results in. Acccepts 'a' or 'd'
order N id string album_id
id
title
track
Parameter to order results by.
offset N 0 integer 100 Number to offset data by (for pagination).
download N character y or n Automatically downloads results.
name N string Cornmeal-2009-07-30-1644-t01.flac For finding a file with a specific name. Unique.
id N integer 1 For finding a file with a specific id. Unique.
album_id N string cornmeal2009-07-30.at835b.flac16 Returns files in a specific album.
format_id N integer 1 Returns files with a specific format.
min_bitrate N integer 100 Returns files with at least this bitrate.
max_bitrate N integer 100 Returns files with less than this bitrate.
bitrate N integer 100 Returns files with this bitrate.
Example Result
								
<metadata>
  <file>
    <id>1</id>
    <song_id>1</song_id>
    <format_id>1</format_id>
    <album_id>cornmeal2009-07-30.at835b.flac16</album_id>
    <name>Cornmeal-2009-07-30-1644-t01.flac</name>
    <bitrate>0</bitrate>
  </file>
</metadata>								

formats


Method Name formats
Synopsis Returns a list of formats from the database
HTTP Method GET
URL http://api.deweymusic.org/formats
YQL ODT http://api.deweymusic.org/yql/formats.xml
Parameters
Name Required Default Type Example Description
n N 100 integer 100 Number of rows to return.
order N a character a
d
Order to return results in. Acccepts 'a' or 'd'
offset N 0 integer 100 Number to offset data by (for pagination).
download N character y or n Automatically downloads results.
name N string 6 Day Bender For finding a format with a specific name. Unique.
id N integer 296 For finding a format with a specific id. Unique.
Example Result
								
<metadata>
  <format>
    <id>38</id>
    <name>160Kbps MP3</name>
  </format>
</metadata>								

songs


Method Name songs
Synopsis Returns a list of songs from the database
HTTP Method GET
URL http://api.deweymusic.org/songs
YQL ODT http://api.deweymusic.org/yql/songs.xml
Parameters
Name Required Default Type Example Description
n N 100 integer 100 Number of rows to return.
order N a character a
d
Order to return results in. Acccepts 'a' or 'd'
offset N 0 integer 100 Number to offset data by (for pagination).
download N character y or n Automatically downloads results.
title N string The Way It Used to Be (14:26) For finding a song with a specific name.
id N integer 3 For finding a song with a specific id. Unique.
album_id N string cornmeal2009-07-30.at835b.flac16 For finding a song from a specific album.
track N integer 3 For finding a format with a track number.
Example Result
								
<metadata>
  <song>
    <id>3</id>
    <album_id>cornmeal2009-07-30.at835b.flac16</album_id>
    <track>3</track>
    <title>The Way It Used to Be (14:26)</title>
  </song>
</metadata>