I'm trying to use the eBay shopping API to try and retrieve the ISBNs from listings for books. I already have the eBay IDs for the listings which I'm interested in. Likely that most will have the ISBNs included in the Item Specifics for the listing (some won't, these can be disregarded). One would therefore assume that retrieving the Item Specifics from the API would give the ISBN as a value, but it appears that the output gives pretty much everything apart from the ISBN. For example, the following API request gives lots of interesting detail about the listing, apart from the ISBN itself:
http://open.api.ebay.com/shopping?callname=GetSingleItem&responseencoding=XML&appid=MYAPPID&siteid=1&version=897&ItemID=EBAYID&IncludeSelector=ItemSpecifics
I haven't had much joy searching the API docs for a solution to getting this particular element from the listing - does anybody have a solution for this? Or if it simply isn't possible to get the ISBN via the API cleanly, is there an alternative method? (This is for very small scale personal use.)
ISBN, UPC, EAN and suchlike come under the productID
field.
This field is returned by using the Details
value of IncludeSelector
. So the url you would want is:
http://open.api.ebay.com/shopping?callname=GetSingleItem&responseencoding=XML&appid=MYAPPID&siteid=1&version=897&ItemID=EBAYID&IncludeSelector=Details
http://developer.ebay.com/devzone/shopping/docs/CallRef/GetSingleItem.html#Response.Item.ProductID
EDIT:
To get the ISBN form a catalogue product you need to use the productID
value to make a request to the Product API.
You need to call getProductDetails
with the input:
<productDetailsRequest>
<productIdentifier>
<ePID>91515717</ePID>
</productIdentifier>
<datasetPropertyName>ISBN</datasetPropertyName>
</productDetailsRequest>
You can use ISBN10
or ISBN13
as the value of datasetPropertyName
depending on which one you want.
http://svcs.ebay.com/services/marketplacecatalog/ProductService/v1?OPERATION-NAME=getProductDetails&SECURITY-APPNAME=APPID&SERVICE-VERSION=1.3.0&productDetailsRequest.productIdentifier.ePID=REFERENCE&productDetailsRequest.datasetPropertyName=ISBN
http://developer.ebay.com/DevZone/product/CallRef/getProductDetails.html