Kayak Hotel Price Scraper avatar

Kayak Hotel Price Scraper

Pricing

from $15.99 / 1,000 result items

Go to Apify Store
Kayak Hotel Price Scraper

Kayak Hotel Price Scraper

Scrapes hotel listings from Kayak (aggregating Booking.com, Expedia, Hotels.com, Agoda, Priceline) to extract nightly rates, availability, room types, and competitor pricing for any city or market.

Pricing

from $15.99 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Apify Partner

Actor stats

0

Bookmarked

37

Total users

1

Monthly active users

5 hours ago

Last modified

Share

ParseForge

Kayak Hotel Price Scraper

Scrape hotel prices from Kayak for any city, check-in date, and length of stay. Each result includes the nightly rate, provider name, star rating, guest score, and amenity flags. Export to CSV, JSON, Excel, or XML.

Kayak's hotel search aggregates rates from hundreds of booking sites, but manually comparing them across dates and cities is slow. This Actor reads the live hotel listings for a location slug or ID, a date range, and guest count, then returns every match in a flat, structured row. It runs on residential proxies so the data reflects what a real traveler sees.

Who uses itWhat they scrape Kayak for
Revenue managersMonitor competitor nightly rates for their city over the next 30 days.
Travel agenciesBuild a live feed of hotel prices and availability for a destination page.
Market analystsTrack pricing trends across hotel tiers and booking providers by season.
Affiliate publishersPopulate hotel comparison tables with current rates and guest scores.

What it does

This Actor collects Kayak hotel listings by city, check-in and check-out dates, and guest count, and returns each hotel as a flat row with its price, provider, rating, and amenities.

  • 🏨 Provider-level pricing: See which OTA or direct site offers the lowest rate for each hotel.
  • ⭐ Quality filters: Narrow results by minimum star rating, guest rating, property type, free breakfast, or free cancellation.
  • 📅 Date-driven search: Set any check-in and check-out window; defaults to a 2-night stay one week out.
  • 🌐 Residential proxies built in: The Actor uses Apify residential proxies so Kayak returns real, geo-accurate prices.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Kayak data

📊 Monitor competitor rates.

A revenue manager runs the Actor daily for their city and date range to see how competing hotels price the same nights across OTAs.

🛫 Power a travel search page.

A travel agency feeds the Actor's output into their website to show live Kayak hotel prices for a destination without building their own scraper.

📈 Analyze seasonal pricing trends.

A market analyst collects hotel prices for a city every week over six months to model how rates move around holidays and events.

🏷️ Build affiliate comparison tables.

A publisher scrapes hotels by guest rating and free breakfast to populate a 'best family hotels' table with current rates.

Why choose this scraper

What you get
Nightly rateThe best available price Kayak found, per provider
Provider nameWhich booking site or hotel chain offers that rate
Guest ratingKayak's aggregate review score out of 10
Star ratingOfficial hotel class, filterable from 1 to 5
Amenity flagsFree breakfast, free cancellation, and property type

How it compares

This Actor scrapes Kayak hotel prices, while the competitors below target Agoda hotels or Kayak flights. They serve different data sources or travel verticals, so the feature comparison reflects what each listing states it delivers.

FeatureParseForgeFast Agoda ScraperKayak Flights Scraper
Scrapes Kayak hotel pricesYesNot listedNot listed
Filters by star ratingYesNot listedNot listed
Filters by guest ratingYesNot listedNot listed
Filters by free breakfastYesNot listedNot listed
Filters by free cancellationYesNot listedNot listed
Built-in residential proxiesYesNot listedNot listed

Configure the run

Drive the Actor with a Kayak location slug or numeric location ID, a date range, and guest count. Optional filters for star rating, guest score, property type, free breakfast, and free cancellation run as each hotel is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"locationSlug": "New-York,NY,United-States-c28573",
"locationId": "28573",
"maxItems": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

A larger pull:

{
"locationSlug": "New-York,NY,United-States-c28573",
"locationId": "28573",
"maxItems": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

Pricing

Pay-per-result: $0.02134 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$2.13
1,000 results$21.34
10,000 results$213.40

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Kayak Hotel Price Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Kayak through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/hotel-booking-sites-direct-hotel-websites-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your location slug or ID is valid by searching Kayak.com directly. Also try removing optional filters like min star rating or free breakfast, as they may be too restrictive for that city and date range.

The Actor returns fewer hotels than I see on Kayak's website.

Kayak paginates results and may show different counts based on your IP location. Ensure residential proxies are enabled. You can also increase the maxItems value if you are on a paid plan.

I get a proxy or connection error.

Kayak blocks datacenter IPs. Make sure your proxy configuration is set to use Apify residential proxies. If the error persists, try rerunning; residential proxy pools rotate automatically.

The prices in the output don't match what I see on Kayak.

Kayak prices are dynamic and can change between the moment the Actor scrapes them and when you view the site. Also confirm your check-in and check-out dates match exactly, as rates vary by night.

My location slug format is rejected.

Use the exact format from a Kayak hotel search URL: City,State,Country-cLocationID. For example, 'Miami,FL,United-States-c19321'. The numeric location ID field is an alternative if you only have the ID.

FAQ

QuestionAnswer
How do I find the Kayak location slug or ID for a city?Search for a city on Kayak.com and look at the URL. The slug is the part after '/hotels/' and before the dates, for example 'New-York,NY,United-States-c28573'. The numeric ID is the number after the 'c' at the end of the slug.
Can I scrape hotels for multiple cities in one run?The Actor accepts one location per run. To scrape multiple cities, run the Actor once per city, either sequentially or in parallel using an Apify task or workflow.
Does this Actor scrape all available dates or the ones I set?It scrapes only the check-in and check-out dates you provide. If you leave them empty, it defaults to a 2-night stay starting 7 days from today.
Why do I need residential proxies for Kayak?Kayak serves different prices and availability based on the visitor's location and IP reputation. Residential proxies make the request look like a real user in a real home, so you get accurate, geo-relevant rates.
What property types can I filter by?You can filter by hotel, resort, cabin, holiday home, or apartment hotel. Leave the filter empty to return all property types.
How many results can I get per run?Free users are limited to 100 hotels. Paid users can set a max up to 1,000,000, though the actual number depends on how many hotels Kayak returns for that city and date.
Does this Actor scrape the hotel's own website price or only OTA prices?It returns every provider Kayak lists, which can include the hotel's direct site, OTAs like Booking.com and Expedia, and other aggregators. The provider name field tells you the source of each rate.
Can I get the hotel's full address and description?This Actor focuses on pricing and rating data. For full hotel details and reviews, use the Kayak Hotel Reviews Scraper, which extracts descriptions, amenities, and guest reviews.
How do I filter for hotels with a guest rating of 8 or higher?Set the 'Min Guest Rating' input to 8. The Actor will only return hotels whose Kayak guest score is 8.0 or above.
What output formats are supported?You can export the dataset to CSV, JSON, Excel, or XML from the Apify storage tab after the run completes.

Browse the full ParseForge collection for more scrapers.

🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Booking Holdings Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.