I don't know about Kayak's economics, but at least at Hipmunk we pay our data providers per search and it's really quite expensive. If they aren't offering an API anymore, it's probably because it was too pricey to operate.
You could easily cost a travel search company thousands of dollars very very quickly using an API they don't want you to use. I don't know if it's illegal or not, but it's certainly immoral.
How is using the API any different to using the website or app? Sounds like you need to move your access controls one layer down, into the API. If the app does rate limiting, the API should too/instead.
Take the github approach and let open source devs write innovative apps based on your open API!
The problem with any paid API is that the API consumer needs to make money somehow so that he can offer the price of the service.
How will the API consumer make money? I don't think Ads will generate enough revenue -- especially not on mobile.
Kayak will get some revenue from the bookings resulting from the searches, and would need to circle back some of this revenue back to the API consumer. This is technically complicated because it requires a lot of tracking infrastructure.
In the end, a service that would make sense is a lot more complicated than simply having an endpoint and saying it's X dollars per Y calls.
You could easily cost a travel search company thousands of dollars very very quickly using an API they don't want you to use. I don't know if it's illegal or not, but it's certainly immoral.