# Booking.com API guide



## Choose a Booking.com operation



Start with the object your task needs. The groups below use the current catalogue; open an endpoint to check accepted identifiers, filters, price and availability before retrieving.



### Other operations



- [Booking.com attraction](https://www.monocrawl.com/docs/endpoints/booking/attraction) — One attraction's page: description, price, rating and reviews, cancellation, operator, what is included and not, languages, photos, meeting and departure addresses, offers and the latest reviews.

- [Booking.com attractions lookup](https://www.monocrawl.com/docs/endpoints/booking/attraction-locations) — The attractions destinations the site knows for a name, each with the id booking/search-attractions takes and how many things to do it holds, plus the named attractions that match.

- [Booking.com airport lookup](https://www.monocrawl.com/docs/endpoints/booking/flight-locations) — The airports and cities the flight search knows for a name, each with the code booking/search-flights takes (LHR.AIRPORT, LON.CITY).

- [Booking.com hotel](https://www.monocrawl.com/docs/endpoints/booking/hotel) — One hotel's page for a stay: address and position, type, the price with its per-night and all-inclusive figures, facilities and highlights, breakfast and Wi-Fi scores, sustainability tier, the important information, each room with its beds, facilities and photos, and every bookable offer with its cancellation and prepayment terms.

- [Booking.com nightly prices](https://www.monocrawl.com/docs/endpoints/booking/hotel-availability) — The nights a hotel has available between two dates, each with its price and minimum stay.

- [Booking.com rooms and offers](https://www.monocrawl.com/docs/endpoints/booking/hotel-rooms) — One hotel's rooms for a stay and every bookable offer on them: price with its per-night and all-inclusive figures, occupancy, size, meal plan, cancellation and prepayment terms, deposit, and how many are left.

- [Booking.com destination lookup](https://www.monocrawl.com/docs/endpoints/booking/locations) — The destinations the site knows for a name: cities, districts, landmarks and hotels, each with the id and type booking/search-hotels takes and how many hotels it holds.



### Reviews and offers



- [Booking.com review scores](https://www.monocrawl.com/docs/endpoints/booking/hotel-review-scores) — How one hotel's score breaks down: by traveller type and question (cleanliness, staff, location…) against the area's average, by score band, and the distribution of scores.

- [Booking.com hotel reviews](https://www.monocrawl.com/docs/endpoints/booking/hotel-reviews) — Guest reviews of one hotel: title, what they liked and disliked, score, date, purpose of travel, the reviewer's country and traveller type, the room and nights they stayed, photos and the hotel's reply.



### Search and discovery



- [Booking.com things to do](https://www.monocrawl.com/docs/endpoints/booking/search-attractions) — Things to do in a destination: name, description, price, free cancellation, rating and review count, photo and the city.

- [Booking.com flight search](https://www.monocrawl.com/docs/endpoints/booking/search-flights) — Flights between two places: each offer's price with its base fare and tax, seats left, and every segment and leg with airports, times, carrier, flight number, cabin and luggage allowance; plus the search's summary (cheapest fare, airlines, stops).

- [Booking.com hotel search](https://www.monocrawl.com/docs/endpoints/booking/search-hotels) — Hotels in a destination for a stay: name, stars, review score and count, the price for the stay, check-in and check-out times, position, photos and whether the site prefers it.



## Check fields and collection limits



Use the endpoint’s declared parameters and returned continuation. Filters from another platform do not automatically apply here. Preserve source identifiers, URLs and warnings; a successful page does not establish complete history. Published response schemas identify whether they come from a reviewed shaper or observed response shapes.



Agents can use `get_endpoint` for the current contract and `get_docs` with topic `platforms/booking` to read this page. The [coverage guide](https://www.monocrawl.com/docs/data-availability) explains nulls and partial results, and the [production guide](https://www.monocrawl.com/docs/production-checklist) covers budgets and recovery.



## Endpoint reference

## booking/attraction

`GET /v1/booking/attraction`

One attraction's page: description, price, rating and reviews, cancellation, operator, what is included and not, languages, photos, meeting and departure addresses, offers and the latest reviews.

*Booking.com attraction*

| Parameter | Required | Description |
| --- | --- | --- |
| `slug` | yes | The attraction's slug from booking/search-attractions (or pass url, its page) — e.g. `pr4z1zrjq9hl-skip-the-queue-tickets-into-the-lisbon-oceanarium` |
| `url` | no | The attraction's page URL instead of a slug |
| `currency` | no | Three-letter currency code — e.g. `GBP` |
| `language` | no | Language code for the site's text |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/attraction?slug=pr4z1zrjq9hl-skip-the-queue-tickets-into-the-lisbon-oceanarium" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "accessibility": [],
  "additional_info": "example",
  "addresses": {
    "attraction": [
      {
        "address": "example",
        "city": "example",
        "country": "example",
        "latitude": 0,
        "longitude": 0,
        "postcode": "example",
        "type": "example"
      }
    ]
  },
  "audio_languages": [
    "example"
  ],
  "bookable": false,
  "city": "example",
  "country_code": "example",
  "description": "example",
  "destination_id": "example",
  "free_cancellation": false,
  "guide_languages": [],
  "id": "example",
  "image_url": "https://example.com/example",
  "labels": [],
  "name": "example",
  "not_included": [],
  "offers": [
    {
      "availability_type": "example",
      "id": "example"
    }
  ],
  "operated_by": "example",
  "photos": [
    "example"
  ],
  "platform": "example",
  "positive_share": "example",
  "price": {
    "amount": 0,
    "currency": "example"
  },
  "rating": 0,
  "ratings_count": 0,
  "restrictions": [],
  "reviews": [
    {
      "author": "example",
      "date": "2026-09-01T12:00:00Z",
      "id": "example",
      "language": "example",
      "rating": 0,
      "text": "example"
    }
  ],
  "reviews_count": 0,
  "reviews_total": 0,
  "selling_points": [
    "example"
  ],
  "short_description": "example",
  "slug": "example",
  "type": "example",
  "url": "https://example.com/example",
  "whats_included": [
    "example"
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/attraction#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/attraction.json)


## booking/attraction-locations

`GET /v1/booking/attraction-locations`

The attractions destinations the site knows for a name, each with the id booking/search-attractions takes and how many things to do it holds, plus the named attractions that match.

*Booking.com attractions lookup*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | A city or an attraction name — e.g. `Lisbon` |
| `language` | no | Language code for the site's text |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/attraction-locations?query=Lisbon" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "attractions": [
    {
      "category": "example",
      "city": "example",
      "country_code": "example",
      "destination_id": "example",
      "id": "example",
      "name": "example",
      "search_id": "example",
      "slug": "example"
    }
  ],
  "count": 0,
  "has_more": false,
  "items": [
    {
      "attractions": 0,
      "city": "example",
      "country": "example",
      "country_code": "example",
      "destination_id": "example",
      "id": "example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/attraction-locations#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/attraction-locations.json)


## booking/flight-locations

`GET /v1/booking/flight-locations`

The airports and cities the flight search knows for a name, each with the code booking/search-flights takes (LHR.AIRPORT, LON.CITY).

*Booking.com airport lookup*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | A city or airport name — e.g. `London` |
| `language` | no | Language code for the site's text |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/flight-locations?query=London" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "items": [
    {
      "city": "example",
      "city_code": "example",
      "code": "example",
      "country": "example",
      "country_code": "example",
      "distance_to_city": {
        "unit": "example",
        "value": 0
      },
      "id": "example",
      "image_url": "https://example.com/example",
      "name": "example",
      "parent": "example",
      "region": "example",
      "type": "example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/flight-locations#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/flight-locations.json)


## booking/hotel

`GET /v1/booking/hotel`

One hotel's page for a stay: address and position, type, the price with its per-night and all-inclusive figures, facilities and highlights, breakfast and Wi-Fi scores, sustainability tier, the important information, each room with its beds, facilities and photos, and every bookable offer with its cancellation and prepayment terms.

*Booking.com hotel*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | The hotel's number, from booking/search-hotels — e.g. `4045490` |
| `checkin` | yes | Check-in date, YYYY-MM-DD — e.g. `2026-10-10` |
| `checkout` | yes | Check-out date, YYYY-MM-DD — e.g. `2026-10-12` |
| `adults` | no | Adults, 1 to 30 — e.g. `2` |
| `children_ages` | no | Children's ages, separated by commas |
| `rooms` | no | Rooms, 1 to 30 — e.g. `1` |
| `currency` | no | Three-letter currency code — e.g. `GBP` |
| `language` | no | Language code for the site's text — e.g. `en-gb` |
| `units` | no | metric or imperial Accepted values: metric, imperial. Case, spaces, hyphens and underscores are interchangeable. |
| `temperature_unit` | no | c or f Accepted values: c, f. Case, spaces, hyphens and underscores are interchangeable. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/hotel?id=4045490&checkin=2026-10-10&checkout=2026-10-12" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "accommodation_type": "example",
  "address": "example",
  "available_rooms": 0,
  "breakfast_included": false,
  "breakfast_score": {
    "count": 0,
    "rating": 0,
    "word": "example"
  },
  "checkin_date": "2026-09-01T12:00:00Z",
  "checkout_date": "2026-09-01T12:00:00Z",
  "city": "example",
  "closed": false,
  "country_code": "example",
  "currency": "example",
  "destination_id": "example",
  "distance_to_centre_km": 0,
  "district": "example",
  "facilities": [
    "example"
  ],
  "family_facilities": [],
  "family_friendly": false,
  "highlights": [
    "example"
  ],
  "id": "example",
  "important_information": [
    "example"
  ],
  "languages_spoken": [
    "example"
  ],
  "latitude": 0,
  "longitude": 0,
  "max_rooms_per_booking": 0,
  "name": "example",
  "offers": [],
  "platform": "example",
  "postcode": "example",
  "review_count": 0,
  "rooms": [],
  "sold_out": false,
  "timezone": "example",
  "top_benefits": [
    "example"
  ],
  "type": "example",
  "url": "https://example.com/example",
  "wifi_score": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/hotel#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/hotel.json)


## booking/hotel-availability

`GET /v1/booking/hotel-availability`

The nights a hotel has available between two dates, each with its price and minimum stay.

*Booking.com nightly prices*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | The hotel's number, from booking/search-hotels — e.g. `4045490` |
| `from` | yes | First date, YYYY-MM-DD — e.g. `2026-12-20` |
| `to` | yes | Last date, YYYY-MM-DD — e.g. `2026-12-31` |
| `adults` | no | Adults, 1 to 30 — e.g. `2` |
| `rooms` | no | Rooms, 1 to 30 — e.g. `1` |
| `currency` | no | Three-letter currency code — e.g. `GBP` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/hotel-availability?id=4045490&from=2026-12-20&to=2026-12-31" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "adults": 0,
  "count": 0,
  "currency": "example",
  "dates": [
    {
      "date": "2026-09-01T12:00:00Z",
      "min_stay": 0,
      "price": 0
    }
  ],
  "from": "example",
  "hotel_id": "example",
  "platform": "example",
  "rooms": 0,
  "to": "example",
  "type": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/hotel-availability#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/hotel-availability.json)


## booking/hotel-review-scores

`GET /v1/booking/hotel-review-scores`

How one hotel's score breaks down: by traveller type and question (cleanliness, staff, location…) against the area's average, by score band, and the distribution of scores.

*Booking.com review scores*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | The hotel's number, from booking/search-hotels — e.g. `4045490` |
| `language` | no | Language code for the site's text — e.g. `en-us` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/hotel-review-scores?id=4045490" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "bands": [
    {
      "count": 0,
      "from": 0,
      "percent": 0,
      "to": 0,
      "word": "example"
    }
  ],
  "by_traveller_type": [
    {
      "count": 0,
      "questions": [
        {}
      ],
      "score": 0,
      "since_year": 0,
      "traveller_type": "example"
    }
  ],
  "distribution": [
    {
      "count": 0,
      "percent": 0,
      "score": 0
    }
  ],
  "hotel_id": "example",
  "platform": "example",
  "type": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/hotel-review-scores#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/hotel-review-scores.json)


## booking/hotel-reviews

`GET /v1/booking/hotel-reviews`

Guest reviews of one hotel: title, what they liked and disliked, score, date, purpose of travel, the reviewer's country and traveller type, the room and nights they stayed, photos and the hotel's reply.

*Booking.com hotel reviews*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | The hotel's number, from booking/search-hotels — e.g. `4045490` |
| `page` | no | Page number (25 a page) — e.g. `1` |
| `sort` | no | Use relevant, newest, oldest, highest or lowest. Legacy source-issued sort_ tokens are also accepted; omit sort if no token is available. — e.g. `relevant` |
| `language` | no | Language code for the site's text — e.g. `en-us` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/hotel-reviews?id=4045490" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "hotel_id": "example",
  "items": [
    {
      "author": {
        "avatar_url": "https://example.com/example",
        "country_code": "example",
        "name": "example",
        "reviews": 0,
        "type": "example"
      },
      "cons": "example",
      "date": "2026-09-01T12:00:00Z",
      "helpful_votes": 0,
      "hotel_id": "example",
      "hotelier_response": "example",
      "hotelier_response_date": "2026-09-01T12:00:00Z",
      "id": "example",
      "incentivised": false,
      "language": "example",
      "moderated": false,
      "photos": [],
      "platform": "example",
      "pros": "example",
      "score": 0,
      "stay": {
        "checkin": "example",
        "checkout": "example",
        "nights": 0,
        "room": "example"
      },
      "tags": [],
      "title": "example",
      "travel_purpose": "example",
      "type": "example"
    }
  ],
  "page": 0,
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/hotel-reviews#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/hotel-reviews.json)


## booking/hotel-rooms

`GET /v1/booking/hotel-rooms`

One hotel's rooms for a stay and every bookable offer on them: price with its per-night and all-inclusive figures, occupancy, size, meal plan, cancellation and prepayment terms, deposit, and how many are left.

*Booking.com rooms and offers*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | The hotel's number, from booking/search-hotels — e.g. `4045490` |
| `checkin` | yes | Check-in date, YYYY-MM-DD — e.g. `2026-10-10` |
| `checkout` | yes | Check-out date, YYYY-MM-DD — e.g. `2026-10-12` |
| `adults` | no | Adults, 1 to 30 — e.g. `2` |
| `children_ages` | no | Children's ages, separated by commas |
| `rooms` | no | Rooms, 1 to 30 — e.g. `1` |
| `currency` | no | Three-letter currency code — e.g. `GBP` |
| `language` | no | Language code for the site's text — e.g. `en-gb` |
| `units` | no | metric or imperial Accepted values: metric, imperial. Case, spaces, hyphens and underscores are interchangeable. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/hotel-rooms?id=4045490&checkin=2026-10-10&checkout=2026-10-12" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "checkin": "example",
  "checkout": "example",
  "count": 0,
  "currency": "example",
  "hotel_id": "example",
  "max_rooms_per_booking": 0,
  "offers": [],
  "platform": "example",
  "rooms": [],
  "sold_out_rooms": [],
  "type": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/hotel-rooms#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/hotel-rooms.json)


## booking/locations

`GET /v1/booking/locations`

The destinations the site knows for a name: cities, districts, landmarks and hotels, each with the id and type booking/search-hotels takes and how many hotels it holds.

*Booking.com destination lookup*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | A city, district, landmark or hotel name — e.g. `Manhattan` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/locations?query=Manhattan" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "items": [
    {
      "city": "example",
      "country": "example",
      "country_code": "example",
      "hotels": 0,
      "id": "example",
      "image_url": "https://example.com/example",
      "label": "example",
      "latitude": 0,
      "longitude": 0,
      "name": "example",
      "region": "example",
      "search_type": "example",
      "type": "example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/locations#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/locations.json)


## booking/search-attractions

`GET /v1/booking/search-attractions`

Things to do in a destination: name, description, price, free cancellation, rating and review count, photo and the city.

*Booking.com things to do*

| Parameter | Required | Description |
| --- | --- | --- |
| `location` | no | A city; resolved to a destination once and remembered (or pass destination_id) — e.g. `Lisbon` |
| `destination_id` | no | A destination id from booking/attraction-locations — e.g. `eyJ1ZmkiOi0yMTY3OTczfQ==` |
| `page` | no | Page number — e.g. `1` |
| `sort` | no | trending, attr_book_score or lowest_price Accepted values: trending, attr_book_score, lowest_price. Case, spaces, hyphens and underscores are interchangeable. — e.g. `trending` |
| `start_date` | no | First date, YYYY-MM-DD |
| `end_date` | no | Last date, YYYY-MM-DD |
| `currency` | no | Three-letter currency code — e.g. `GBP` |
| `language` | no | Language code for the site's text |
| `types` | no | The site's type filters, separated by commas |
| `labels` | no | The site's label filters, separated by commas |
| `prices` | no | The site's price filters, separated by commas |
| `areas` | no | The site's area filters, separated by commas |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/search-attractions" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "cursor": null,
  "destination": {
    "city": "example",
    "country": "example",
    "id": "example"
  },
  "has_more": false,
  "items": [
    {
      "city": "example",
      "country_code": "example",
      "description": "example",
      "destination_id": "example",
      "free_cancellation": false,
      "id": "example",
      "image_url": "https://example.com/example",
      "name": "example",
      "offers": 0,
      "platform": "example",
      "positive_share": "example",
      "price": {
        "amount": 0,
        "currency": "example"
      },
      "rating": 0,
      "ratings_count": 0,
      "reviews_count": 0,
      "slug": "example",
      "type": "example",
      "url": "https://example.com/example"
    }
  ],
  "page": 0,
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/search-attractions#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/search-attractions.json)


## booking/search-flights

`GET /v1/booking/search-flights`

Flights between two places: each offer's price with its base fare and tax, seats left, and every segment and leg with airports, times, carrier, flight number, cabin and luggage allowance; plus the search's summary (cheapest fare, airlines, stops).

*Booking.com flight search*

| Parameter | Required | Description |
| --- | --- | --- |
| `from` | yes | Departure place code from booking/flight-locations — e.g. `LON.CITY` |
| `to` | yes | Arrival place code from booking/flight-locations — e.g. `LIS.AIRPORT` |
| `depart_date` | yes | Outbound date, YYYY-MM-DD — e.g. `2026-11-25` |
| `return_date` | no | Return date, YYYY-MM-DD, for a round trip |
| `adults` | no | Adults, 1 to 9 — e.g. `1` |
| `children_ages` | no | Children's ages, separated by commas |
| `cabin` | no | economy, premium_economy, business or first Accepted values: economy, premium_economy, business, first. Case, spaces, hyphens and underscores are interchangeable. — e.g. `economy` |
| `sort` | no | best, cheapest or fastest Accepted values: best, cheapest, fastest. Case, spaces, hyphens and underscores are interchangeable. — e.g. `best` |
| `stops` | no | none, 0, 1 or 2 Accepted values: none, 0, 1, 2. Case, spaces, hyphens and underscores are interchangeable. |
| `page` | no | Page number — e.g. `1` |
| `currency` | no | Three-letter currency code — e.g. `GBP` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/search-flights?from=LON.CITY&to=LIS.AIRPORT&depart_date=2026-11-25" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "adults": 0,
  "atol_protected": "example",
  "count": 0,
  "cursor": null,
  "depart_date": "2026-09-01T12:00:00Z",
  "from": "example",
  "has_more": false,
  "items": [
    {
      "base_fare": {
        "amount": 0,
        "currency": "example"
      },
      "carriers": [
        {}
      ],
      "discount": {
        "amount": 0,
        "currency": "example"
      },
      "fee": {
        "amount": 0,
        "currency": "example"
      },
      "platform": "example",
      "point_of_sale": "example",
      "price": {
        "amount": 0,
        "currency": "example"
      },
      "price_rounded": {
        "amount": 0,
        "currency": "example"
      },
      "segments": [
        {}
      ],
      "tax": {
        "amount": 0,
        "currency": "example"
      },
      "token": "example",
      "trip_type": "example",
      "type": "example"
    }
  ],
  "page": 0,
  "summary": {
    "airlines": [
      {
        "code": "example",
        "count": 0,
        "logo_url": "https://example.com/example",
        "min_price": {},
        "name": "example"
      }
    ],
    "duration_hours": {
      "max": 0,
      "min": 0
    },
    "min_price": {
      "amount": 0,
      "currency": "example"
    },
    "stops": [
      {
        "count": 0,
        "min_price": {},
        "stops": 0
      }
    ]
  },
  "to": "example",
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/search-flights#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/search-flights.json)


## booking/search-hotels

`GET /v1/booking/search-hotels`

Hotels in a destination for a stay: name, stars, review score and count, the price for the stay, check-in and check-out times, position, photos and whether the site prefers it.

*Booking.com hotel search*

| Parameter | Required | Description |
| --- | --- | --- |
| `location` | no | A city, district, landmark or hotel name; resolved to a destination once and remembered (or pass destination_id and destination_type) — e.g. `Lisbon` |
| `destination_id` | no | A destination id from booking/locations — e.g. `-2167973` |
| `destination_type` | no | The destination's type from booking/locations — e.g. `CITY` |
| `checkin` | yes | Check-in date, YYYY-MM-DD — e.g. `2026-10-10` |
| `checkout` | yes | Check-out date, YYYY-MM-DD — e.g. `2026-10-12` |
| `adults` | no | Adults, 1 to 30 — e.g. `2` |
| `children_ages` | no | Children's ages, separated by commas |
| `rooms` | no | Rooms, 1 to 30 — e.g. `1` |
| `page` | no | Page number — e.g. `1` |
| `sort` | no | popularity, price, class, review_score or distance Accepted values: popularity, price, class, review_score, distance, upsort_bh, class_asc, class_desc, bayesian_review_score. Case, spaces, hyphens and underscores are interchangeable. |
| `min_price` | no | Minimum price per night in the currency |
| `max_price` | no | Maximum price per night in the currency |
| `filters` | no | The site's category filters, separated by commas (class::4, free_cancellation::1…) |
| `currency` | no | Three-letter currency code — e.g. `GBP` |
| `language` | no | Language code for the site's text — e.g. `en-gb` |
| `units` | no | metric or imperial Accepted values: metric, imperial. Case, spaces, hyphens and underscores are interchangeable. |
| `temperature_unit` | no | c or f Accepted values: c, f. Case, spaces, hyphens and underscores are interchangeable. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/booking/search-hotels?checkin=2026-10-10&checkout=2026-10-12" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "adults": 0,
  "checkin": "example",
  "checkout": "example",
  "count": 0,
  "cursor": null,
  "destination": {
    "id": "example",
    "label": "example",
    "name": "example",
    "type": "example"
  },
  "has_more": false,
  "items": [
    {
      "accurate_class": 0,
      "badges": [
        "example"
      ],
      "checkin": {
        "from": "example",
        "until": "example"
      },
      "checkin_date": "2026-09-01T12:00:00Z",
      "checkout": {
        "from": "example",
        "until": "example"
      },
      "checkout_date": "2026-09-01T12:00:00Z",
      "country_code": "example",
      "currency": "example",
      "destination_id": "example",
      "id": "example",
      "image_url": "https://example.com/example",
      "images": [
        "example"
      ],
      "label": "example",
      "latitude": 0,
      "longitude": 0,
      "name": "example",
      "platform": "example",
      "position": 0,
      "preferred": false,
      "price": {
        "amount": 0,
        "currency": "example"
      },
      "rank": 0,
      "review_count": 0,
      "review_score": 0,
      "review_score_word": "example",
      "stars": 0,
      "strikethrough_price": {
        "amount": 0,
        "currency": "example"
      },
      "type": "example"
    }
  ],
  "page": 0,
  "rooms": 0,
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/booking/search-hotels#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/booking/search-hotels.json)

