# Booking.com Hotels & Prices Scraper (`scrapers_lat/booking-hotels-scraper`) Actor

Scrape Booking.com hotels and accommodation by destination and dates. Get name, type, nightly price, review score, star rating, address, coordinates and distance from center. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/booking-hotels-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Travel, Automation, E-commerce
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.15 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 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

[![Booking.com Hotels & Prices Scraper](https://scrapers.lat/banners/booking-hotels-scraper.png)](https://console.apify.com/actors/ps1J4R4eVOkgjxsti/input)

## Booking.com Hotels & Prices Scraper

> Extract hotels and accommodation prices from Booking.com by destination and dates, with review scores, star ratings, coordinates and nightly rates for any city, region or country worldwide.

**📥 [Input](https://apify.com/scrapers_lat/booking-hotels-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/booking-hotels-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/booking-hotels-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/booking-hotels-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Worldwide-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>20+ fields</strong><br>per property</td>
<td align="center"><strong>Worldwide</strong><br>any destination</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### Who is it for

| Use case | Who benefits |
|---|---|
| Hotel price monitoring | Revenue managers tracking nightly rates against competitors |
| Travel market research | Analysts studying supply, ratings and pricing by destination |
| Competitor rate tracking | Hotels and OTAs benchmarking their position in search |
| Travel apps and data pipelines | Developers feeding search, maps or recommendation engines |
| Deal and metasearch sites | Teams building price comparison and alert products |

### Frequently Asked Questions

**Which destinations does it cover?**\
Any destination Booking.com supports worldwide. Enter a city, region, country or property name such as Paris, Cancun, Tuscany or Amsterdam, and the actor resolves it to the matching Booking.com destination and returns the properties for it.

**How many properties can I get per search?**\
Booking.com shows the top 25 properties for each sort order. The actor combines several sort orders and removes duplicates to collect a larger set, up to roughly 150 unique properties per destination. Use maxItems to cap the number you want.

**Can I set check-in and check-out dates and guests?**\
Yes. Set checkIn and checkOut in YYYY-MM-DD format along with adults, children and rooms to get prices for that exact stay. If you leave the dates empty, Booking.com returns a lead price for an upcoming stay.

**Can I choose the price currency?**\
Yes. Pick a currency such as USD, EUR, GBP, MXN or BRL and every price is returned in that currency, with an ISO currency code on each record.

**What happens if a property has no price or star rating?**\
Some properties are sold out for the chosen dates or have no official star rating. In those cases price or starRating is left empty for that record while the rest of the fields are still returned.

### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [Booking.com Hotels & Prices in Paris](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-paris): Scrape hotels and nightly prices in Paris from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in London](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-london): Scrape hotels and nightly prices in London from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in New York](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-new-york): Scrape hotels and nightly prices in New York from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in Tokyo](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-tokyo): Scrape hotels and nightly prices in Tokyo from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in Barcelona](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-barcelona): Scrape hotels and nightly prices in Barcelona from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in Rome](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-rome): Scrape hotels and nightly prices in Rome from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in Dubai](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-dubai): Scrape hotels and nightly prices in Dubai from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in Amsterdam](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-amsterdam): Scrape hotels and nightly prices in Amsterdam from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in Miami](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-miami): Scrape hotels and nightly prices in Miami from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.
- [Booking.com Hotels & Prices in Bangkok](https://apify.com/scrapers_lat/booking-hotels-scraper/examples/booking-hotels-bangkok): Scrape hotels and nightly prices in Bangkok from Booking.com: review scores, star ratings, addresses and coordinates. Export to JSON, CSV or Excel.

### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [MercadoLibre Product Listings Scraper](https://apify.com/scrapers_lat/mercadolibre-scraper): product listings, prices and sellers across Latin America
- [Rappi Restaurants & Stores Scraper](https://apify.com/scrapers_lat/rappi-scraper): restaurants, stores and menu prices from the Rappi delivery app
- [Instagram Profile & Posts Scraper](https://apify.com/scrapers_lat/instagram-scraper): public Instagram profiles, posts and engagement
- [Google News Article Scraper](https://apify.com/scrapers_lat/google-news-scraper): news articles and headlines by topic or query
- [X (Twitter) Profiles & Tweets Scraper](https://apify.com/scrapers_lat/x-twitter-scraper): public X profiles and tweets with engagement metrics
- [Google Play App Details Scraper](https://apify.com/scrapers_lat/google-play-apps-scraper): app metadata, ratings and details from Google Play

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with Booking.com. It only accesses data that is publicly available on the platform. Use it in accordance with Booking.com's terms of service.

# Actor input Schema

## `maxHotels` (type: `integer`):

Maximum number of hotels (properties) to collect. Optional.

## `withDetails` (type: `boolean`):

When enabled, each property is enriched from its own page with a full description, street address, postal code and region. Adds one request per property.

## `destination` (type: `string`):

City, region, country or property name to search, for example Paris, Cancun, Tuscany or Amsterdam.

## `checkIn` (type: `string`):

Check-in date in YYYY-MM-DD format. Optional. Leave empty to use a default upcoming stay.

## `checkOut` (type: `string`):

Check-out date in YYYY-MM-DD format. Optional. Leave empty to use a default upcoming stay.

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

Number of adults.

## `children` (type: `integer`):

Number of children.

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

Number of rooms.

## `currency` (type: `string`):

Currency for the displayed prices.

## Actor input object example

```json
{
  "maxHotels": 10,
  "withDetails": true,
  "destination": "Paris",
  "adults": 2,
  "rooms": 1,
  "currency": "USD"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "maxHotels": 10,
    "destination": "Paris",
    "adults": 2,
    "rooms": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/booking-hotels-scraper").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 = {
    "maxHotels": 10,
    "destination": "Paris",
    "adults": 2,
    "rooms": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/booking-hotels-scraper").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 '{
  "maxHotels": 10,
  "destination": "Paris",
  "adults": 2,
  "rooms": 1
}' |
apify call scrapers_lat/booking-hotels-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/ps1J4R4eVOkgjxsti/builds/QCSC5HXPnKojrD3hA/openapi.json
