# 🏨 Skyscanner Hotels Scraper (`scrapelabsapi/skyscanner-hotels-scraper`) Actor

Scrape Skyscanner hotel search at scale — prices, stars, reviews, amenities, partner offers, GPS and images — for any destination. Smart proxy auto-escalation (direct → datacenter → residential) and live streaming results.

- **URL**: https://apify.com/scrapelabsapi/skyscanner-hotels-scraper.md
- **Developed by:** [ScrapeLabs](https://apify.com/scrapelabsapi) (community)
- **Categories:** Automation, Lead generation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## 🏨 Skyscanner Hotels Scraper

Scrape **[Skyscanner Hotels](https://www.skyscanner.net/hotels)** for clean, structured hotel data — prices, stars, guest reviews, full amenity lists, partner offers, GPS coordinates and images — from any combination of Skyscanner URLs **and** free-text destinations, in bulk.

> ⚡ **Streams results into the dataset as each hotel is parsed** — no waiting until the end of the run for partial output.

---

### ✨ Why choose this scraper?

- 🧠 **Smart proxy auto-escalation** — starts direct (cheapest), automatically falls back to **datacenter** then **residential** proxy if Skyscanner pushes back. Once on residential it stays there.
- 🌐 **URLs *and* free-text destinations** — paste any Skyscanner URL with `entity_id=…` (no autosuggest hop) OR type a destination name like *Alaska* / *Miami* / *Tokyo*.
- 🛎️ **Full amenity list per hotel** — the Skyscanner search endpoint only returns a couple of highlight amenities; we hydrate the rest from each hotel's detail page in parallel.
- 💰 **Every partner offer** — Hotels.com, Expedia, Booking, Agoda, etc. with deep-links, per-night and total prices, room name and taxes.
- 🧱 **Browser TLS impersonation** via `curl_cffi` (Chrome 124 / 131 fingerprints) defeats DataDome edges without the cost of a real browser.
- 📊 **Sectioned dataset tabs** — Overview, Price, Reviews, Location, Amenities, Offers — switch tabs in the Console to focus on a section.
- 💸 **Pay per event** — you only pay for hotels we successfully deliver.

---

### 🔑 Key Features

- 🆔 Hotel name, Skyscanner ID, canonical detail URL
- ⭐ Star rating and primary image
- 💰 Cheapest per-night price + base price + taxes/fees breakdown
- 🎫 Full list of partner offers (deep-links, room name, total price)
- 📝 Guest review score, summary band, count, popular guest type
- 🛎️ Full amenity list per hotel (from the detail page)
- 📍 GPS coordinates, city name, distance to city centre
- 🖼️ Image gallery URLs

---

### 📥 Input

| Field | Type | Required | Default | Description |
|------|------|----------|---------|-------------|
| `urls` | array | ❌ | – | Skyscanner destination URLs (any URL with `entity_id=…` is consumed directly) |
| `locations` | array | ❌ | – | Free-text destinations (e.g. `Alaska`, `Tokyo`) — resolved via autosuggest |
| `checkin` | date | ❌ | tomorrow+1 | ISO date `YYYY-MM-DD` |
| `checkout` | date | ❌ | checkin+5 | ISO date `YYYY-MM-DD` |
| `adults` | int | ❌ | `2` | Adult travellers |
| `children` | int | ❌ | `0` | Children (priced as age 10) |
| `rooms` | int | ❌ | `1` | Number of rooms |
| `market` / `currency` | string | ❌ | `US` / `USD` | Pricing locale and currency |
| `limit` | int | ❌ | `30` | Cap on hotels returned per destination |
| `sorting` | string | ❌ | `best` | Result order — `best` / `price_low` / `price_high` / `rating` / `stars_high` / `stars_low` / `distance` |
| `min_price` / `max_price` | int | ❌ | – | Bound the cheapest per-night price (client-side) |
| `hydrate_amenities` | bool | ❌ | `true` | Fetch full amenity lists from hotel detail pages |
| `stars_*` / `rating_*` / `types_*` / `traveller_*` | toggles | ❌ | – | Star, guest-rating, accommodation-type and traveller-type filters |
| `amenity_*` | toggles | ❌ | – | ~170 amenity filters grouped into themed sections (results must match ALL ticked) |
| `free_cancellation` / `breakfast_included` / `show_discounts` | bool | ❌ | `false` | Native Skyscanner search filters |
| `pay_on_arrival` / `non_refundable` / `meals_not_included` | bool | ❌ | `false` | Best-effort filters inferred from each partner offer's feature badges |
| `proxyConfiguration` | object | ❌ | direct | Optional override of the starting proxy tier |

#### Example input

```json
{
  "urls": [
    "https://www.skyscanner.net/hotels/search?entity_id=27537542&checkin=2026-06-15&checkout=2026-06-20&adults=2&rooms=1"
  ],
  "locations": ["Miami", "Tokyo"],
  "checkin": "2026-06-15",
  "checkout": "2026-06-20",
  "adults": 2,
  "rooms": 1,
  "market": "US",
  "currency": "USD",
  "limit": 30,
  "sorting": "price_low",
  "max_price": 250,
  "stars_4": true,
  "stars_5": true,
  "amenity_wifiservice": true,
  "amenity_pool": true,
  "proxyConfiguration": { "useApifyProxy": false }
}
````

***

### 📤 Output

Each item in the dataset looks like this:

```json
{
  "id": "129270865",
  "name": "Qupqugiaq Inn",
  "numberOfStars": 2,
  "priceInfo": {
    "price": 84.72,
    "basePrice": 83.72,
    "taxesAndFees": [
      { "total": 63, "key": "other_taxes" },
      { "total": 7.28, "key": "service_fee" }
    ],
    "partnerId": "h_h1",
    "funnelType": "meta",
    "partnerRanking": 1,
    "numberOfOffers": 7,
    "isLowest": true
  },
  "amenities": ["WiFi", "Non-smoking", "Bar", "Lobby bar", "Lounge", "..."],
  "reviews": {
    "score": 3.6,
    "summary": "rating_good",
    "numberOfReviews": 166,
    "mostPopularWith": "",
    "taRating": 4,
    "reviewSummaryScore": 4,
    "reviewSummaryScoreImageUrl": "https://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/4.5-64600-4.png",
    "reviewSummaryScoreDesc": "Good",
    "reviewSummaryCount": 166
  },
  "distanceInfo": {
    "distanceMeters": 0,
    "referenceEntityType": "FirstLevelNationAdministrativeDivision",
    "referenceEntityName": "Alaska",
    "cityName": "Anchorage"
  },
  "position": { "longitude": -149.89471, "latitude": 61.18792 },
  "allPricesInfo": {
    "prices": [
      {
        "partnerId": "h_h1",
        "name": "Hotels.com",
        "price": 84.72,
        "numberOfOffers": 7,
        "deepLink": "https://...",
        "roomName": "Double room",
        "partnerType": "OTA",
        "isLowest": true,
        "basePrice": 83.72,
        "secondaryPrice": 593,
        "partnerRanking": 1
      }
    ]
  },
  "images": ["https://...", "..."],
  "image": "https://...",
  "url": "https://www.skyscanner.net/..."
}
```

***

### 🚀 How to use (Apify Console)

1. Log in at [console.apify.com](https://console.apify.com) → **Actors**.
2. Open **🏨 Skyscanner Hotels Scraper**.
3. Paste your URLs / type destinations in the input.
4. Pick check-in / check-out, adults, rooms, market and currency.
5. (Optional) Tick filter toggles: stars, ratings, accommodation types, amenities.
6. Click **▶ Start**.
7. Watch logs stream live — every hotel is pushed to the dataset the moment it's scraped.
8. Open the **Output** tab → switch between **Overview / Price / Reviews / Location / Amenities / Offers** views.

***

### 🤖 Use via API

```bash
curl -X POST "https://api.apify.com/v2/acts/skyscanner-hotels-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "locations": ["Miami"],
    "checkin": "2026-06-15",
    "checkout": "2026-06-20",
    "adults": 2,
    "limit": 30
  }'
```

***

### 💸 Pricing

Pay-per-event. You're billed:

- **Actor start** — Apify-managed startup event (small flat fee, first 5s of compute on us).
- **`result-item`** — one event per hotel successfully delivered to the dataset.

You don't pay for failed/blocked requests, retries, or proxy escalations.

***

### ❓ FAQ

**Q: Why does the first request take a few seconds?**
Skyscanner runs hotel search asynchronously — the first POST returns a partial result with a `sessionToken`, and we re-poll until the search reaches 100 % completion (typically 1–4 polls).

**Q: Will it work for non-US markets?**
Yes — pick a market / currency in the input. Skyscanner returns localised prices and partner availability per market.

**Q: Why does the amenity list look short for some hotels?**
The search endpoint only returns 2–3 highlight amenities. With **Hydrate per-hotel amenities** ON (default), we fetch each hotel's detail page in parallel and parse the full list — usually 15–40 amenities. Turn it OFF to save requests if you only need price/review data.

**Q: My destination is blocked.**
Leave the proxy at default — the actor will auto-escalate to datacenter then residential proxy. If residential still 403s after 3 retries, the run stops cleanly with a partial result.

***

### 📬 Support & feedback

Issues, feature requests or custom scrapers → **dev.scraperengine@gmail.com**.

***

### ⚖️ Cautions / legal

- Data is collected from publicly available Skyscanner search pages.
- The end user is responsible for legal compliance (GDPR, CCPA, target site ToS, etc.).
- Honour `robots.txt` and reasonable rate limits — leave the default delay in place.

# Actor input Schema

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

Destination name — Skyscanner's autosuggest resolves it at runtime. **Examples:** `Alaska`, `New York`, `Tokyo`, `Bali`, `Paris`.

For URL-based or bulk input use the **Bulk URLs / destinations** section below.

## `market` (type: `string`):

Skyscanner market — affects pricing locale and partner availability.

## `limit` (type: `integer`):

Maximum number of hotels to return per destination. Skyscanner caps each call at 50 — the actor paginates automatically.

## `sorting` (type: `string`):

How to order the final result list. `Best` keeps Skyscanner's own recommended order. All other modes are applied client-side after the search.

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

Check-in date `YYYY-MM-DD`.

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

Check-out date `YYYY-MM-DD`. Must be after check-in.

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

Number of adult travellers.

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

Number of children (each priced at age 10).

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

Number of rooms to price.

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

Display currency for prices.

## `free_cancellation` (type: `boolean`):

Show only hotels with free cancellation. Maps to Skyscanner's `confidentTypeFilter`.

## `pay_on_arrival` (type: `boolean`):

Best-effort: keep only hotels where a partner offer advertises pay-at-property.

## `non_refundable` (type: `boolean`):

Best-effort: keep only non-refundable hotels (no free-cancellation badge found).

## `min_price` (type: `integer`):

Minimum per-night price (in selected currency). Leave blank for no minimum.

## `max_price` (type: `integer`):

Maximum per-night price (in selected currency). Leave blank for no maximum.

## `show_discounts` (type: `boolean`):

Surface members-only / closed-user-group discounted prices (`discountTypeFilter`).

## `breakfast_included` (type: `boolean`):

Show only hotels where breakfast is included in the room rate.

## `meals_not_included` (type: `boolean`):

Best-effort: keep only hotels whose offers do not advertise a meal plan (room-only).

## `stars_5` (type: `boolean`):

Include 5-star hotels.

## `stars_4` (type: `boolean`):

Include 4-star hotels.

## `stars_3` (type: `boolean`):

Include 3-star hotels.

## `stars_2` (type: `boolean`):

Include 2-star hotels.

## `stars_1` (type: `boolean`):

Include 1-star hotels.

## `stars_no_stars` (type: `boolean`):

Include hotels with no star rating assigned.

## `rating_honours` (type: `boolean`):

Floor guest review score at 5.0 (With honours).

## `rating_excellent` (type: `boolean`):

Floor guest review score at 4.5 (Excellent).

## `rating_verygood` (type: `boolean`):

Floor guest review score at 4.0 (Very good).

## `rating_good` (type: `boolean`):

Floor guest review score at 3.5 (Good).

## `rating_satisfactory` (type: `boolean`):

Floor guest review score at 3.0 (Satisfactory).

## `traveller_family` (type: `boolean`):

Prefer hotels popular with families.

## `traveller_business` (type: `boolean`):

Prefer hotels popular with business travellers.

## `traveller_couple` (type: `boolean`):

Prefer hotels popular with couples.

## `traveller_solo` (type: `boolean`):

Prefer hotels popular with solo travellers.

## `types_hotel` (type: `boolean`):

Include hotels & motels.

## `types_apartment` (type: `boolean`):

Include apartments.

## `types_guesthouse` (type: `boolean`):

Include guesthouses & B\&Bs.

## `types_hostel` (type: `boolean`):

Include hostels & capsule hotels.

## `types_holidayrentals` (type: `boolean`):

Include villas & holiday rentals.

## `types_residencehotel` (type: `boolean`):

Include residence hotels.

## `types_privatehome` (type: `boolean`):

Include private homes.

## `types_countryhouse` (type: `boolean`):

Include country houses.

## `types_resort` (type: `boolean`):

Include resorts & wellness retreats.

## `types_uniquestays` (type: `boolean`):

Include unique stays (treehouses, igloos, etc.).

## `amenity_wifiservice` (type: `boolean`):

Keep only hotels that offer Wi-Fi.

## `amenity_parking` (type: `boolean`):

Keep only hotels that offer Parking.

## `amenity_airconditioning` (type: `boolean`):

Keep only hotels that offer Air conditioning.

## `amenity_airportshuttleservice` (type: `boolean`):

Keep only hotels that offer Airport shuttle.

## `amenity_pool` (type: `boolean`):

Keep only hotels that offer Pool.

## `amenity_fitnesscenter` (type: `boolean`):

Keep only hotels that offer Fitness centre.

## `amenity_spa` (type: `boolean`):

Keep only hotels that offer Spa.

## `amenity_frontdesk24hservice` (type: `boolean`):

Keep only hotels that offer Front desk 24 hour.

## `amenity_restaurant` (type: `boolean`):

Keep only hotels that offer Restaurant.

## `amenity_nonsmokingservice` (type: `boolean`):

Keep only hotels that offer Non smoking.

## `amenity_bathtub` (type: `boolean`):

Keep only hotels that offer Bathtub.

## `amenity_kitchen` (type: `boolean`):

Keep only hotels that offer Kitchen.

## `amenity_petsallowedservice` (type: `boolean`):

Keep only hotels that offer Pets allowed.

## `amenity_television` (type: `boolean`):

Keep only hotels that offer Television.

## `amenity_babysittingservice` (type: `boolean`):

Keep only hotels that offer Baby-sitting.

## `amenity_lift` (type: `boolean`):

Keep only hotels that offer Lift.

## `amenity_bar` (type: `boolean`):

Keep only hotels that offer Bar.

## `amenity_roomwithaseaview` (type: `boolean`):

Keep only hotels that offer Rooms with sea view.

## `amenity_disabledfacility` (type: `boolean`):

Keep only hotels that offer Disabled facilities.

## `amenity_privatebeach` (type: `boolean`):

Keep only hotels that offer Private beach.

## `amenity_roomwithamountainview` (type: `boolean`):

Keep only hotels that offer Rooms with a mountain view.

## `amenity_roomwithalakeview` (type: `boolean`):

Keep only hotels that offer Rooms with lake view.

## `amenity_hotspring` (type: `boolean`):

Keep only hotels that offer Hot Spring Bath (Onsen).

## `amenity_outdoorhotspringbath` (type: `boolean`):

Keep only hotels that offer Outdoor Hot spring bath.

## `amenity_privatehotspringbath` (type: `boolean`):

Keep only hotels that offer Private Hot spring bath.

## `amenity_runningnaturalhotspringbath` (type: `boolean`):

Keep only hotels that offer Running natural hot spring bath.

## `amenity_businesscenter` (type: `boolean`):

Keep only hotels that offer Business centre.

## `amenity_conferencefacility` (type: `boolean`):

Keep only hotels that offer Conference facilities.

## `amenity_congressfacility` (type: `boolean`):

Keep only hotels that offer Congress facility.

## `amenity_meetingroom` (type: `boolean`):

Keep only hotels that offer Meeting facilities.

## `amenity_secretaryservice` (type: `boolean`):

Keep only hotels that offer Secretary service.

## `amenity_executivefloor` (type: `boolean`):

Keep only hotels that offer Executive floor.

## `amenity_executivelounge` (type: `boolean`):

Keep only hotels that offer Executive lounge.

## `amenity_microwave` (type: `boolean`):

Keep only hotels that offer Microwave.

## `amenity_cafe` (type: `boolean`):

Keep only hotels that offer Café.

## `amenity_banquetingservice` (type: `boolean`):

Keep only hotels that offer Banqueting service.

## `amenity_breakfastroom` (type: `boolean`):

Keep only hotels that offer Breakfast room.

## `amenity_breakfasttogo` (type: `boolean`):

Keep only hotels that offer Breakfast To Go.

## `amenity_chineserestaurant` (type: `boolean`):

Keep only hotels that offer Chinese restaurant.

## `amenity_coffeemaker` (type: `boolean`):

Keep only hotels that offer Coffee maker.

## `amenity_bottledwaterservice` (type: `boolean`):

Keep only hotels that offer Complementary bottled water.

## `amenity_diningroom` (type: `boolean`):

Keep only hotels that offer Dining room.

## `amenity_teahouse` (type: `boolean`):

Keep only hotels that offer Teahouse.

## `amenity_westernrestaurant` (type: `boolean`):

Keep only hotels that offer Western restaurant.

## `amenity_barbeque` (type: `boolean`):

Keep only hotels that offer Barbecue.

## `amenity_lobbybar` (type: `boolean`):

Keep only hotels that offer Lobby bar.

## `amenity_childrenpool` (type: `boolean`):

Keep only hotels that offer Children's pool.

## `amenity_animationservice` (type: `boolean`):

Keep only hotels that offer Animation service.

## `amenity_playground` (type: `boolean`):

Keep only hotels that offer Playground.

## `amenity_childrenfacility` (type: `boolean`):

Keep only hotels that offer Children's facilities.

## `amenity_connectingroomsservice` (type: `boolean`):

Keep only hotels that offer Connecting rooms.

## `amenity_extrabed` (type: `boolean`):

Keep only hotels that offer Extra bed.

## `amenity_nursery` (type: `boolean`):

Keep only hotels that offer Nursery.

## `amenity_doctoroncallservice` (type: `boolean`):

Keep only hotels that offer Doctor on call.

## `amenity_firstaidroom` (type: `boolean`):

Keep only hotels that offer First aid room.

## `amenity_medicalservice` (type: `boolean`):

Keep only hotels that offer Medical service.

## `amenity_pharmacy` (type: `boolean`):

Keep only hotels that offer Pharmacy.

## `amenity_wheelchairaccess` (type: `boolean`):

Keep only hotels that offer Wheelchair access.

## `amenity_supermarket` (type: `boolean`):

Keep only hotels that offer Supermarket.

## `amenity_ticketoffice` (type: `boolean`):

Keep only hotels that offer Ticket office.

## `amenity_touristinformationoffice` (type: `boolean`):

Keep only hotels that offer Tourist information.

## `amenity_chapel` (type: `boolean`):

Keep only hotels that offer Chapel.

## `amenity_florist` (type: `boolean`):

Keep only hotels that offer Florist.

## `amenity_garden` (type: `boolean`):

Keep only hotels that offer Garden.

## `amenity_lounge` (type: `boolean`):

Keep only hotels that offer Lounge.

## `amenity_marina` (type: `boolean`):

Keep only hotels that offer Marina.

## `amenity_nonsmokingfloor` (type: `boolean`):

Keep only hotels that offer Non-smoking floor.

## `amenity_shop` (type: `boolean`):

Keep only hotels that offer Shops.

## `amenity_smokingarea` (type: `boolean`):

Keep only hotels that offer Smoking areas.

## `amenity_smokingservice` (type: `boolean`):

Keep only hotels that offer Smoking rooms.

## `amenity_weddingfacility` (type: `boolean`):

Keep only hotels that offer Wedding facilities.

## `amenity_balcony` (type: `boolean`):

Keep only hotels that offer Balcony.

## `amenity_bathrobeservice` (type: `boolean`):

Keep only hotels that offer Bathrobe.

## `amenity_cot` (type: `boolean`):

Keep only hotels that offer Cot.

## `amenity_desk` (type: `boolean`):

Keep only hotels that offer Desk.

## `amenity_heating` (type: `boolean`):

Keep only hotels that offer Heating.

## `amenity_hairdryer` (type: `boolean`):

Keep only hotels that offer Hairdryer.

## `amenity_ironingservice` (type: `boolean`):

Keep only hotels that offer Iron.

## `amenity_kitchenette` (type: `boolean`):

Keep only hotels that offer Kitchenette.

## `amenity_fireplace` (type: `boolean`):

Keep only hotels that offer Fireplace.

## `amenity_minibar` (type: `boolean`):

Keep only hotels that offer Minibar.

## `amenity_shower` (type: `boolean`):

Keep only hotels that offer Shower.

## `amenity_trouserpress` (type: `boolean`):

Keep only hotels that offer Trouser press.

## `amenity_bicyclerentalservice` (type: `boolean`):

Keep only hotels that offer Bicycle hire.

## `amenity_bowlingalley` (type: `boolean`):

Keep only hotels that offer Bowling alley.

## `amenity_beautysalon` (type: `boolean`):

Keep only hotels that offer Beauty salon.

## `amenity_billiards` (type: `boolean`):

Keep only hotels that offer Billiards.

## `amenity_bingo` (type: `boolean`):

Keep only hotels that offer Bingo.

## `amenity_casino` (type: `boolean`):

Keep only hotels that offer Casino.

## `amenity_gameroom` (type: `boolean`):

Keep only hotels that offer Games room.

## `amenity_decklounger` (type: `boolean`):

Keep only hotels that offer Deck lounger.

## `amenity_jacuzzi` (type: `boolean`):

Keep only hotels that offer Hot tub.

## `amenity_karaoke` (type: `boolean`):

Keep only hotels that offer Karaoke.

## `amenity_library` (type: `boolean`):

Keep only hotels that offer Library.

## `amenity_massageservice` (type: `boolean`):

Keep only hotels that offer Massage.

## `amenity_nightclub` (type: `boolean`):

Keep only hotels that offer Nightclub.

## `amenity_poolbar` (type: `boolean`):

Keep only hotels that offer Pool bar.

## `amenity_sauna` (type: `boolean`):

Keep only hotels that offer Sauna.

## `amenity_solarium` (type: `boolean`):

Keep only hotels that offer Solarium.

## `amenity_steamroom` (type: `boolean`):

Keep only hotels that offer Steam room.

## `amenity_sunumbrella` (type: `boolean`):

Keep only hotels that offer Beach umbrellas.

## `amenity_sunbathingarea` (type: `boolean`):

Keep only hotels that offer Sunbathing area.

## `amenity_turkishbath` (type: `boolean`):

Keep only hotels that offer Turkish bath.

## `amenity_uvsunbeds` (type: `boolean`):

Keep only hotels that offer UV sunbeds.

## `amenity_dailynewspaperservice` (type: `boolean`):

Keep only hotels that offer Daily newspaper service.

## `amenity_readingarea` (type: `boolean`):

Keep only hotels that offer Reading area.

## `amenity_photocopier` (type: `boolean`):

Keep only hotels that offer Photocopier.

## `amenity_radioservice` (type: `boolean`):

Keep only hotels that offer Radio service.

## `amenity_telephone` (type: `boolean`):

Keep only hotels that offer Telephone.

## `amenity_thematictvservice` (type: `boolean`):

Keep only hotels that offer Thematic TV service.

## `amenity_cdplayer` (type: `boolean`):

Keep only hotels that offer CD player.

## `amenity_dvdvideolibraryservice` (type: `boolean`):

Keep only hotels that offer DVD video library service.

## `amenity_fax` (type: `boolean`):

Keep only hotels that offer Fax.

## `amenity_entertainmentrooms` (type: `boolean`):

Keep only hotels that offer Entertainment rooms.

## `amenity_satellitetv` (type: `boolean`):

Keep only hotels that offer Satellite TV.

## `amenity_videogameservice` (type: `boolean`):

Keep only hotels that offer Video games console.

## `amenity_dvdvideoplayer` (type: `boolean`):

Keep only hotels that offer DVD video player.

## `amenity_laundry` (type: `boolean`):

Keep only hotels that offer Laundry.

## `amenity_bicyclestorage` (type: `boolean`):

Keep only hotels that offer Bicycle storage.

## `amenity_alarmclock` (type: `boolean`):

Keep only hotels that offer Alarm clock.

## `amenity_bellstaffservice` (type: `boolean`):

Keep only hotels that offer Bell staff.

## `amenity_butlerservice` (type: `boolean`):

Keep only hotels that offer Butler service.

## `amenity_conciergeservice` (type: `boolean`):

Keep only hotels that offer Concierge.

## `amenity_currencyexchangeservice` (type: `boolean`):

Keep only hotels that offer Currency exchange.

## `amenity_doormanservice` (type: `boolean`):

Keep only hotels that offer Doorman.

## `amenity_hairdressers` (type: `boolean`):

Keep only hotels that offer Hairdressers.

## `amenity_luggagestorage` (type: `boolean`):

Keep only hotels that offer Luggage storage.

## `amenity_roomservice` (type: `boolean`):

Keep only hotels that offer Room service.

## `amenity_shoepolishingservice` (type: `boolean`):

Keep only hotels that offer Shoe polishing.

## `amenity_skistorage` (type: `boolean`):

Keep only hotels that offer Ski storage.

## `amenity_tourservice` (type: `boolean`):

Keep only hotels that offer Tours.

## `amenity_translationservice` (type: `boolean`):

Keep only hotels that offer Translation services.

## `amenity_voicemailservice` (type: `boolean`):

Keep only hotels that offer Voice mail service.

## `amenity_wakeupcallservice` (type: `boolean`):

Keep only hotels that offer Wake up call.

## `amenity_safedepositbox` (type: `boolean`):

Keep only hotels that offer Safe deposit box.

## `amenity_earlycheckinservice` (type: `boolean`):

Keep only hotels that offer Early check-in.

## `amenity_latecheckoutservice` (type: `boolean`):

Keep only hotels that offer Late check-out.

## `amenity_expresscheckinservice` (type: `boolean`):

Keep only hotels that offer Express check-in.

## `amenity_expresscheckoutservice` (type: `boolean`):

Keep only hotels that offer Express check-out.

## `amenity_atm` (type: `boolean`):

Keep only hotels that offer ATM.

## `amenity_cashmachine` (type: `boolean`):

Keep only hotels that offer Cash machine.

## `amenity_multilingualstaffservice` (type: `boolean`):

Keep only hotels that offer Multilingual staff.

## `amenity_receptionarea` (type: `boolean`):

Keep only hotels that offer Reception area.

## `amenity_securityservice` (type: `boolean`):

Keep only hotels that offer Security.

## `amenity_basketballcourt` (type: `boolean`):

Keep only hotels that offer Basketball court.

## `amenity_divingservice` (type: `boolean`):

Keep only hotels that offer Diving.

## `amenity_golfcourse` (type: `boolean`):

Keep only hotels that offer Golf course.

## `amenity_gymnasium` (type: `boolean`):

Keep only hotels that offer Gymnasium.

## `amenity_horseridingservice` (type: `boolean`):

Keep only hotels that offer Horse riding.

## `amenity_indoorswimmingpool` (type: `boolean`):

Keep only hotels that offer Indoor pool.

## `amenity_outdoorswimmingpool` (type: `boolean`):

Keep only hotels that offer Outdoor pool.

## `amenity_minigolf` (type: `boolean`):

Keep only hotels that offer Minigolf.

## `amenity_padeltennis` (type: `boolean`):

Keep only hotels that offer Padel tennis.

## `amenity_sailingservice` (type: `boolean`):

Keep only hotels that offer Sailing service.

## `amenity_snorkeling` (type: `boolean`):

Keep only hotels that offer Snorkelling.

## `amenity_squashcourt` (type: `boolean`):

Keep only hotels that offer Squash.

## `amenity_tabletennis` (type: `boolean`):

Keep only hotels that offer Table tennis.

## `amenity_tenniscourt` (type: `boolean`):

Keep only hotels that offer Tennis court.

## `amenity_watersportsservice` (type: `boolean`):

Keep only hotels that offer Water sports.

## `amenity_outdoorparking` (type: `boolean`):

Keep only hotels that offer Outdoor parking.

## `amenity_carrental` (type: `boolean`):

Keep only hotels that offer Car hire.

## `amenity_indoorparking` (type: `boolean`):

Keep only hotels that offer Indoor parking.

## `amenity_limousineservice` (type: `boolean`):

Keep only hotels that offer Limousine service.

## `amenity_shuttleservice` (type: `boolean`):

Keep only hotels that offer Shuttle service.

## `amenity_skishuttleservice` (type: `boolean`):

Keep only hotels that offer Ski shuttle service.

## `amenity_stationshuttleservice` (type: `boolean`):

Keep only hotels that offer Station shuttle.

## `amenity_valetparkingservice` (type: `boolean`):

Keep only hotels that offer Valet parking.

## `amenity_broadbandservice` (type: `boolean`):

Keep only hotels that offer Broadband service.

## `amenity_wifiindesignatedareas` (type: `boolean`):

Keep only hotels that offer WiFi in designated areas.

## `amenity_internetaccessservice` (type: `boolean`):

Keep only hotels that offer Internet access.

## `amenity_modem` (type: `boolean`):

Keep only hotels that offer Modem.

## `amenity_wificommonareas` (type: `boolean`):

Keep only hotels that offer WiFi in common areas.

## `urls` (type: `array`):

Paste Skyscanner hotel-search URLs (anything with `entity_id=...` is used directly). Combine with **Location** above or use on its own for bulk runs.

**Example:** `https://www.skyscanner.net/hotels/search?entity_id=27537542&checkin=2026-07-01&checkout=2026-07-05&adults=2&rooms=1`

## `locations` (type: `array`):

Extra destination names resolved via autosuggest. Useful for batch runs with many locations.

## `hydrate_amenities` (type: `boolean`):

After the search, fetch each hotel's detail page in parallel to extract the full amenity list. Adds 1 extra request per hotel but gives you the complete `amenities` field.

## `hydrate_workers` (type: `integer`):

Concurrent detail-page fetches during amenity hydration. Lower this if you start hitting rate limits.

## `max_retries` (type: `integer`):

Per-IP retry budget before triggering a proxy escalation.

## `request_delay` (type: `number`):

Base pause between successive requests (seconds). Random jitter is added automatically.

## `proxyConfiguration` (type: `object`):

Defaults to **no proxy** (Apify cloud egress). Auto-escalates: **DATACENTER → RESIDENTIAL** on block (3 residential retries, then stops). Custom `proxyUrls` are tried first.

## Actor input object example

```json
{
  "location": "New York",
  "market": "US",
  "limit": 10,
  "sorting": "best",
  "checkin": "2026-07-01",
  "checkout": "2026-07-05",
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "currency": "USD",
  "free_cancellation": false,
  "pay_on_arrival": false,
  "non_refundable": false,
  "show_discounts": false,
  "breakfast_included": false,
  "meals_not_included": false,
  "stars_5": false,
  "stars_4": false,
  "stars_3": false,
  "stars_2": false,
  "stars_1": false,
  "stars_no_stars": false,
  "rating_honours": false,
  "rating_excellent": false,
  "rating_verygood": false,
  "rating_good": false,
  "rating_satisfactory": false,
  "traveller_family": false,
  "traveller_business": false,
  "traveller_couple": false,
  "traveller_solo": false,
  "types_hotel": false,
  "types_apartment": false,
  "types_guesthouse": false,
  "types_hostel": false,
  "types_holidayrentals": false,
  "types_residencehotel": false,
  "types_privatehome": false,
  "types_countryhouse": false,
  "types_resort": false,
  "types_uniquestays": false,
  "amenity_wifiservice": false,
  "amenity_parking": false,
  "amenity_airconditioning": false,
  "amenity_airportshuttleservice": false,
  "amenity_pool": false,
  "amenity_fitnesscenter": false,
  "amenity_spa": false,
  "amenity_frontdesk24hservice": false,
  "amenity_restaurant": false,
  "amenity_nonsmokingservice": false,
  "amenity_bathtub": false,
  "amenity_kitchen": false,
  "amenity_petsallowedservice": false,
  "amenity_television": false,
  "amenity_babysittingservice": false,
  "amenity_lift": false,
  "amenity_bar": false,
  "amenity_roomwithaseaview": false,
  "amenity_disabledfacility": false,
  "amenity_privatebeach": false,
  "amenity_roomwithamountainview": false,
  "amenity_roomwithalakeview": false,
  "amenity_hotspring": false,
  "amenity_outdoorhotspringbath": false,
  "amenity_privatehotspringbath": false,
  "amenity_runningnaturalhotspringbath": false,
  "amenity_businesscenter": false,
  "amenity_conferencefacility": false,
  "amenity_congressfacility": false,
  "amenity_meetingroom": false,
  "amenity_secretaryservice": false,
  "amenity_executivefloor": false,
  "amenity_executivelounge": false,
  "amenity_microwave": false,
  "amenity_cafe": false,
  "amenity_banquetingservice": false,
  "amenity_breakfastroom": false,
  "amenity_breakfasttogo": false,
  "amenity_chineserestaurant": false,
  "amenity_coffeemaker": false,
  "amenity_bottledwaterservice": false,
  "amenity_diningroom": false,
  "amenity_teahouse": false,
  "amenity_westernrestaurant": false,
  "amenity_barbeque": false,
  "amenity_lobbybar": false,
  "amenity_childrenpool": false,
  "amenity_animationservice": false,
  "amenity_playground": false,
  "amenity_childrenfacility": false,
  "amenity_connectingroomsservice": false,
  "amenity_extrabed": false,
  "amenity_nursery": false,
  "amenity_doctoroncallservice": false,
  "amenity_firstaidroom": false,
  "amenity_medicalservice": false,
  "amenity_pharmacy": false,
  "amenity_wheelchairaccess": false,
  "amenity_supermarket": false,
  "amenity_ticketoffice": false,
  "amenity_touristinformationoffice": false,
  "amenity_chapel": false,
  "amenity_florist": false,
  "amenity_garden": false,
  "amenity_lounge": false,
  "amenity_marina": false,
  "amenity_nonsmokingfloor": false,
  "amenity_shop": false,
  "amenity_smokingarea": false,
  "amenity_smokingservice": false,
  "amenity_weddingfacility": false,
  "amenity_balcony": false,
  "amenity_bathrobeservice": false,
  "amenity_cot": false,
  "amenity_desk": false,
  "amenity_heating": false,
  "amenity_hairdryer": false,
  "amenity_ironingservice": false,
  "amenity_kitchenette": false,
  "amenity_fireplace": false,
  "amenity_minibar": false,
  "amenity_shower": false,
  "amenity_trouserpress": false,
  "amenity_bicyclerentalservice": false,
  "amenity_bowlingalley": false,
  "amenity_beautysalon": false,
  "amenity_billiards": false,
  "amenity_bingo": false,
  "amenity_casino": false,
  "amenity_gameroom": false,
  "amenity_decklounger": false,
  "amenity_jacuzzi": false,
  "amenity_karaoke": false,
  "amenity_library": false,
  "amenity_massageservice": false,
  "amenity_nightclub": false,
  "amenity_poolbar": false,
  "amenity_sauna": false,
  "amenity_solarium": false,
  "amenity_steamroom": false,
  "amenity_sunumbrella": false,
  "amenity_sunbathingarea": false,
  "amenity_turkishbath": false,
  "amenity_uvsunbeds": false,
  "amenity_dailynewspaperservice": false,
  "amenity_readingarea": false,
  "amenity_photocopier": false,
  "amenity_radioservice": false,
  "amenity_telephone": false,
  "amenity_thematictvservice": false,
  "amenity_cdplayer": false,
  "amenity_dvdvideolibraryservice": false,
  "amenity_fax": false,
  "amenity_entertainmentrooms": false,
  "amenity_satellitetv": false,
  "amenity_videogameservice": false,
  "amenity_dvdvideoplayer": false,
  "amenity_laundry": false,
  "amenity_bicyclestorage": false,
  "amenity_alarmclock": false,
  "amenity_bellstaffservice": false,
  "amenity_butlerservice": false,
  "amenity_conciergeservice": false,
  "amenity_currencyexchangeservice": false,
  "amenity_doormanservice": false,
  "amenity_hairdressers": false,
  "amenity_luggagestorage": false,
  "amenity_roomservice": false,
  "amenity_shoepolishingservice": false,
  "amenity_skistorage": false,
  "amenity_tourservice": false,
  "amenity_translationservice": false,
  "amenity_voicemailservice": false,
  "amenity_wakeupcallservice": false,
  "amenity_safedepositbox": false,
  "amenity_earlycheckinservice": false,
  "amenity_latecheckoutservice": false,
  "amenity_expresscheckinservice": false,
  "amenity_expresscheckoutservice": false,
  "amenity_atm": false,
  "amenity_cashmachine": false,
  "amenity_multilingualstaffservice": false,
  "amenity_receptionarea": false,
  "amenity_securityservice": false,
  "amenity_basketballcourt": false,
  "amenity_divingservice": false,
  "amenity_golfcourse": false,
  "amenity_gymnasium": false,
  "amenity_horseridingservice": false,
  "amenity_indoorswimmingpool": false,
  "amenity_outdoorswimmingpool": false,
  "amenity_minigolf": false,
  "amenity_padeltennis": false,
  "amenity_sailingservice": false,
  "amenity_snorkeling": false,
  "amenity_squashcourt": false,
  "amenity_tabletennis": false,
  "amenity_tenniscourt": false,
  "amenity_watersportsservice": false,
  "amenity_outdoorparking": false,
  "amenity_carrental": false,
  "amenity_indoorparking": false,
  "amenity_limousineservice": false,
  "amenity_shuttleservice": false,
  "amenity_skishuttleservice": false,
  "amenity_stationshuttleservice": false,
  "amenity_valetparkingservice": false,
  "amenity_broadbandservice": false,
  "amenity_wifiindesignatedareas": false,
  "amenity_internetaccessservice": false,
  "amenity_modem": false,
  "amenity_wificommonareas": false,
  "hydrate_amenities": true,
  "hydrate_workers": 6,
  "max_retries": 3,
  "request_delay": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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": "New York",
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapelabsapi/skyscanner-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 = {
    "location": "New York",
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapelabsapi/skyscanner-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 '{
  "location": "New York",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapelabsapi/skyscanner-hotels-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🏨 Skyscanner Hotels Scraper",
        "description": "Scrape Skyscanner hotel search at scale — prices, stars, reviews, amenities, partner offers, GPS and images — for any destination. Smart proxy auto-escalation (direct → datacenter → residential) and live streaming results.",
        "version": "0.1",
        "x-build-id": "p58fikooyGzesvLw0"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapelabsapi~skyscanner-hotels-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapelabsapi-skyscanner-hotels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapelabsapi~skyscanner-hotels-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapelabsapi-skyscanner-hotels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapelabsapi~skyscanner-hotels-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapelabsapi-skyscanner-hotels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "location": {
                        "title": "📍 Location",
                        "type": "string",
                        "description": "Destination name — Skyscanner's autosuggest resolves it at runtime. **Examples:** `Alaska`, `New York`, `Tokyo`, `Bali`, `Paris`.\n\nFor URL-based or bulk input use the **Bulk URLs / destinations** section below."
                    },
                    "market": {
                        "title": "🌍 Market",
                        "enum": [
                            "US",
                            "GB",
                            "CA",
                            "AU",
                            "IN",
                            "DE",
                            "FR",
                            "ES",
                            "IT",
                            "JP",
                            "AE",
                            "SG",
                            "MY",
                            "PH",
                            "BD",
                            "CN",
                            "TH",
                            "ID",
                            "KR",
                            "NZ",
                            "CH",
                            "SE",
                            "NO",
                            "DK",
                            "NL",
                            "BE",
                            "PT",
                            "PL",
                            "CZ",
                            "HU",
                            "RO",
                            "TR",
                            "SA",
                            "QA",
                            "KW",
                            "EG",
                            "ZA",
                            "BR",
                            "MX",
                            "AR"
                        ],
                        "type": "string",
                        "description": "Skyscanner market — affects pricing locale and partner availability.",
                        "default": "US"
                    },
                    "limit": {
                        "title": "🔢 Limit",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of hotels to return per destination. Skyscanner caps each call at 50 — the actor paginates automatically.",
                        "default": 10
                    },
                    "sorting": {
                        "title": "🔀 Sorting",
                        "enum": [
                            "best",
                            "price_low",
                            "price_high",
                            "rating",
                            "stars_high",
                            "stars_low",
                            "distance"
                        ],
                        "type": "string",
                        "description": "How to order the final result list. `Best` keeps Skyscanner's own recommended order. All other modes are applied client-side after the search.",
                        "default": "best"
                    },
                    "checkin": {
                        "title": "📅 Check-In",
                        "type": "string",
                        "description": "Check-in date `YYYY-MM-DD`.",
                        "default": "2026-07-01"
                    },
                    "checkout": {
                        "title": "📅 Check-Out",
                        "type": "string",
                        "description": "Check-out date `YYYY-MM-DD`. Must be after check-in.",
                        "default": "2026-07-05"
                    },
                    "adults": {
                        "title": "🧑 Adults",
                        "minimum": 1,
                        "maximum": 16,
                        "type": "integer",
                        "description": "Number of adult travellers.",
                        "default": 2
                    },
                    "children": {
                        "title": "🧒 Children",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of children (each priced at age 10).",
                        "default": 0
                    },
                    "rooms": {
                        "title": "🛏️ Rooms",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Number of rooms to price.",
                        "default": 1
                    },
                    "currency": {
                        "title": "💱 Currency",
                        "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "AUD",
                            "CAD",
                            "INR",
                            "JPY",
                            "AED",
                            "SGD",
                            "MYR",
                            "PHP",
                            "BDT",
                            "CNY",
                            "THB",
                            "IDR",
                            "KRW",
                            "NZD",
                            "CHF",
                            "SEK",
                            "NOK",
                            "DKK"
                        ],
                        "type": "string",
                        "description": "Display currency for prices.",
                        "default": "USD"
                    },
                    "free_cancellation": {
                        "title": "🚫 Free cancellation",
                        "type": "boolean",
                        "description": "Show only hotels with free cancellation. Maps to Skyscanner's `confidentTypeFilter`.",
                        "default": false
                    },
                    "pay_on_arrival": {
                        "title": "🏨 Pay on arrival",
                        "type": "boolean",
                        "description": "Best-effort: keep only hotels where a partner offer advertises pay-at-property.",
                        "default": false
                    },
                    "non_refundable": {
                        "title": "🔒 Non refundable",
                        "type": "boolean",
                        "description": "Best-effort: keep only non-refundable hotels (no free-cancellation badge found).",
                        "default": false
                    },
                    "min_price": {
                        "title": "💵 Min. Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum per-night price (in selected currency). Leave blank for no minimum."
                    },
                    "max_price": {
                        "title": "💵 Max. Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum per-night price (in selected currency). Leave blank for no maximum."
                    },
                    "show_discounts": {
                        "title": "💸 Show discounts",
                        "type": "boolean",
                        "description": "Surface members-only / closed-user-group discounted prices (`discountTypeFilter`).",
                        "default": false
                    },
                    "breakfast_included": {
                        "title": "🥐 Breakfast included",
                        "type": "boolean",
                        "description": "Show only hotels where breakfast is included in the room rate.",
                        "default": false
                    },
                    "meals_not_included": {
                        "title": "🍽️ Meals NOT included",
                        "type": "boolean",
                        "description": "Best-effort: keep only hotels whose offers do not advertise a meal plan (room-only).",
                        "default": false
                    },
                    "stars_5": {
                        "title": "⭐⭐⭐⭐⭐ 5 Stars",
                        "type": "boolean",
                        "description": "Include 5-star hotels.",
                        "default": false
                    },
                    "stars_4": {
                        "title": "⭐⭐⭐⭐ 4 Stars",
                        "type": "boolean",
                        "description": "Include 4-star hotels.",
                        "default": false
                    },
                    "stars_3": {
                        "title": "⭐⭐⭐ 3 Stars",
                        "type": "boolean",
                        "description": "Include 3-star hotels.",
                        "default": false
                    },
                    "stars_2": {
                        "title": "⭐⭐ 2 Stars",
                        "type": "boolean",
                        "description": "Include 2-star hotels.",
                        "default": false
                    },
                    "stars_1": {
                        "title": "⭐ 1 Star",
                        "type": "boolean",
                        "description": "Include 1-star hotels.",
                        "default": false
                    },
                    "stars_no_stars": {
                        "title": "🚫 Unrated",
                        "type": "boolean",
                        "description": "Include hotels with no star rating assigned.",
                        "default": false
                    },
                    "rating_honours": {
                        "title": "🏆 5.0+ With honours",
                        "type": "boolean",
                        "description": "Floor guest review score at 5.0 (With honours).",
                        "default": false
                    },
                    "rating_excellent": {
                        "title": "😃 4.5+ Excellent",
                        "type": "boolean",
                        "description": "Floor guest review score at 4.5 (Excellent).",
                        "default": false
                    },
                    "rating_verygood": {
                        "title": "🙂 4.0+ Very good",
                        "type": "boolean",
                        "description": "Floor guest review score at 4.0 (Very good).",
                        "default": false
                    },
                    "rating_good": {
                        "title": "👍 3.5+ Good",
                        "type": "boolean",
                        "description": "Floor guest review score at 3.5 (Good).",
                        "default": false
                    },
                    "rating_satisfactory": {
                        "title": "👌 3.0+ Satisfactory",
                        "type": "boolean",
                        "description": "Floor guest review score at 3.0 (Satisfactory).",
                        "default": false
                    },
                    "traveller_family": {
                        "title": "👨‍👩‍👧 Families",
                        "type": "boolean",
                        "description": "Prefer hotels popular with families.",
                        "default": false
                    },
                    "traveller_business": {
                        "title": "💼 Business travellers",
                        "type": "boolean",
                        "description": "Prefer hotels popular with business travellers.",
                        "default": false
                    },
                    "traveller_couple": {
                        "title": "💑 Couples",
                        "type": "boolean",
                        "description": "Prefer hotels popular with couples.",
                        "default": false
                    },
                    "traveller_solo": {
                        "title": "🚶 Solo",
                        "type": "boolean",
                        "description": "Prefer hotels popular with solo travellers.",
                        "default": false
                    },
                    "types_hotel": {
                        "title": "🏨 Hotel",
                        "type": "boolean",
                        "description": "Include hotels & motels.",
                        "default": false
                    },
                    "types_apartment": {
                        "title": "🏢 Apartment",
                        "type": "boolean",
                        "description": "Include apartments.",
                        "default": false
                    },
                    "types_guesthouse": {
                        "title": "🛌 Guest house",
                        "type": "boolean",
                        "description": "Include guesthouses & B&Bs.",
                        "default": false
                    },
                    "types_hostel": {
                        "title": "🎒 Hostel",
                        "type": "boolean",
                        "description": "Include hostels & capsule hotels.",
                        "default": false
                    },
                    "types_holidayrentals": {
                        "title": "🏖️ Holiday rentals",
                        "type": "boolean",
                        "description": "Include villas & holiday rentals.",
                        "default": false
                    },
                    "types_residencehotel": {
                        "title": "🏬 Residence",
                        "type": "boolean",
                        "description": "Include residence hotels.",
                        "default": false
                    },
                    "types_privatehome": {
                        "title": "🏡 Private home",
                        "type": "boolean",
                        "description": "Include private homes.",
                        "default": false
                    },
                    "types_countryhouse": {
                        "title": "🌾 Country house",
                        "type": "boolean",
                        "description": "Include country houses.",
                        "default": false
                    },
                    "types_resort": {
                        "title": "🌴 Resort",
                        "type": "boolean",
                        "description": "Include resorts & wellness retreats.",
                        "default": false
                    },
                    "types_uniquestays": {
                        "title": "✨ Unique stays",
                        "type": "boolean",
                        "description": "Include unique stays (treehouses, igloos, etc.).",
                        "default": false
                    },
                    "amenity_wifiservice": {
                        "title": "📶 Wi-Fi",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Wi-Fi.",
                        "default": false
                    },
                    "amenity_parking": {
                        "title": "🅿️ Parking",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Parking.",
                        "default": false
                    },
                    "amenity_airconditioning": {
                        "title": "❄️ Air conditioning",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Air conditioning.",
                        "default": false
                    },
                    "amenity_airportshuttleservice": {
                        "title": "🚐 Airport shuttle",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Airport shuttle.",
                        "default": false
                    },
                    "amenity_pool": {
                        "title": "🏊 Pool",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Pool.",
                        "default": false
                    },
                    "amenity_fitnesscenter": {
                        "title": "🏋️ Fitness centre",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Fitness centre.",
                        "default": false
                    },
                    "amenity_spa": {
                        "title": "💆 Spa",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Spa.",
                        "default": false
                    },
                    "amenity_frontdesk24hservice": {
                        "title": "🛎️ Front desk 24 hour",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Front desk 24 hour.",
                        "default": false
                    },
                    "amenity_restaurant": {
                        "title": "🍽️ Restaurant",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Restaurant.",
                        "default": false
                    },
                    "amenity_nonsmokingservice": {
                        "title": "🚭 Non smoking",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Non smoking.",
                        "default": false
                    },
                    "amenity_bathtub": {
                        "title": "🛁 Bathtub",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Bathtub.",
                        "default": false
                    },
                    "amenity_kitchen": {
                        "title": "🍳 Kitchen",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Kitchen.",
                        "default": false
                    },
                    "amenity_petsallowedservice": {
                        "title": "🐶 Pets allowed",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Pets allowed.",
                        "default": false
                    },
                    "amenity_television": {
                        "title": "📺 Television",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Television.",
                        "default": false
                    },
                    "amenity_babysittingservice": {
                        "title": "👶 Baby-sitting",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Baby-sitting.",
                        "default": false
                    },
                    "amenity_lift": {
                        "title": "🛗 Lift",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Lift.",
                        "default": false
                    },
                    "amenity_bar": {
                        "title": "🍷 Bar",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Bar.",
                        "default": false
                    },
                    "amenity_roomwithaseaview": {
                        "title": "🌊 Rooms with sea view",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Rooms with sea view.",
                        "default": false
                    },
                    "amenity_disabledfacility": {
                        "title": "♿ Disabled facilities",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Disabled facilities.",
                        "default": false
                    },
                    "amenity_privatebeach": {
                        "title": "🏖️ Private beach",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Private beach.",
                        "default": false
                    },
                    "amenity_roomwithamountainview": {
                        "title": "⛰️ Rooms with a mountain view",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Rooms with a mountain view.",
                        "default": false
                    },
                    "amenity_roomwithalakeview": {
                        "title": "🏞️ Rooms with lake view",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Rooms with lake view.",
                        "default": false
                    },
                    "amenity_hotspring": {
                        "title": "♨️ Hot Spring Bath (Onsen)",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Hot Spring Bath (Onsen).",
                        "default": false
                    },
                    "amenity_outdoorhotspringbath": {
                        "title": "♨️ Outdoor Hot spring bath",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Outdoor Hot spring bath.",
                        "default": false
                    },
                    "amenity_privatehotspringbath": {
                        "title": "♨️ Private Hot spring bath",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Private Hot spring bath.",
                        "default": false
                    },
                    "amenity_runningnaturalhotspringbath": {
                        "title": "♨️ Running natural hot spring bath",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Running natural hot spring bath.",
                        "default": false
                    },
                    "amenity_businesscenter": {
                        "title": "💼 Business centre",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Business centre.",
                        "default": false
                    },
                    "amenity_conferencefacility": {
                        "title": "🗣️ Conference facilities",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Conference facilities.",
                        "default": false
                    },
                    "amenity_congressfacility": {
                        "title": "🏛️ Congress facility",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Congress facility.",
                        "default": false
                    },
                    "amenity_meetingroom": {
                        "title": "📋 Meeting facilities",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Meeting facilities.",
                        "default": false
                    },
                    "amenity_secretaryservice": {
                        "title": "🗂️ Secretary service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Secretary service.",
                        "default": false
                    },
                    "amenity_executivefloor": {
                        "title": "🏢 Executive floor",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Executive floor.",
                        "default": false
                    },
                    "amenity_executivelounge": {
                        "title": "🛋️ Executive lounge",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Executive lounge.",
                        "default": false
                    },
                    "amenity_microwave": {
                        "title": "🍲 Microwave",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Microwave.",
                        "default": false
                    },
                    "amenity_cafe": {
                        "title": "☕ Café",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Café.",
                        "default": false
                    },
                    "amenity_banquetingservice": {
                        "title": "🎀 Banqueting service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Banqueting service.",
                        "default": false
                    },
                    "amenity_breakfastroom": {
                        "title": "🥐 Breakfast room",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Breakfast room.",
                        "default": false
                    },
                    "amenity_breakfasttogo": {
                        "title": "🥡 Breakfast To Go",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Breakfast To Go.",
                        "default": false
                    },
                    "amenity_chineserestaurant": {
                        "title": "🥢 Chinese restaurant",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Chinese restaurant.",
                        "default": false
                    },
                    "amenity_coffeemaker": {
                        "title": "☕ Coffee maker",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Coffee maker.",
                        "default": false
                    },
                    "amenity_bottledwaterservice": {
                        "title": "💧 Complementary bottled water",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Complementary bottled water.",
                        "default": false
                    },
                    "amenity_diningroom": {
                        "title": "🍴 Dining room",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Dining room.",
                        "default": false
                    },
                    "amenity_teahouse": {
                        "title": "🍵 Teahouse",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Teahouse.",
                        "default": false
                    },
                    "amenity_westernrestaurant": {
                        "title": "🍝 Western restaurant",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Western restaurant.",
                        "default": false
                    },
                    "amenity_barbeque": {
                        "title": "🍖 Barbecue",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Barbecue.",
                        "default": false
                    },
                    "amenity_lobbybar": {
                        "title": "🍸 Lobby bar",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Lobby bar.",
                        "default": false
                    },
                    "amenity_childrenpool": {
                        "title": "🤽 Children's pool",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Children's pool.",
                        "default": false
                    },
                    "amenity_animationservice": {
                        "title": "🎭 Animation service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Animation service.",
                        "default": false
                    },
                    "amenity_playground": {
                        "title": "🛝 Playground",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Playground.",
                        "default": false
                    },
                    "amenity_childrenfacility": {
                        "title": "🧸 Children's facilities",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Children's facilities.",
                        "default": false
                    },
                    "amenity_connectingroomsservice": {
                        "title": "🚪 Connecting rooms",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Connecting rooms.",
                        "default": false
                    },
                    "amenity_extrabed": {
                        "title": "🛏️ Extra bed",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Extra bed.",
                        "default": false
                    },
                    "amenity_nursery": {
                        "title": "🍼 Nursery",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Nursery.",
                        "default": false
                    },
                    "amenity_doctoroncallservice": {
                        "title": "🩺 Doctor on call",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Doctor on call.",
                        "default": false
                    },
                    "amenity_firstaidroom": {
                        "title": "🚑 First aid room",
                        "type": "boolean",
                        "description": "Keep only hotels that offer First aid room.",
                        "default": false
                    },
                    "amenity_medicalservice": {
                        "title": "⚕️ Medical service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Medical service.",
                        "default": false
                    },
                    "amenity_pharmacy": {
                        "title": "💊 Pharmacy",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Pharmacy.",
                        "default": false
                    },
                    "amenity_wheelchairaccess": {
                        "title": "♿ Wheelchair access",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Wheelchair access.",
                        "default": false
                    },
                    "amenity_supermarket": {
                        "title": "🛒 Supermarket",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Supermarket.",
                        "default": false
                    },
                    "amenity_ticketoffice": {
                        "title": "🎟️ Ticket office",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Ticket office.",
                        "default": false
                    },
                    "amenity_touristinformationoffice": {
                        "title": "🗺️ Tourist information",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Tourist information.",
                        "default": false
                    },
                    "amenity_chapel": {
                        "title": "⛪ Chapel",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Chapel.",
                        "default": false
                    },
                    "amenity_florist": {
                        "title": "💐 Florist",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Florist.",
                        "default": false
                    },
                    "amenity_garden": {
                        "title": "🌳 Garden",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Garden.",
                        "default": false
                    },
                    "amenity_lounge": {
                        "title": "🛋️ Lounge",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Lounge.",
                        "default": false
                    },
                    "amenity_marina": {
                        "title": "⛵ Marina",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Marina.",
                        "default": false
                    },
                    "amenity_nonsmokingfloor": {
                        "title": "🚭 Non-smoking floor",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Non-smoking floor.",
                        "default": false
                    },
                    "amenity_shop": {
                        "title": "🛍️ Shops",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Shops.",
                        "default": false
                    },
                    "amenity_smokingarea": {
                        "title": "🚬 Smoking areas",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Smoking areas.",
                        "default": false
                    },
                    "amenity_smokingservice": {
                        "title": "🚬 Smoking rooms",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Smoking rooms.",
                        "default": false
                    },
                    "amenity_weddingfacility": {
                        "title": "💒 Wedding facilities",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Wedding facilities.",
                        "default": false
                    },
                    "amenity_balcony": {
                        "title": "🪟 Balcony",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Balcony.",
                        "default": false
                    },
                    "amenity_bathrobeservice": {
                        "title": "🥼 Bathrobe",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Bathrobe.",
                        "default": false
                    },
                    "amenity_cot": {
                        "title": "🛏️ Cot",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Cot.",
                        "default": false
                    },
                    "amenity_desk": {
                        "title": "🪑 Desk",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Desk.",
                        "default": false
                    },
                    "amenity_heating": {
                        "title": "🔥 Heating",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Heating.",
                        "default": false
                    },
                    "amenity_hairdryer": {
                        "title": "💨 Hairdryer",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Hairdryer.",
                        "default": false
                    },
                    "amenity_ironingservice": {
                        "title": "👔 Iron",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Iron.",
                        "default": false
                    },
                    "amenity_kitchenette": {
                        "title": "🍳 Kitchenette",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Kitchenette.",
                        "default": false
                    },
                    "amenity_fireplace": {
                        "title": "🪵 Fireplace",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Fireplace.",
                        "default": false
                    },
                    "amenity_minibar": {
                        "title": "🧊 Minibar",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Minibar.",
                        "default": false
                    },
                    "amenity_shower": {
                        "title": "🚿 Shower",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Shower.",
                        "default": false
                    },
                    "amenity_trouserpress": {
                        "title": "👖 Trouser press",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Trouser press.",
                        "default": false
                    },
                    "amenity_bicyclerentalservice": {
                        "title": "🚲 Bicycle hire",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Bicycle hire.",
                        "default": false
                    },
                    "amenity_bowlingalley": {
                        "title": "🎳 Bowling alley",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Bowling alley.",
                        "default": false
                    },
                    "amenity_beautysalon": {
                        "title": "💅 Beauty salon",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Beauty salon.",
                        "default": false
                    },
                    "amenity_billiards": {
                        "title": "🎱 Billiards",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Billiards.",
                        "default": false
                    },
                    "amenity_bingo": {
                        "title": "🎟️ Bingo",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Bingo.",
                        "default": false
                    },
                    "amenity_casino": {
                        "title": "🎰 Casino",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Casino.",
                        "default": false
                    },
                    "amenity_gameroom": {
                        "title": "🎮 Games room",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Games room.",
                        "default": false
                    },
                    "amenity_decklounger": {
                        "title": "🪑 Deck lounger",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Deck lounger.",
                        "default": false
                    },
                    "amenity_jacuzzi": {
                        "title": "🛁 Hot tub",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Hot tub.",
                        "default": false
                    },
                    "amenity_karaoke": {
                        "title": "🎤 Karaoke",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Karaoke.",
                        "default": false
                    },
                    "amenity_library": {
                        "title": "📚 Library",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Library.",
                        "default": false
                    },
                    "amenity_massageservice": {
                        "title": "💆 Massage",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Massage.",
                        "default": false
                    },
                    "amenity_nightclub": {
                        "title": "🪩 Nightclub",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Nightclub.",
                        "default": false
                    },
                    "amenity_poolbar": {
                        "title": "🍹 Pool bar",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Pool bar.",
                        "default": false
                    },
                    "amenity_sauna": {
                        "title": "🧖 Sauna",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Sauna.",
                        "default": false
                    },
                    "amenity_solarium": {
                        "title": "☀️ Solarium",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Solarium.",
                        "default": false
                    },
                    "amenity_steamroom": {
                        "title": "♨️ Steam room",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Steam room.",
                        "default": false
                    },
                    "amenity_sunumbrella": {
                        "title": "⛱️ Beach umbrellas",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Beach umbrellas.",
                        "default": false
                    },
                    "amenity_sunbathingarea": {
                        "title": "🌞 Sunbathing area",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Sunbathing area.",
                        "default": false
                    },
                    "amenity_turkishbath": {
                        "title": "🛁 Turkish bath",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Turkish bath.",
                        "default": false
                    },
                    "amenity_uvsunbeds": {
                        "title": "🌅 UV sunbeds",
                        "type": "boolean",
                        "description": "Keep only hotels that offer UV sunbeds.",
                        "default": false
                    },
                    "amenity_dailynewspaperservice": {
                        "title": "📰 Daily newspaper service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Daily newspaper service.",
                        "default": false
                    },
                    "amenity_readingarea": {
                        "title": "📖 Reading area",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Reading area.",
                        "default": false
                    },
                    "amenity_photocopier": {
                        "title": "📄 Photocopier",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Photocopier.",
                        "default": false
                    },
                    "amenity_radioservice": {
                        "title": "📻 Radio service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Radio service.",
                        "default": false
                    },
                    "amenity_telephone": {
                        "title": "☎️ Telephone",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Telephone.",
                        "default": false
                    },
                    "amenity_thematictvservice": {
                        "title": "📺 Thematic TV service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Thematic TV service.",
                        "default": false
                    },
                    "amenity_cdplayer": {
                        "title": "💿 CD player",
                        "type": "boolean",
                        "description": "Keep only hotels that offer CD player.",
                        "default": false
                    },
                    "amenity_dvdvideolibraryservice": {
                        "title": "📀 DVD video library service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer DVD video library service.",
                        "default": false
                    },
                    "amenity_fax": {
                        "title": "📠 Fax",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Fax.",
                        "default": false
                    },
                    "amenity_entertainmentrooms": {
                        "title": "🎬 Entertainment rooms",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Entertainment rooms.",
                        "default": false
                    },
                    "amenity_satellitetv": {
                        "title": "📡 Satellite TV",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Satellite TV.",
                        "default": false
                    },
                    "amenity_videogameservice": {
                        "title": "🕹️ Video games console",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Video games console.",
                        "default": false
                    },
                    "amenity_dvdvideoplayer": {
                        "title": "📀 DVD video player",
                        "type": "boolean",
                        "description": "Keep only hotels that offer DVD video player.",
                        "default": false
                    },
                    "amenity_laundry": {
                        "title": "🧺 Laundry",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Laundry.",
                        "default": false
                    },
                    "amenity_bicyclestorage": {
                        "title": "🚲 Bicycle storage",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Bicycle storage.",
                        "default": false
                    },
                    "amenity_alarmclock": {
                        "title": "⏰ Alarm clock",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Alarm clock.",
                        "default": false
                    },
                    "amenity_bellstaffservice": {
                        "title": "🛎️ Bell staff",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Bell staff.",
                        "default": false
                    },
                    "amenity_butlerservice": {
                        "title": "🤵 Butler service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Butler service.",
                        "default": false
                    },
                    "amenity_conciergeservice": {
                        "title": "🧳 Concierge",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Concierge.",
                        "default": false
                    },
                    "amenity_currencyexchangeservice": {
                        "title": "💱 Currency exchange",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Currency exchange.",
                        "default": false
                    },
                    "amenity_doormanservice": {
                        "title": "🚪 Doorman",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Doorman.",
                        "default": false
                    },
                    "amenity_hairdressers": {
                        "title": "💇 Hairdressers",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Hairdressers.",
                        "default": false
                    },
                    "amenity_luggagestorage": {
                        "title": "🧳 Luggage storage",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Luggage storage.",
                        "default": false
                    },
                    "amenity_roomservice": {
                        "title": "🍽️ Room service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Room service.",
                        "default": false
                    },
                    "amenity_shoepolishingservice": {
                        "title": "👞 Shoe polishing",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Shoe polishing.",
                        "default": false
                    },
                    "amenity_skistorage": {
                        "title": "🎿 Ski storage",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Ski storage.",
                        "default": false
                    },
                    "amenity_tourservice": {
                        "title": "🧭 Tours",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Tours.",
                        "default": false
                    },
                    "amenity_translationservice": {
                        "title": "🌐 Translation services",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Translation services.",
                        "default": false
                    },
                    "amenity_voicemailservice": {
                        "title": "📞 Voice mail service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Voice mail service.",
                        "default": false
                    },
                    "amenity_wakeupcallservice": {
                        "title": "📳 Wake up call",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Wake up call.",
                        "default": false
                    },
                    "amenity_safedepositbox": {
                        "title": "🔐 Safe deposit box",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Safe deposit box.",
                        "default": false
                    },
                    "amenity_earlycheckinservice": {
                        "title": "🕐 Early check-in",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Early check-in.",
                        "default": false
                    },
                    "amenity_latecheckoutservice": {
                        "title": "🕓 Late check-out",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Late check-out.",
                        "default": false
                    },
                    "amenity_expresscheckinservice": {
                        "title": "⚡ Express check-in",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Express check-in.",
                        "default": false
                    },
                    "amenity_expresscheckoutservice": {
                        "title": "⚡ Express check-out",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Express check-out.",
                        "default": false
                    },
                    "amenity_atm": {
                        "title": "🏧 ATM",
                        "type": "boolean",
                        "description": "Keep only hotels that offer ATM.",
                        "default": false
                    },
                    "amenity_cashmachine": {
                        "title": "💵 Cash machine",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Cash machine.",
                        "default": false
                    },
                    "amenity_multilingualstaffservice": {
                        "title": "🗣️ Multilingual staff",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Multilingual staff.",
                        "default": false
                    },
                    "amenity_receptionarea": {
                        "title": "🛎️ Reception area",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Reception area.",
                        "default": false
                    },
                    "amenity_securityservice": {
                        "title": "🛡️ Security",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Security.",
                        "default": false
                    },
                    "amenity_basketballcourt": {
                        "title": "🏀 Basketball court",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Basketball court.",
                        "default": false
                    },
                    "amenity_divingservice": {
                        "title": "🤿 Diving",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Diving.",
                        "default": false
                    },
                    "amenity_golfcourse": {
                        "title": "⛳ Golf course",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Golf course.",
                        "default": false
                    },
                    "amenity_gymnasium": {
                        "title": "🏋️ Gymnasium",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Gymnasium.",
                        "default": false
                    },
                    "amenity_horseridingservice": {
                        "title": "🐎 Horse riding",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Horse riding.",
                        "default": false
                    },
                    "amenity_indoorswimmingpool": {
                        "title": "🏊‍♀️ Indoor pool",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Indoor pool.",
                        "default": false
                    },
                    "amenity_outdoorswimmingpool": {
                        "title": "🏖️ Outdoor pool",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Outdoor pool.",
                        "default": false
                    },
                    "amenity_minigolf": {
                        "title": "⛳ Minigolf",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Minigolf.",
                        "default": false
                    },
                    "amenity_padeltennis": {
                        "title": "🎾 Padel tennis",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Padel tennis.",
                        "default": false
                    },
                    "amenity_sailingservice": {
                        "title": "⛵ Sailing service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Sailing service.",
                        "default": false
                    },
                    "amenity_snorkeling": {
                        "title": "🤿 Snorkelling",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Snorkelling.",
                        "default": false
                    },
                    "amenity_squashcourt": {
                        "title": "🎾 Squash",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Squash.",
                        "default": false
                    },
                    "amenity_tabletennis": {
                        "title": "🏓 Table tennis",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Table tennis.",
                        "default": false
                    },
                    "amenity_tenniscourt": {
                        "title": "🎾 Tennis court",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Tennis court.",
                        "default": false
                    },
                    "amenity_watersportsservice": {
                        "title": "🏄 Water sports",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Water sports.",
                        "default": false
                    },
                    "amenity_outdoorparking": {
                        "title": "🅿️ Outdoor parking",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Outdoor parking.",
                        "default": false
                    },
                    "amenity_carrental": {
                        "title": "🚗 Car hire",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Car hire.",
                        "default": false
                    },
                    "amenity_indoorparking": {
                        "title": "🅿️ Indoor parking",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Indoor parking.",
                        "default": false
                    },
                    "amenity_limousineservice": {
                        "title": "🚙 Limousine service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Limousine service.",
                        "default": false
                    },
                    "amenity_shuttleservice": {
                        "title": "🚌 Shuttle service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Shuttle service.",
                        "default": false
                    },
                    "amenity_skishuttleservice": {
                        "title": "🚐 Ski shuttle service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Ski shuttle service.",
                        "default": false
                    },
                    "amenity_stationshuttleservice": {
                        "title": "🚉 Station shuttle",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Station shuttle.",
                        "default": false
                    },
                    "amenity_valetparkingservice": {
                        "title": "🅿️ Valet parking",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Valet parking.",
                        "default": false
                    },
                    "amenity_broadbandservice": {
                        "title": "🌐 Broadband service",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Broadband service.",
                        "default": false
                    },
                    "amenity_wifiindesignatedareas": {
                        "title": "📶 WiFi in designated areas",
                        "type": "boolean",
                        "description": "Keep only hotels that offer WiFi in designated areas.",
                        "default": false
                    },
                    "amenity_internetaccessservice": {
                        "title": "🔌 Internet access",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Internet access.",
                        "default": false
                    },
                    "amenity_modem": {
                        "title": "📡 Modem",
                        "type": "boolean",
                        "description": "Keep only hotels that offer Modem.",
                        "default": false
                    },
                    "amenity_wificommonareas": {
                        "title": "📶 WiFi in common areas",
                        "type": "boolean",
                        "description": "Keep only hotels that offer WiFi in common areas.",
                        "default": false
                    },
                    "urls": {
                        "title": "🔗 Bulk Skyscanner URLs",
                        "type": "array",
                        "description": "Paste Skyscanner hotel-search URLs (anything with `entity_id=...` is used directly). Combine with **Location** above or use on its own for bulk runs.\n\n**Example:** `https://www.skyscanner.net/hotels/search?entity_id=27537542&checkin=2026-07-01&checkout=2026-07-05&adults=2&rooms=1`",
                        "items": {
                            "type": "string"
                        }
                    },
                    "locations": {
                        "title": "📋 Additional free-text destinations",
                        "type": "array",
                        "description": "Extra destination names resolved via autosuggest. Useful for batch runs with many locations.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "hydrate_amenities": {
                        "title": "🧪 Hydrate amenity details",
                        "type": "boolean",
                        "description": "After the search, fetch each hotel's detail page in parallel to extract the full amenity list. Adds 1 extra request per hotel but gives you the complete `amenities` field.",
                        "default": true
                    },
                    "hydrate_workers": {
                        "title": "⚙️ Parallel hydration workers",
                        "minimum": 1,
                        "maximum": 32,
                        "type": "integer",
                        "description": "Concurrent detail-page fetches during amenity hydration. Lower this if you start hitting rate limits.",
                        "default": 6
                    },
                    "max_retries": {
                        "title": "🔁 Max retries per request",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Per-IP retry budget before triggering a proxy escalation.",
                        "default": 3
                    },
                    "request_delay": {
                        "title": "⏳ Delay between requests (s)",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "number",
                        "description": "Base pause between successive requests (seconds). Random jitter is added automatically.",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "🛡️ Proxy configuration",
                        "type": "object",
                        "description": "Defaults to **no proxy** (Apify cloud egress). Auto-escalates: **DATACENTER → RESIDENTIAL** on block (3 residential retries, then stops). Custom `proxyUrls` are tried first.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
