There are several reasons.<p>1. The general pattern of an aggregation service only covering the lowest common denominator features among what it aggregates.<p>2. I&#x27;m not sure of Kayak&#x27;s terms specifically but accessing via third party aggregator API vs. direct API can affect who gets credit for the referral (i.e., $$$).<p>3. At the aggregator level, _someone_ has to write the glue code for all of the services.  See IFTTT for an example of this.  This is a good foreshadow of the problems here by analogy to IFTTT [1].<p>4. &quot;Just slap together an SPA that calls the same aggregation service, and prefill it with the recognized query.&quot; Who&#x27;s going to build the SPA?  For each service vertical?  For each company?<p>[1]: <a href="https:&#x2F;&#x2F;blog.pinboard.in&#x2F;2016&#x2F;03&#x2F;my_heroic_and_lazy_stand_against_ifttt&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.pinboard.in&#x2F;2016&#x2F;03&#x2F;my_heroic_and_lazy_stand_ag...</a>