eBay's API findItemsByProduct operation would work on UPC and EAN. But unfortunately it is not working.
The below HTTP GET request for example, throws an "Invalid product ID value." [error 41] http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=MY-APP-ID-GOES-HERE&OPERATION-NAME=findItemsByProduct&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=XML&REST-PAYLOAD&productId.@type=EAN&productId=0016000275270&paginationInput.entriesPerPage=3
Note: Please replace the SECURITY-APPNAME's value with your eBay's free APP-ID. I've replaced it with MY-APP-ID-GOES-HERE for obvious reasons. eBay's API for the above function can be found here: http://developer.ebay.com/DevZone/finding/CallRef/findItemsByProduct.html#findItemsByProduct
The output is:
<findItemsByProductResponse xmlns="http://www.ebay.com/marketplace/search/v1/services">
<ack>Failure</ack>
<errorMessage>
<error>
<errorId>41</errorId>
<domain>Marketplace</domain>
<severity>Error</severity>
<category>Request</category>
<message>Invalid product ID value.</message>
<subdomain>Search</subdomain>
<parameter>0016000275270</parameter>
</error>
</errorMessage>
<version>1.12.0</version>
<timestamp>2014-03-11T18:38:13.543Z</timestamp>
</findItemsByProductResponse>
Could somebody spot any mistake with above call? Thanks.
FWIW, 0016000275270 is a valid bar code http://www.upcdatabase.com/item/0016000275270