Em minha pesquisa por APIs de hotel, encontrei apenas uma API que dá acesso aberto e irrestrito ao banco de dados do hotel e permite que você reserve seus hotéis:
EAN da Expedia http://developer.ean.com/
Você precisa se inscrever no programa de afiliados, o que é muito fácil. Você obtém acesso imediato aos bancos de dados dos hotéis e pode fazer solicitações de disponibilidade / reserva com várias opções de resposta, incluindo JSON, que é mais conveniente e leve do que o (infelizmente) XML mais difundido.
Ao acessar imediatamente sua API, você pode começar a desenvolver e testar, mas ainda precisa da aprovação deles para lançar o site, basicamente para garantir que ele oferece a qualidade e segurança necessárias, o que é razoável.
Eles também oferecem "links diretos", ou seja, você pode personalizar suas solicitações adicionando parâmetros. Então, se for suficiente para o seu propósito (para o meu não é), você nem precisa armazenar o conteúdo deles em seu servidor.
Eu também me inscrevi no programa HotelsCombined: (link removido porque este site não parece me permitir colocar mais links)
No entanto, eles não permitem que você use sua API imediatamente, mesmo para testes. De sua resposta:
"Pedimos desculpas pelo inconveniente causado, mas é simplesmente uma decisão de negócios limitar o acesso ao nosso rico conteúdo de hotel. Por favor, verifique novamente nos próximos 2 a 3 meses, onde poderemos avaliar seu tráfego e, por sua vez, avaliar seu status em feeds de dados padrão. "
Eu também assinei o programa de afiliados do Booking.com: (link removido porque este site não parece me permitir colocar mais links)
Infelizmente, mais uma vez, eles limitam o acesso, a partir de sua resposta: "Observe que, como há uma grande quantidade de tempo e custo envolvidos na integração XML, só podemos oferecer a integração XML a uma pequena quantidade de parceiros com um alto potencial."
Eu não explorei o Tripadvisor, pois eles parecem oferecer apenas os 10 melhores hotéis e apenas como widgets, mas o mais importante para mim, eles não permitiriam reservas através deles.
Verifiquei o hotelbase.org mencionado acima, eles têm uma lista muito extensa, mas não tão rica quanto a da Expedia, também parecem não ter imagens e também não permitem reservas.