Interested in getting faster response times from the Oodle API? Here are some performance tips:
- Set a 'category' on your API request.
This is -- by far -- the single best thing you can do to ensure a fast response time from the Oodle API. This is due to the way the Oodle search infrastructure is organized. In short, each of our verticals (Housing For Sale, Housing For Rent, Vehicles, Pets, Tickets, etc.) is organized into a separate cluster of search machines.
If you set a value for 'category' -- even a top level value such as "vehicle", "job", or "service" -- we are able to immediately direct your query into the appropriate search index. Results will be returned quickly. On the other hand, if you don't set a value for 'category', we take your query and send it out to all of the search clusters. This is a more expensive process.
- The default output format is XML. But choose a different one if you can.
While XML is a great starting point to get familiar with the API, it turns out that encoding data into XML format is just an expensive process, period. If you've got performance concerns, you should try using one of the alternate output formats (e.g. JSON, Serialized PHP, etc.).
Our internal API performance data shows that encoding 25 listings to XML typically eats up 200-250ms. Encoding those same listings to JSON occurs in less than 10ms. The difference is dramatic. Save yourself the quarter second if you can. Choose one of the other output formats and the data will get back to you more quickly.
- Don't ask for refinements if you don't need them.
By default, navigational refinement information is not returned in the API response. It's only returned if you ask for it via the 'refinements' parameter. That data is very rich and allows you to execute a very powerful search experience for your users. But if you don't need that data, make sure you're not asking for it, since it adds quite a bit of size to the API repsonse.