We've made a pretty major change to the search API this week, slated for release next Thursday. Actually, it's not so much a change to the API as it is a change to kayak.com itself, and the API is just a victim of this.
The short story is that in order to expand our scale by 50-100% on our front-end processors, we now "lock" interim search results to a single front-end processors. These units are called "sparkles," for reasons that are too silly to explain. This is bad news for you, the developer, in the short term because you will have to change your code; but in the long run it's good, because we'll be able to handle much bigger volume than the 300,000 searches/day we handle right now. (Without buying zillions more servers.)
So, before you would make http calls like this:
/k/ident/apisession...
/s/apisearch...
/s/apibasic/flight...
/s/apibasic/flight...
/s/apibasic/flight...
etc.
But after thursday, it will be:
/k/ident/apisession...
/s/apisearch...
/s/apibasic/flight...
(this returns "-sparkle27" in the "searchinstance" xml tag)
/s-sparkle27/apibasic/flight...
/s-sparkle27/apibasic/flight...
/s-sparkle27/apibasic/flight...
etc.
Clear as mud? Good.
If you have any questions, drop me an email. billo at kayak daught com