News & Updates
API Changes: Oodle International locations
Just wanted to let everyone know that due to changes in Oodle's business, we have turned off the distribution of international locations.
As of January 1, 2013, Oodle has shutdown all international websites and locations for distribution, searching, and posting. Going forward, Oodle continues to distribute classifieds for US-based locations only.
Who is Affected - Who is Not Affected?
Anyone can still request an API Key.
API Distributors whose websites are based outside the US won't be able to pull any listing data for locations outside the USA.
API Distributors with websites inside the US are not affected by this change.
You can read our latest Oodle blog entry for more information: http://blog.oodle.com/blog/2012/12/05/oodle-joins-the-qvc-family/
API Changes: Requests with Empty Category
Hey, everybody. Steve Baker here from the API team at Oodle. I want to tell you about some changes we're making to how we handle a particular type of Oodle API request.Effective immediately, we have made some changes to how API v1 and API v2 handle requests that come in without a 'category' set.
Who Is Affected, Who Is Not Affected
If your Oodle API requests include a "category" value, you are not affected at all. Nothing has changed one bit for you. :-)If you're an API user whose application does not send us a category on your API requests, however, you may be affected. You should know about these changes.
What's Changing? Requests With Empty Category
- If you send us a request without a category, you must now include a keyword ('q').
- Also, the start of your result set must be result #500 or less.
Another way to think about this is:
- Every request to the Oodle API must include either a category OR a keyword. (Or both. That's fine, too!)
- If you send us a category, you can page through lots and lots of results.
If you don't send a category, you are limited to how deep you can go.
Why Are You Doing This?
The short version is that a single API user was overloading our systems with the very type of queries we're now limiting. Here's the full story. I'll take you behind the scenes.This past Tuesday morning, during our launch of the new Facebook Marketplace, we noticed that our service was not as snappy as we're used to. At first glance, this seemed strange, since it was around Midnight, which is usually a relatively low-traffic period for us (and most sites). Upon further inspection, we discovered that a single API key was using an automated script to download hundreds of thousands of listings deep into our search result set. And they were using a specific type of query that -- unbeknownst to them -- is particularly expensive for us to process. Oodle.com, our Oodle partner sites, and the Oodle API were all still up and functional - but the quality of service and the response times on those properties were negatively affected. We had to act.
At Oodle, we've long known that API requests with no category are the most expensive for us to process. (For technical reasons beyond the scope of this blog post.)Still, we support those "no category" requests because we know there are a lot of you that want to power a very general classifieds search box, with no requirement that your users first provide a category. Makes sense. But things get taken to the next level of cost when:
- No keyword is provided
- You ask for results past the first page
Multiply all of that by an automated script doing it over and over and it gets a little ridiculous. After we discovered it, we immediately put into place some new limits on "no category" API requests.
Couldn't You Have Just Shut These Folks Off?
Sure. And I knew that's what you were thinking. :-) But no, we didn't. That's just not how we roll! That's a last resort, never a first resort.We take immense pride in running a very open API and we're excited to help power all new classifieds applications. We just need to keep some bounds on the queries that are most expensive.
And It Worked
As expected, with the new limits in place, performance the next night returned to normal. No spikes. In fact, our logs show that average time per query has actually improved significantly since these limitations were put in place.Bottom line? We understand that these new rules will cause an inconvenience to a few of you, but they are already resulting in a great improvement to the rest of the Oodle network.
To repeat, if you send us a category on your API rqeuests, nothing has changed for you.And if you don't send us a category, you can still make just about any request. But we're now going to require you to at least send us a keyword on the "no category" requests. And we're only going to allow you to pick up the first 500 results of a "no category" request. We typically roll out such changes gradually, but when core pieces of infrastructure are impacted, we have to move quickly. These changes will lead to a more reliable, and more stable API service for you, your application, and your users. Thanks for reading!