Ok, well google seems out for the moment on that particular feature, but it seems to me that this pricing feature of isbndb would still be quite useful. It easily allows the returned ISBNs to be ranked based on current availability. ISBNs being both new and in stock would be the most desirable as they would be most likely to have high quality covers along with useful things like access to reviews, ratings etc (not needed today but maybe in the future).
The GUI could put them at the top of the list and potentially format them in some way to indicate that those are preferred choices. New & in stock could have highest priority, in stock next, followed by ISBNs that return no availability info(google being in this latter category). I would be nice to have a checkbox or some option that allows the cover to automatically be retrieved when confirming the ISBN.
As far as the Amazon bit goes, figured out how to use the Amazon API effectively to solve that problem. Turns out that you need to have a developer ID to access the Amazon API, but that's free and trivially gotten. Forcing end users to sign up for that should theoretically leave any of the original poster's concerns about the license agreement to the end user and not to Calibre.
Once you have the developer ID you take the ISBN-10 and submit it to Amazon using the examples below:
This is a working example from a tutorial on kokogiak.com and uses authentication information published there:
Code:
http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&SubscriptionId=19267494ZR5A8E2CGPR2&AssociateTag=kokogiak7-20&IdType=ISBN&ItemId=0316038377&Operation=ItemLookup&ResponseGroup=Medium,ItemAttributes,OfferFull&SearchIndex=Books
The actual URL needed once a user signs up for a developer account looks like this (non-functioning example):
Code:
http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=<key_deleted>&IdType=ISBN&ItemId=0316038377&Operation=ItemLookup&ResponseGroup=Medium,ItemAttributes,OfferFull&SearchIndex=Books
Note that with the free developer account only the AWSAccessKeyId is required vs. AssociateTag & SubscriptionId in the working example URL.
The different bits of this are:
- AWSAccessKeyId=<key_here> - use ID provided by amazon after free signup, go to http://aws.amazon.com/ to sign up.
- IdType=ISBN - Set this to search by ISBN-10, though other options are possible
- ItemId=0316038377 - ISBN-10 here
- ResponseGroup=Medium - additional arguments possible as illustrated above, medium seems to cover the basic requirements
- SearchIndex=Books - search category required
Once that's submitted it spits back an xml file. One of the nodes is called '<LargeImage>', this is the full res image URL. There are other nodes with Editorial reviews and product descriptions as well. Using the Kokogiak credentials gave a bit of extra data, not sure if that's possible with a free account, but it's not critical for what we're discussing here.
Regarding Google, it appears that they have some ability to grab prices and availability, but I haven't been able to find anything in their public API documentation. Here's an example though:
http://books.google.com/books?id=MMlxzMNkE_0C