I’ve been researching Amazon’s new XML interface. Briefly, it allows you to search Amazon’s database by keyword or browse by category. Queries are done over standard HTTP with query parameters in the URL (this is called REST, for “Representational State Transfer”). Results are returned in an Amazon-defined XML format, which the client must parse.
Public documentation is scarce, but this is what I could find:
There has been some discussion as to whether REST or SOAP is a better web services API. This is a pointless debate at this point because it is completely overshadowed by all the other things that Amazon is doing wrong:
- The real documentation is only available to Amazon associates. The real documentation includes useful things like the DTD for the returned data (root element “catalog” contains keyword, product_group, category, sub_category, product; “product” contains ranking, title, asin, author, image, release_date, binding, rating, availability, director, tagged_url) and the list of the available “modes” for searching (books, magazines, music, classical, vhs, dvd, toys, baby, videogames, electronics, software, tools, garden, kitchen, photo, pc-hardware).
- The XML interface can only be used by Amazon associates; your associate ID is one of the required parameters on every call. Becoming an Amazon associate requires name, address, telephone number, and social security number. Compare with Google: How do I get access to the Google Web APIs service:
You must first agree to the terms and conditions of the Google Web APIs service and create a Google Account…
which only requires a valid email address.
- The XML interface can only be used to build advertising links on associate web sites. Quoting Amazon’s What are the rules for using Amazon.com XML? page: “Using Amazon.com product data for non-Associates program related business is not appropriate.” Compare with Google: What applications can I create using Google Web APIs:
That’s totally up to you and your creative genius.
- Associates may only request data once every 24 hours. Compare with Google: How many queries can I issue from my computer programs:
Google provides each developer who registers to use the Google Web APIs service a limit of 1,000 queries per day.
(Later: there is some confusion about this point, due to ambiguous wording. Amazon may simply be saying that you should re-run your queries every 24 hours. Will investigate.)
- Associates only earn 5% on XML-based referrals, instead of the usual 15%. Again quoting Amazon’s rules page: “Use the link provided by the XML document. This link will automatically contain your Associates ID code and an XML signifier that will help us track which sales are coming through XML links.” What they don’t tell you is that the link also signifies a lower referral rate.
- Michael Bernstein:
The single most important piece of info about an item, it’s sales rank, is not included in the results. Instead, the ‘ranking’ data only reflects the sorting order of the query results.
I was considering writing a Python wrapper for Amazon’s XML interface, but now I don’t think I’ll bother.
§
Respond privately
I am no longer accepting public comments on this post, but you can use this form to contact me privately. (Your message will not be published.)
§