How can I looki up editions of a book using the Amazon Product Advertising API?
Asked Answered
U

5

7

Is there a way to look up the various editions of a book based on its ISBN using the Amazon Product Advertising API?

And, more generally, what are the various choices for looking up edition metadata on a book? Only one I know of for sure is the xISBN api from worldcat

On my site we have a "more editions" button for when people search for books.. so I'd be making a lot of queries (and cacheing them).

Unkind answered 4/9, 2010 at 21:6 Comment(0)
P
3

Take a look at https://sourceforge.net/projects/isbntools/files/latest/download. The command isbn editions ISBN will give you what you want...

If you are a developer you have https://pypi.python.org/pypi/isbntools.

Philps answered 2/4, 2014 at 12:19 Comment(1)
This is a very exciting project. Thanks for postingUnkind
E
4

You could use OCLC's xISBN API - give it an ISBN and it gives you a set of all ISBNs that are the same "work" - other editions, translations, etc. It will give you something like this:

<?xml version="1.0" encoding="UTF-8"?>
<rsp xmlns="http://worldcat.org/xid/isbn/" stat="ok">
    <isbn form="BA" year="2004" lang="eng" ed="2nd ed.">0596002815</isbn>
    <isbn form="BA DA" year="1999" lang="eng">1565928938</isbn>
    <isbn form="BA" year="1999" lang="eng" ed="1st ed.">1565924649</isbn>
</rsp>

Unfortunately, it is not free. Here is the pricing.

Ethnocentrism answered 16/9, 2010 at 7:33 Comment(2)
I've been using that one.. I'm wondering whether its possible through amazon and whether there are any other optionsUnkind
hm.. There is LibraryThing ThingISBN but it is available for non-commercial use only: librarything.com/blogs/thingology/2006/06/introducing-thingisbnEthnocentrism
P
3

Take a look at https://sourceforge.net/projects/isbntools/files/latest/download. The command isbn editions ISBN will give you what you want...

If you are a developer you have https://pypi.python.org/pypi/isbntools.

Philps answered 2/4, 2014 at 12:19 Comment(1)
This is a very exciting project. Thanks for postingUnkind
C
3

This question is old, but for the sake of completeness, I'll add that Amazon Product Advertising API does offer a way to look up other editions (and ISBN numbers) of a book, but this involves two ItemLookup queries:

  • a first query to get the ASIN of the parent item, that Amazon calls Authority Non Buyable; this is a virtual product that has no product page, and is just a container for children products.
  • a second query to list the child items of this parent.

Both queries must include the following parameters:

  • ResponseGroup=RelatedItems,ItemAttributes
  • RelationshipType=AuthorityTitle

The first query with an ISBN number would look like:

...&IdType=ISBN&ItemId=9780345803481

<RelatedItems>
    <Relationship>Parents</Relationship>
    <RelationshipType>AuthorityTitle</RelationshipType>
    <RelatedItemCount>1</RelatedItemCount>
    <RelatedItemPageCount>1</RelatedItemPageCount>
    <RelatedItemPage>1</RelatedItemPage>
    <RelatedItem>
        <Item>
            <ASIN>B0058NLWEC</ASIN>
            ...
        </Item>
    </RelatedItem>
</RelatedItems>

The second query is performed with the parent ASIN returned by the first query, B0058NLWEC:

...&IdType=ASIN&ItemId=B0058NLWEC

<RelatedItems>
    <Relationship>Children</Relationship>
    <RelationshipType>AuthorityTitle</RelationshipType>
    <RelatedItemCount>42</RelatedItemCount>
    <RelatedItemPageCount>5</RelatedItemPageCount>
    <RelatedItemPage>1</RelatedItemPage>
    <RelatedItem>
        <Item>
            <ASIN>1445026570</ASIN>
            <ItemAttributes>
                <EAN>9781445026572</EAN>
                <ISBN>1445026570</ISBN>
                ...
            </ItemAttributes>
            ...
        </Item>
    </RelatedItem>
    <RelatedItem>
        <Item>
            <ASIN>1471305015</ASIN>
            <ItemAttributes>
                <EAN>9781471305016</EAN>
                <ISBN>1471305015</ISBN>
                ...
            </ItemAttributes>
            ...
        </Item>
    </RelatedItem>
    ...
</RelatedItems>

This lists all editions of this book as known by Amazon: hardcover, paperback, Kindle, audiobook, ...

Chud answered 29/12, 2014 at 10:4 Comment(0)
A
2

The ISBN DB provides a remote access API that will return various meta data formatted as XML. From browsing entries on their website, some of the ISBN entries include edition information as well.

Check out this API sample response:

<?xml version="1.0" encoding="UTF-8"?>
<ISBNdb server_time="2005-07-29T03:02:22">
 <BookList total_results="1">
  <BookData book_id="paul_laurence_dunbar" isbn="0766013502">
   <Title>Paul Laurence Dunbar</Title>
   <TitleLong>Paul Laurence Dunbar: portrait of a poet</TitleLong>
   <AuthorsText>Catherine Reef</AuthorsText>
   <PublisherText publisher_id="enslow_publishers">
    Berkeley Heights, NJ: Enslow Publishers, c2000.
   </PublisherText>
   <Summary>
    A biography of the poet who faced racism and devoted himself
    to depicting the black experience in America.
   </Summary>
   <Notes>
    "Works by Paul Laurence Dunbar": p. 113-114.
    Includes bibliographical references (p. 124) and index.
   </Notes>
   <UrlsText></UrlsText>
   <AwardsText></AwardsText>
   <Prices>
    <Price store_id="alibris" is_in_stock="1" is_new="0"
           check_time="2005-07-29T01:18:18" price="14.92"/>
    <Price store_id="amazon" is_in_stock="1" is_new="1"
           check_time="2005-07-29T01:18:20" price="26.60" />
   </Prices>
  </BookData>
 </BookList>
</ISBNdb>

Also, here is specific documentation on attributes in 'books collection' response XML.

Antisepsis answered 15/9, 2010 at 18:55 Comment(2)
True, but the API provides everything necessary to solve this problem yourself. From briefly reading the documentation, data is organized into several different types of collections. You can just search the books collection for both title & author, making false positives unlikely. Unless of course the author has written multiple books on the topic... but even then, it should be a trivial task to weed them out.Antisepsis
/api/books.xml?access_key=Z&index1=combined&value1=book_title+by+author_nameAntisepsis
F
0

1) search with the title being same 2) Iterate over the response list (which should be of 5-10 results for most books, books with generic titles like say "Python Programming" will result in lot of results hence may not work out) 3) See difference in ISBN number + Published Date

I don't recall there being a direct api for the same.

Faith answered 14/9, 2010 at 10:21 Comment(1)
Title searches unfortunately give books from different edition groups. Looking for a direct API.Unkind

© 2022 - 2024 — McMap. All rights reserved.