At the Forge - eBay Web Services
eBay's API, particularly for SOAP and XML, is rich and extensive. This is in addition to the simple, but limited, REST API that we used for the example in Listing 1. However, eBay's tagging of metadata, or information about each listing, is rather limited, especially when compared with Amazon. Perhaps this is because of the difference between the two sites. Amazon, as a vendor with inventory, knows and can pull up information about each item's dimensions, weight and ISBN. By contrast, eBay's only real information about each sold item is its categorization, asking price (and bidding information) and the text used to describe it.
There is a provision in the SOAP and XML APIs to look for items by ExternalProductID, which can be an ISBN or UPC. But when it comes to metadata describing each object, Amazon has beaten eBay hands down.
Amazon also is friendlier when it comes to registration and usage. Amazon makes it easy to register and easy to get started. Its forums are full of friendly people with useful advice. And, it sets relatively straightforward rules of use for its data.
eBay also differs from Amazon in how many queries it allows an application to make. Amazon doesn't restrict the number of queries, except by saying there should be no more than one per second, per IP address. eBay, by contrast, has a 10,000-query limit for each application. However, this limit can be raised substantially if you go through a more thorough certification process, giving eBay more information about your application, how it works and how you intend to use it.
The companies also differ in how many results they return. Each page from eBay contains up to 400 items, as opposed to Amazon's ten. In both cases, you can request subsequent “pages” of data, until you get information about all of the listings that matched your query. In this case, eBay's larger format is a significant improvement for people looking for popular items that might be available from many sellers.
Finally, eBay offers a dashboard showing which calls you have made and which were not compliant with its compatibility rules. This is an excellent feature—especially the part where it tracks how many queries succeeded and failed. I don't expect many of my REST queries to fail after I have debugged them, but it's possible that this could happen.
The bottom line is that I'm far more impressed with everything having to do with Amazon's Web services. eBay clearly is trying to improve things, with extensive documentation, developer forums and a help desk offering paid support. Nevertheless, it remains far inferior to what Amazon is offering. And, although they are not directly comparable, they also are inferior to Google's offerings in the Web services arena.
That said, eBay is a major player in the e-commerce world, and access to its data might well be worth the pain you encounter in using it. Plus, once you have gotten over the registration hurdles, you likely will be using only a handful of API calls, with minor tweaks and changes over time.
eBay's recent changes to its developer program are a welcome step forward. With three interfaces (SOAP, XML and REST) and an extensive set of methods available for developers to use, it's possible to glean all sorts of data from eBay's stores and auctions. Unfortunately, this all comes with a price; with less metadata and an unnecessarily confusing registration process, eBay's offering is far less impressive than it could be.
Resources for this article: /article/9066.
Reuven M. Lerner, a longtime Web/database consultant, is currently a PhD student in Learning Sciences at Northwestern University in Evanston, Illinois. He and his wife recently celebrated the birth of their son Amotz David.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- RSS Feeds
- Validate an E-Mail Address with PHP, the Right Way
- Readers' Choice Awards
- Tech Tip: Really Simple HTTP Server with Python
1 min 33 sec ago
- Reply to comment | Linux Journal
33 min 55 sec ago
- All the articles you talked
2 hours 57 min ago
- All the articles you talked
3 hours 39 sec ago
- All the articles you talked
3 hours 1 min ago
7 hours 26 min ago
- Keeping track of IP address
9 hours 17 min ago
- Roll your own dynamic dns
14 hours 31 min ago
- Please correct the URL for Salt Stack's web site
17 hours 42 min ago
- Android is Linux -- why no better inter-operation
19 hours 57 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?