# Kayak Hotels Scraper/Crawler (`polesnet/kayak-hotels-actor`) Actor

a scraper/crawler API which Scrape/Crawl hotels information from www.Kayak.com

- **URL**: https://apify.com/polesnet/kayak-hotels-actor.md
- **Developed by:** [PolesNet](https://apify.com/polesnet) (community)
- **Categories:** Agents, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Why Choose Us?

- 🚀 **One-Click Collection**: Automatically gather all hotel information without manual search
- 💰 **Price Comparison**: Quickly compare hotel prices to find the best deals
- 📊 **Comprehensive Data**: Complete information including prices, ratings, location, and amenities
- ⚡ **Efficient & Convenient**: Get hundreds of hotel listings in minutes
- 🔄 **Real-Time Updates**: Access the latest prices and room types
- 📱 **Multi-Platform Support**: Export in various formats for both mobile and desktop viewing

### Use Cases

- 🏨 **Hotel Price Research**: Quickly access market rates to support pricing decisions
- 📈 **Market Analysis**: Collect competitor data and analyze market trends
- 🎯 **Travel Planning**: Get destination hotel information for perfect itinerary planning
- 💼 **Business Travel**: Quickly filter hotels within budget for business trips
- 🏖️ **Vacation Booking**: Compare vacation hotels to find your ideal accommodation
- 🤖 **AI Travel Assistant**: Provide real-time hotel data support for AI Agents
- 🎮 **Smart Recommendations**: Automatically recommend hotels based on user preferences
- 📱 **Chatbot Integration**: Integrate hotel query services into conversational systems
- 🎯 **Personalized Itineraries**: Generate customized travel plans with AI
- 🔍 **Smart Search**: Support natural language queries for hotel information

### How to Use

#### Using on Apify Platform

1. Visit [Apify Platform](https://apify.com)
2. Search and select "Kayak Hotel Data Collector"
3. Click the "Run" button
4. Set search parameters in the input box:
   - Destination: City name or airport code (e.g., New York, NYC)
   - Check-in Date: Format YYYY-MM-DD (e.g., 2024-04-01)
   - Check-out Date: Format YYYY-MM-DD (e.g., 2024-04-05)
   - Number of Rooms: 1-4
   - Number of Adults: 1-8
   - Number of Children: 0-8
   - Children Ages: Age of each child (0-17)
   - Currency: USD, EUR, GBP, etc.
   - Language: en, zh, es, etc.
5. Click "Start" to begin
6. Wait for collection to complete and view results in the "Dataset" tab

#### Data Access Methods

- 📊 View and download data directly on the Apify platform
- 🔑 Access data via API (requires API Token)
- 📥 Export to common formats like CSV and JSON

### Usage Tips

- ⚠️ Please comply with Kayak's terms of service
- ⏱️ Set reasonable collection frequency
- 🌐 Ensure stable internet connection
- 📅 Date format must strictly follow YYYY-MM-DD
- 👶 Children ages must match the number of children

### Technical Support

💬 For any questions, please contact our technical support team.

# Actor input Schema

## `location` (type: `string`):

The location which you want to get the data from

## `checkin` (type: `string`):

The checkin date

## `checkout` (type: `string`):

The checkout date

## `adults` (type: `integer`):

The number of adults

## `rooms` (type: `integer`):

The number of rooms

## Actor input object example

```json
{
  "location": "HongKong",
  "checkin": "2025-01-01",
  "checkout": "2025-01-02",
  "adults": 1,
  "rooms": 1
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "location": "HongKong",
    "checkin": "2025-01-01",
    "checkout": "2025-01-02"
};

// Run the Actor and wait for it to finish
const run = await client.actor("polesnet/kayak-hotels-actor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "location": "HongKong",
    "checkin": "2025-01-01",
    "checkout": "2025-01-02",
}

# Run the Actor and wait for it to finish
run = client.actor("polesnet/kayak-hotels-actor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "location": "HongKong",
  "checkin": "2025-01-01",
  "checkout": "2025-01-02"
}' |
apify call polesnet/kayak-hotels-actor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=polesnet/kayak-hotels-actor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/yUOQ7arkcQ7nNhy7E/builds/vxt1f0u2r5b9rxpVj/openapi.json
