Are there any good APIs to search for books via ISBN? [closed]
Asked Answered
Q

2

24

I am working on an iOS app and I have a list of ISBNs. I want to pull up book cover image, title, author, and other nice-to-haves if available, like reviews, price, etc. I tried using the Google Books API, but newer books are not listed in their service. I need a service that has up-to-date ISBNs, particularly for University textbooks in the United States.

For example, the following ISBN returns 0 results via the Google Books API (and others I tried): https://www.googleapis.com/books/v1/volumes?q=isbn:9780134092669

But a book does exist with that ISBN: http://www.isbnsearch.org/isbn/9780134092669

My question is: are there any good APIs that I can use, free or otherwise, to search for books via ISBN? The only thing I can find is the Amazon Product Advertising API, which is complete overkill.

Quartzite answered 23/11, 2016 at 18:16 Comment(2)
You can try manubot cite isbn:9780134092669 --log-level CRITICAL. It is a python utility that will attempt several APIs to find an ISBN. Check github.com/manubot/manubot. It retrieves bibliographic information.Reunion
Did you figure it out? Because I am having trouble also finding a good API. Google returns unrelated books.Muscatel
G
7

ISBN query will work. You are not encoding the query string.

Use encodeURIComponent to encode your search string. Or just use %3D equivalent for =

Try this. Notice there is no : character and no = for the value of the q

https://www.googleapis.com/books/v1/volumes?q=isbn%3D9780134092669&key={YOUR_API_KEY}

I am getting

 "volumeInfo": {
    "title": "Computer Systems",
    "subtitle": "A Programmer's Perspective",
    "authors": [
     "Randal E. Bryant",
     "David R. O'Hallaron"
    ],

Source https://developers.google.com/books/docs/v1/reference/volumes/list

User Try Me link and you will get the URL.

Gregorygregrory answered 23/11, 2016 at 18:27 Comment(2)
I don't need to encode the search string as I don't need to use the '=' sign after the isbn keyword. See: developers.google.com/books/docs/v1/using#PerformingSearch Regardless, it doesn't work. The example you provide returns 657 results, none of which are the book I want. The top result is for the 2nd Edition of the book, not the 3rd Edition.Quartzite
You are right. isbn is not a field - I changed isbn to identifier but getting 2nd edition and an unrellated book https://www.googleapis.com/books/v1/volumes?q=identifier%3D9780134092669Gregorygregrory
D
0

Try Worldcat. For instance this url "http://xisbn.worldcat.org/webservices/xid/isbn/0596002815?method=getMetadata&format=xml&fl=*" returns this xml:

<?xml version="1.0" encoding="UTF-8"?>  
<rsp xmlns="http://worldcat.org/xid/isbn/" stat="ok">
    <isbn   oclcnum="177669176 222927677 249274099 253402825 301161087  
438280230 442197411 464709193 492988633 54619668 55847258
614957020 644729085 760707144 772683553 802989466 850841661 851226517
875412584" lccn="2004273129" form="BA DA" year="2003" lang="eng"
ed="2nd ed." title="Learning Python"  author="by Mark Lutz and David
Ascher."  publisher="O&#39;Reilly"  city="Sebastopol, CA"   
url="http://www.worldcat.org/oclc/177669176?referer=xid">0596002815</isbn>
</rsp>

Replace 0596002815 with the ISBN you are looking for. See http://xisbn.worldcat.org/xisbnadmin/doc/api.htm for details.

Dabney answered 24/3, 2018 at 17:18 Comment(1)
Deactivated on 2018-Jul-01: oclc.org/developer/news/2018/xid-decommission.en.htmlTristich

© 2022 - 2024 — McMap. All rights reserved.