Kayak Scraper is a free and open-source scraper that gets you unlimited detailed Kayak data for free.
- 🏨 Full details on 2M+ hotels & stays — stars, rating, address, phone, amenities, photos, policies & FAQs
- 💰 Room rates from hundreds of booking sites — nightly & total price per site, room type, beds & the cheapest deal
- ⭐ Millions of verified guest reviews — score, full text, pros & cons, source site & an AI summary
- 📉 12 months of price history — cheapest time to book, cheapest month & weekday, seasons & nearby deals
{
"id": "64677",
"name": "Bellagio, a Luxury Collection Resort & Casino, Las Vegas",
"link": "https://www.kayak.com/Las-Vegas-Hotels-Bellagio.64677.ksp",
"classification": {"code": "resort", "name": "Resort"},
"stars": 5,
"description": "Inspired by Lake Como, Bellagio, a Luxury Collection Resort & Casino, Las Vegas overlooks a Mediterranean-blue lake with fountains performing a...",
"phone": "+1 702 693 7111",
"address": {
"street": "3600 Las Vegas Boulevard South",
"city": "Las Vegas",
"region": "Nevada",
"postal_code": "89109"
},
"latest_price": {"amount": 153.01, "currency": "USD"},
"rating": {"score": 8.6, "best_score": 10, "review_count": 12130},
"reviews": {
"review_count_by_traveller_type": {"solo": 376, "couples": 1863, "families": 657, "friends": 545},
"pros": [{"text": "Perfect view and awesome location.", "count": 177}],
"ai_summary": "Guests consistently praised the hotel's central location, spacious and comfortable rooms, and helpful staff. Many enjoyed the amenities...",
"by_source": [{"source": {"name": "Booking.com"}, "review_count": 3185, "average_score": 8.6}]
},
"amenities": {"count": 123, "top": ["Outdoor pool", "Fitness center", "Restaurant", "Bar/Lounge", "Room service"]},
"nearby_places": [{"name": "Caesars Palace", "distance": "0.3 mi"}],
"photos_count": 60,
"rate_providers_count": 25
}Trimmed for readability.
1️⃣ Clone and install:
git clone https://github.com/omkarcloud/kayak-scraper
cd kayak-scraper
python -m pip install -r requirements.txt2️⃣ Start the API:
python run.py3️⃣ Get your first data:
curl "http://localhost:8000/hotels/details?hotel=64677"{
"id": "64677",
"name": "Bellagio, a Luxury Collection Resort & Casino, Las Vegas",
"link": "https://www.kayak.com/Las-Vegas-Hotels-Bellagio.64677.ksp",
"stars": 5,
"phone": "+1 702 693 7111",
"address": {
"street": "3600 Las Vegas Boulevard South",
"city": "Las Vegas",
"region": "Nevada",
"postal_code": "89109"
},
"latest_price": {"amount": 153.01, "currency": "USD"},
"rating": {"score": 8.6, "best_score": 10, "review_count": 12130},
"reviews": {
"score": 8.6,
"review_count": 12130,
"pros": [{"text": "Perfect view and awesome location.", "count": 177}]
},
"amenities": {"count": 123, "top": ["Outdoor pool", "Fitness center", "Restaurant", "Bar/Lounge"]},
"photos_count": 60,
"rate_providers_count": 25
}All 6 endpoints are now live at http://localhost:8000.
6 endpoints cover everything you need.
| Endpoint | Path | Returns |
|---|---|---|
| Hotel Details | /hotels/details |
Stars, rating, amenities, photos, policies, review summary and FAQs |
| Search Locations | /locations/search |
Cities, airports, landmarks and hotels with their KAYAK IDs |
| Hotel Rates | /hotels/rates |
Room prices on every booking site KAYAK lists for the hotel |
| Hotel Reviews | /hotels/reviews |
Guest reviews with score, text, pros and cons, 10 per page |
| Hotel Price Insights | /hotels/price-insights |
Cheapest time to book, cheapest month and weekday, seasons |
| Nearby Hotels | /hotels/nearby |
Closest, cheapest and most recommended hotels around it |
The same API is published on RapidAPI, and its playground is the easiest place to try parameters and see raw responses. Once a request looks right, run it locally for unlimited free data.
- Subscribe to the free plan — 1,000 calls/month, no credit card.
- Try the endpoints in the playground — every param is pre-filled, so you see real data in one click.
- Copy the generated code and replace
https://best-kayak-scraper-free-1000-calls.p.rapidapi.comwithhttp://localhost:8000. It will now run against your local API.
import requests
# generated by the playground, host swapped for the local API
response = requests.get(
"http://localhost:8000/hotels/reviews",
params={"hotel": "64677", "traveller_type": "couples", "min_score": 9},
)
print(response.json())You're a developer — we know how hard completing a project can be. So we offer full support: just message us and we'll reply ✅ with a solution within 1 working day.
- Google Maps Scraper (3,100+ GitHub Stars) — type "dentists in New York", get every business as a ready-to-call lead list: phones, emails, websites & reviews. Up to 100K free leads/month.
- G2 Scraper — G2 product details, ratings & AI-found contacts
- Website Email Contact Scraper — emails, phones & socials from any website
- AliExpress Scraper — live product details, SKU variants, stock & shipping
- Booking Scraper — Booking.com hotels: prices, ratings, rooms & amenities
- Kiwi Com Scraper — Kiwi.com flights: live fares, bag fees, self-transfer deals & price calendars
- Waze Scraper — live Waze traffic jams, road closures, driving routes with tolls & places
⭐ Love It? Star It ⭐!
Star the repo ⭐ and become my star hero!
It's just 1 click, but it means the world to me.


