On 08-Nov-2010, at 9:06 AM, Jonathan Rochkind wrote: > I think the answer is, there is another API, the "REST" one, but it won't > even tell me _anything_ about whether digitized copies are available? > > http://openlibrary.org/books/OL6511983M.json > > My suggestion is still that I think discovering online copies at the IA is > one of the most attractive use cases for the OL/IA, and I'd encourage you to > provide for the API to support it. > > I'm beginning to have deja vu, I think maybe we've had this same conversation > before a year or two ago? > > My use case: Using _some_ simple OL/IA api, look up a book by isbn, lccn, or > any other identifying numbers you may have. If I get a hit in the OL > database, find out easily from the API if online versions are avaialable at > the IA, and if so what URL they can be accessed at. > > While this information is available on the HTML OL page for an edition, I > believe maybe there's no way to get it from an API at all? I guess I could > find the OL identifier from the API, and then screen-scrape the HTML?
I've extended the OL Books API to support this. (running on my dev server right now) $ curl -s 'http://anand.openlibrary.org/api/books?bibkeys=OL22336175M,OL24218576M,OL1114172M&format=json' | rejson { "OL24218576M": { "bib_key": "OL24218576M", "preview": "borrow", "thumbnail_url": "http://covers.openlibrary.org/b/id/6558913-S.jpg", "preview_url": "http://www.archive.org/details/romanceonthreele00hafnrich", "info_url": "http://anand.openlibrary.org/books/OL24218576M/A_romance_on_three_legs" }, "OL22336175M": { "bib_key": "OL22336175M", "preview": "full", "thumbnail_url": "http://covers.openlibrary.org/b/id/6465002-S.jpg", "preview_url": "http://www.archive.org/details/adventuresoftoms20twai", "info_url": "http://anand.openlibrary.org/books/OL22336175M/The_Adventures_of_Tom_Sawyer" }, "OL1114172M": { "bib_key": "OL1114172M", "preview": "restricted", "thumbnail_url": "http://covers.openlibrary.org/b/id/6599977-S.jpg", "preview_url": "http://www.archive.org/details/pastaperfect00sant", "info_url": "http://anand.openlibrary.org/books/OL1114172M/Pasta_perfect." } } The value of "preview" is: full - when the book is available for reading borrow - when the book is available to borrow from openlibrary restricted - when the book is available only to printdisabled. with jscmd=data, the API provides a lot more info. $ curl -s 'http://anand.openlibrary.org/api/books?bibkeys=OL22336175M,OL24218576M,OL1114172M&format=json&jscmd=data' { "OL24218576M": { "title": "A romance on three legs", "url": "http://anand.openlibrary.org/books/OL24218576M/A_romance_on_three_legs", "key": "/books/OL24218576M", ... "ebooks": [ { "borrow_url": "http://openlibrary.org/books/OL24218576M/A_romance_on_three_legs/borrow", "availability": "borrow", "preview_url": "http://www.archive.org/details/romanceonthreele00hafnrich", "formats": { "djvu": { "url": "http://www.archive.org/download/romanceonthreele00hafnrich/romanceonthreele00hafnrich.djvu", "permission": "restricted" } } } ] }, "OL22336175M": { "title": "The Adventures of Tom Sawyer", "url": "http://anand.openlibrary.org/books/OL22336175M/The_Adventures_of_Tom_Sawyer", "key": "/books/OL22336175M", "ebooks": [ { "availability": "full", "preview_url": "http://www.archive.org/details/adventuresoftoms20twai", "read_url": "http://www.archive.org/stream/adventuresoftoms20twai", "formats": { "pdf": { "url": "http://www.archive.org/download/adventuresoftoms20twai/adventuresoftoms20twai.pdf" }, "djvu": { "url": "http://www.archive.org/download/adventuresoftoms20twai/adventuresoftoms20twai.djvu", "permission": "open" }, "epub": { "url": "http://www.archive.org/download/adventuresoftoms20twai/adventuresoftoms20twai.epub" }, "text": { "url": "http://www.archive.org/download/adventuresoftoms20twai/adventuresoftoms20twai_djvu.txt" } } } ] }, "OL1114172M": { "title": "Pasta perfect.", "url": "http://anand.openlibrary.org/books/OL1114172M/Pasta_perfect.", "key": "/books/OL1114172M", ... "ebooks": [ { "availability": "restricted", "preview_url": "http://www.archive.org/details/pastaperfect00sant", "formats": { "djvu": { "url": "http://www.archive.org/download/pastaperfect00sant/pastaperfect00sant.djvu", "permission": "restricted" } } } ] } } When the availability is full, read_url and available formats are provided. When the availability is borrow, borrow_url is provided. Sometimes the daisy file is not openly available. That can be found by looking at the permission field. Please let me know if you have any comments or suggestions. Anand _______________________________________________ Ol-tech mailing list [email protected] http://mail.archive.org/cgi-bin/mailman/listinfo/ol-tech To unsubscribe from this mailing list, send email to [email protected]
