# Kayak Hotels Search Scraper (`stealth_mode/kayak-hotels-search-scraper`) Actor

Scrape hotel search results from KAYAK.com/hotelscombined.com including ratings, amenities, pricing, provider comparisons, geolocation, and 25+ fields per property. Perfect for travel analysts, price trackers, and hospitality researchers.

- **URL**: https://apify.com/stealth\_mode/kayak-hotels-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

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

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

## What's an Apify Actor?

Actors are 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

## KAYAK Hotels Search Scraper: Extract Hotel Listings & Pricing Data

---

### What Is KAYAK.com/hotelscombined.com?

KAYAK.com is one of the world's most widely used travel metasearch engines, aggregating hotel listings from hundreds of providers — from major OTAs to direct hotel rates. Its hotel search surfaces pricing, ratings, amenities, and availability across thousands of properties globally. Manually collecting this data at scale is impractical; the **KAYAK Hotels Search Scraper** automates extraction from KAYAK search result pages, delivering clean, structured records ready for analysis.

---

### Overview

The **KAYAK Hotels Scraper** collects hotel listing data from KAYAK search result URLs, transforming paginated search pages into structured datasets. Designed for:

- **Travel analysts** monitoring hotel pricing and availability trends
- **Price comparison platforms** aggregating multi-provider rate data
- **Hospitality researchers** studying market positioning and amenity offerings
- **Revenue managers** benchmarking competitor properties

Key capabilities include multi-URL support, configurable result limits, and resilient error handling for large-scale runs.

---

### Input Format

```json
{
  "urls": [
    "https://www.kayak.com/hotels/Paris,France-p37687/2026-06-27/2026-06-28/2adults;map?sort=rank_a",
    "https://www.hotelscombined.com/hotels/Paris,France-p37687/2026-05-27/2026-05-28/2adults;map?ucs=1fm9lak&sort=rank_a"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | `array` | KAYAK hotel search result URLs to scrape. Can include sort orders, date ranges, and destination filters |
| `max_items_per_url` | `integer` | Maximum number of hotel records to collect per URL. Default: `20` |
| `ignore_url_failures` | `boolean` | If `true`, the scraper skips failed URLs and continues. Recommended for bulk runs |

**URL construction tips:**

- Set check-in/check-out dates directly in the URL path (e.g., `/2026-06-27/2026-06-28/`)
- Append `?sort=rank_a` or `?sort=price_a` to control result ordering
- Use `page=N` to target specific result pages
- The `2adults` segment controls guest count — adjust as needed

***

### Output Format

**Sample output**

```json
{
  "result_id": "33392",
  "result_type": "core",
  "stars": 4,
  "use_star_rating": true,
  "hid": 33392,
  "geolocation": {
    "point": {
      "lat": 48.880657,
      "lng": 2.284656
    },
    "distance_from_center": 3.2039916325616318,
    "distance_units": "mi",
    "localized_neighborhood_name": "17th arrondissement",
    "localized_city": "Paris",
    "localized_display_distance": "3.2 mi",
    "localized_reference_point": "from city center"
  },
  "localized_hotel_name": "Hyatt Regency Paris Etoile",
  "images": [
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/a0/2d/b4/ice-33392-dd3cb3-376121.jpg?width=552&height=552&xhint=1440&yhint=1314&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/a0/2d/b4/ice-33392-dd3cb3-376121.jpg?width=276&height=276&xhint=1440&yhint=1314&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/a0/2d/b4/ice-33392-dd3cb3-376121.jpg?width=552&height=552&xhint=1440&yhint=1314&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "bedroom",
      "localized_category": "Bedroom",
      "source": "ice",
      "image_src": "/rimg/himg/a0/2d/b4/ice-33392-dd3cb3-376121.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/35/8d/6a/ice-33392-36a8a3-619882.jpg?width=552&height=552&xhint=1440&yhint=1123&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/35/8d/6a/ice-33392-36a8a3-619882.jpg?width=276&height=276&xhint=1440&yhint=1123&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/35/8d/6a/ice-33392-36a8a3-619882.jpg?width=552&height=552&xhint=1440&yhint=1123&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "bathroom",
      "localized_category": "Bathroom",
      "source": "ice",
      "image_src": "/rimg/himg/35/8d/6a/ice-33392-36a8a3-619882.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/f7/90/0a/ice-33392-86cf22-998742.jpg?width=552&height=552&xhint=1382&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/f7/90/0a/ice-33392-86cf22-998742.jpg?width=276&height=276&xhint=1382&yhint=960&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/f7/90/0a/ice-33392-86cf22-998742.jpg?width=552&height=552&xhint=1382&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "bedroom",
      "localized_category": "Bedroom",
      "source": "ice",
      "image_src": "/rimg/himg/f7/90/0a/ice-33392-86cf22-998742.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/d3/34/d8/ice-33392-b8da08-071132.jpg?width=552&height=552&xhint=1555&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/d3/34/d8/ice-33392-b8da08-071132.jpg?width=276&height=276&xhint=1555&yhint=960&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/d3/34/d8/ice-33392-b8da08-071132.jpg?width=552&height=552&xhint=1555&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "restaurant",
      "localized_category": "Restaurant",
      "source": "ice",
      "image_src": "/rimg/himg/d3/34/d8/ice-33392-b8da08-071132.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/39/d5/a6/ice-33392-e2beb2-831860.jpg?width=552&height=552&xhint=1497&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/39/d5/a6/ice-33392-e2beb2-831860.jpg?width=276&height=276&xhint=1497&yhint=960&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/39/d5/a6/ice-33392-e2beb2-831860.jpg?width=552&height=552&xhint=1497&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "livingroom",
      "localized_category": "Living room",
      "source": "ice",
      "image_src": "/rimg/himg/39/d5/a6/ice-33392-e2beb2-831860.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/64/91/34/ice-33392-165a4c-903733.jpg?width=552&height=552&xhint=1382&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/64/91/34/ice-33392-165a4c-903733.jpg?width=276&height=276&xhint=1382&yhint=960&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/64/91/34/ice-33392-165a4c-903733.jpg?width=552&height=552&xhint=1382&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "diningroom",
      "localized_category": "Dining room",
      "source": "ice",
      "image_src": "/rimg/himg/64/91/34/ice-33392-165a4c-903733.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/75/a8/3f/ice-33392-c9e561-892448.jpg?width=552&height=552&xhint=1555&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/75/a8/3f/ice-33392-c9e561-892448.jpg?width=276&height=276&xhint=1555&yhint=960&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/75/a8/3f/ice-33392-c9e561-892448.jpg?width=552&height=552&xhint=1555&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "livingroom",
      "localized_category": "Living room",
      "source": "ice",
      "image_src": "/rimg/himg/75/a8/3f/ice-33392-c9e561-892448.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/24/b5/9b/booking-33392-821971688-720265.jpg?width=552&height=552&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/24/b5/9b/booking-33392-821971688-720265.jpg?width=276&height=276&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/24/b5/9b/booking-33392-821971688-720265.jpg?width=552&height=552&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "unknown",
      "localized_category": "Other",
      "source": "booking",
      "image_src": "/rimg/himg/24/b5/9b/booking-33392-821971688-720265.jpg?width=968&height=607&crop=true",
      "attribution": "Booking.com"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/d2/14/30/ice-33392-261756-910527.jpg?width=552&height=552&xhint=1440&yhint=818&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/d2/14/30/ice-33392-261756-910527.jpg?width=276&height=276&xhint=1440&yhint=818&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/d2/14/30/ice-33392-261756-910527.jpg?width=552&height=552&xhint=1440&yhint=818&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "bedroom",
      "localized_category": "Bedroom",
      "source": "ice",
      "image_src": "/rimg/himg/d2/14/30/ice-33392-261756-910527.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/f1/c7/4e/ice-33392-186847-079048.jpg?width=552&height=552&xhint=1324&yhint=809&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/f1/c7/4e/ice-33392-186847-079048.jpg?width=276&height=276&xhint=1324&yhint=809&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/f1/c7/4e/ice-33392-186847-079048.jpg?width=552&height=552&xhint=1324&yhint=809&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "livingroom",
      "localized_category": "Living room",
      "source": "ice",
      "image_src": "/rimg/himg/f1/c7/4e/ice-33392-186847-079048.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/ba/84/16/ice-33392-45b7ae-888402.jpg?width=552&height=552&xhint=1497&yhint=898&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/ba/84/16/ice-33392-45b7ae-888402.jpg?width=276&height=276&xhint=1497&yhint=898&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/ba/84/16/ice-33392-45b7ae-888402.jpg?width=552&height=552&xhint=1497&yhint=898&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "bathroom",
      "localized_category": "Bathroom",
      "source": "ice",
      "image_src": "/rimg/himg/ba/84/16/ice-33392-45b7ae-888402.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/36/ed/ed/ice-33392-d78301-467966.jpg?width=552&height=552&xhint=1555&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/36/ed/ed/ice-33392-d78301-467966.jpg?width=276&height=276&xhint=1555&yhint=960&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/36/ed/ed/ice-33392-d78301-467966.jpg?width=552&height=552&xhint=1555&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "bedroom",
      "localized_category": "Bedroom",
      "source": "ice",
      "image_src": "/rimg/himg/36/ed/ed/ice-33392-d78301-467966.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/a5/fb/2f/booking-33392-821971706-707345.jpg?width=552&height=552&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/a5/fb/2f/booking-33392-821971706-707345.jpg?width=276&height=276&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/a5/fb/2f/booking-33392-821971706-707345.jpg?width=552&height=552&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "unknown",
      "localized_category": "Other",
      "source": "booking",
      "image_src": "/rimg/himg/a5/fb/2f/booking-33392-821971706-707345.jpg?width=968&height=607&crop=true",
      "attribution": "Booking.com"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/ce/dd/56/ice-33392-319e45-846953.jpg?width=552&height=552&xhint=1555&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/ce/dd/56/ice-33392-319e45-846953.jpg?width=276&height=276&xhint=1555&yhint=960&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/ce/dd/56/ice-33392-319e45-846953.jpg?width=552&height=552&xhint=1555&yhint=960&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "diningroom",
      "localized_category": "Dining room",
      "source": "ice",
      "image_src": "/rimg/himg/ce/dd/56/ice-33392-319e45-846953.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    },
    {
      "thumbnail_src": "https://content.r9cdn.net/rimg/himg/48/65/38/ice-33392-00bdb2-597264.jpg?width=552&height=552&xhint=1440&yhint=963&crop=true&watermarkheight=28&watermarkpadding=10",
      "thumbnail_src_set": "https://content.r9cdn.net/rimg/himg/48/65/38/ice-33392-00bdb2-597264.jpg?width=276&height=276&xhint=1440&yhint=963&crop=true&watermarkheight=14&watermarkpadding=5 1x, https://content.r9cdn.net/rimg/himg/48/65/38/ice-33392-00bdb2-597264.jpg?width=552&height=552&xhint=1440&yhint=963&crop=true&watermarkheight=28&watermarkpadding=10 2x",
      "category": "bedroom",
      "localized_category": "Bedroom",
      "source": "ice",
      "image_src": "/rimg/himg/48/65/38/ice-33392-00bdb2-597264.jpg?width=968&height=607&crop=true",
      "attribution": "Ice Portal"
    }
  ],
  "rating": {
    "score": 8.4,
    "localized_rating_category": "Very good",
    "review_count": 5601,
    "score_display": "8.4",
    "review_count_display": "5,601"
  },
  "details_url": "/hotels/Hyatt-Regency-Paris-Etoile,Paris-p37687-h33392-details/2026-05-27/2026-05-28/2adults?psid=sNEkKrmgWp&pm=nightly-base",
  "classification": {
    "code": "hotel",
    "localized_name": "Hotel",
    "localized_name_lowercase": "hotel"
  },
  "brand_id": 432,
  "parent_brands": [
    370
  ],
  "providers": [
    {
      "price": {
        "price": 466,
        "currency": "USD",
        "localized_price": "$466"
      },
      "rate_type": "bestAvailable",
      "private_deal": false,
      "total_price": {
        "price": 532,
        "currency": "USD",
        "localized_price": "$532"
      },
      "localized_provider_name": "Expedia",
      "provider_code": "EXPEDIAHOTEL",
      "logo": "https://content.r9cdn.net/rimg/provider-logos/hotels/h/EXPEDIAHOTEL.png?crop=false&width=166&height=62&fallback=default2.png&_v=25d737579c9bbd2c9c9567822170dda6",
      "booking_id": "0edf765ac7f1515289bc933b71da6cc4",
      "freebies": [
        {
          "code": "freecancellation",
          "localized_name": "Free cancellation"
        }
      ],
      "booking_url": "/book/hotel?code=sNEkKrmgWp.IUs_Tm3HY805Dk07wVS61Yc3ETksfDsnBHZ_T1_vMYU.53189.33392.MTc3OTg1NDQwMDAwMF4xNzc5OTQwODAwMDAwXjFeMl4=&h=9c1e724b6ab6&resultRefreshCount=1&viewId=3391cf59-a0de-4839-a808-b5d064a4300e",
      "afterclick_url": {
        "url": "/i/api/kn/afterclick/v1?searchId=sNEkKrmgWp&exclProvider=EXPEDIAHOTEL",
        "url_type": "relative"
      },
      "green_price": true,
      "cheapest_total_price_disclaimer": true,
      "tax_estimated": false,
      "non_instant": false,
      "direct": false,
      "whisky": false,
      "room_type_code": "200755300",
      "localized_aria_description": "Book this hotel on Expedia for $466 per night"
    },
    {
      "price": {
        "price": 466,
        "currency": "USD",
        "localized_price": "$466"
      },
      "rate_type": "bestAvailable",
      "private_deal": false,
      "total_price": {
        "price": 532,
        "currency": "USD",
        "localized_price": "$532"
      },
      "localized_provider_name": "Booking.com",
      "provider_code": "BOOKINGDOTCOM",
      "logo": "https://content.r9cdn.net/rimg/provider-logos/hotels/h/BOOKINGDOTCOM.png?crop=false&width=166&height=62&fallback=default2.png&_v=1233faf051a0a6b9d9807846b1316f74",
      "booking_id": "39fdb4b28c04b2f07d8f0fc5f9f6f91f",
      "freebies": [
        {
          "code": "freecancellation",
          "localized_name": "Free cancellation"
        }
      ],
      "booking_url": "/book/hotel?code=sNEkKrmgWp.qumWFano8BP274JKcE0diPaeNWhRPjM7r__yfHjaxxI.53192.33392.MTc3OTg1NDQwMDAwMF4xNzc5OTQwODAwMDAwXjFeMl4=&h=6554bba6f1f0&resultRefreshCount=1&viewId=3391cf59-a0de-4839-a808-b5d064a4300e",
      "afterclick_url": {
        "url": "/i/api/kn/afterclick/v1?searchId=sNEkKrmgWp&exclProvider=BOOKINGDOTCOM",
        "url_type": "relative"
      },
      "tax_estimated": false,
      "non_instant": false,
      "direct": false,
      "whisky": false,
      "room_type_code": "22439940",
      "localized_aria_description": "Book this hotel on Booking.com for $466 per night"
    },
    {
      "price": {
        "price": 466,
        "currency": "USD",
        "localized_price": "$466"
      },
      "rate_type": "bestAvailable",
      "private_deal": false,
      "total_price": {
        "price": 532,
        "currency": "USD",
        "localized_price": "$532"
      },
      "localized_provider_name": "Agoda.com",
      "provider_code": "AGODACPC",
      "logo": "https://content.r9cdn.net/rimg/provider-logos/hotels/h/AGODA.png?crop=false&width=166&height=62&fallback=default1.png&_v=a7804c74c11e4b340916163d2e04f82c",
      "booking_id": "9877501e9b3fb91b47ddd26b32153aff",
      "freebies": [
        {
          "code": "freecancellation",
          "localized_name": "Free cancellation"
        }
      ],
      "booking_url": "/book/hotel?code=sNEkKrmgWp.-FWG2ypT3_aWyuc3AtCaFCQNXgtXYvS8.53190.33392.MTc3OTg1NDQwMDAwMF4xNzc5OTQwODAwMDAwXjFeMl4=&h=acf0fd466ca7&resultRefreshCount=1&viewId=3391cf59-a0de-4839-a808-b5d064a4300e",
      "afterclick_url": {
        "url": "/i/api/kn/afterclick/v1?searchId=sNEkKrmgWp&exclProvider=AGODACPC",
        "url_type": "relative"
      },
      "tax_estimated": false,
      "non_instant": false,
      "direct": false,
      "whisky": false,
      "room_type_code": "NDY4MjhlNDUtZjJkNS1kOWFiLWZkZDMtMzhjY2Q2YzIxOWY5OjMwMzg=",
      "localized_aria_description": "Book this hotel on Agoda.com for $466 per night"
    },
    {
      "price": {
        "price": 473,
        "currency": "USD",
        "localized_price": "$473"
      },
      "rate_type": "bestAvailable",
      "private_deal": false,
      "total_price": {
        "price": 532,
        "currency": "USD",
        "localized_price": "$532"
      },
      "localized_provider_name": "Hotels.com",
      "provider_code": "HOTELSDOTCOM",
      "logo": "https://content.r9cdn.net/rimg/provider-logos/hotels/h/HOTELSDOTCOM.png?crop=false&width=166&height=62&fallback=default1.png&_v=e5621d122547c6f34de634c73e6b73fc",
      "booking_id": "590e3920ec78d9fe604a4b48253f9b12",
      "freebies": [
        {
          "code": "freecancellation",
          "localized_name": "Free cancellation"
        }
      ],
      "booking_url": "/book/hotel?code=sNEkKrmgWp.yuR1YHTjY5hIuiJZg11YiFWEWVxF9Ap9BHZ_T1_vMYU.53189.33392.MTc3OTg1NDQwMDAwMF4xNzc5OTQwODAwMDAwXjFeMl4=&h=4d6342cf29d4&resultRefreshCount=1&viewId=3391cf59-a0de-4839-a808-b5d064a4300e",
      "afterclick_url": {
        "url": "/i/api/kn/afterclick/v1?searchId=sNEkKrmgWp&exclProvider=HOTELSDOTCOM",
        "url_type": "relative"
      },
      "tax_estimated": false,
      "non_instant": false,
      "direct": false,
      "whisky": false,
      "room_type_code": "200755300",
      "localized_aria_description": "Book this hotel on Hotels.com for $473 per night"
    },
    {
      "price": {
        "price": 466,
        "currency": "USD",
        "localized_price": "$466"
      },
      "rate_type": "bestAvailable",
      "private_deal": false,
      "total_price": {
        "price": 532,
        "currency": "USD",
        "localized_price": "$532"
      },
      "localized_provider_name": "Hyatt Regency",
      "provider_code": "HYATTDERBYSOFT2",
      "logo": "https://content.r9cdn.net/rimg/provider-logos/hotels/h/HYATTDERBYSOFT2_hyattregency.png?crop=false&width=166&height=62&fallback=default2.png&_v=da5e2fb1457e2bfb0244bcbede268238",
      "booking_id": "7dfda277ded13cc03ea2bfac7303e3f7",
      "freebies": [],
      "provider_badges": [
        {
          "badge_type": "direct",
          "localized_label": "Book direct"
        }
      ],
      "booking_url": "/book/hotel?code=sNEkKrmgWp.FGVtF_iEXanS1Z-cTVInOQ.53195.33392.MTc3OTg1NDQwMDAwMF4xNzc5OTQwODAwMDAwXjFeMl4=&h=b7c0544050e3&resultRefreshCount=1&viewId=3391cf59-a0de-4839-a808-b5d064a4300e",
      "afterclick_url": {
        "url": "/i/api/kn/afterclick/v1?searchId=sNEkKrmgWp&exclProvider=HYATTDERBYSOFT2",
        "url_type": "relative"
      },
      "tax_estimated": false,
      "non_instant": false,
      "direct": true,
      "whisky": false,
      "localized_aria_description": "Book this hotel on Hyatt Regency for $466 per night"
    },
    {
      "price": {
        "price": 466,
        "currency": "USD",
        "localized_price": "$466"
      },
      "rate_type": "bestAvailable",
      "private_deal": false,
      "total_price": {
        "price": 532,
        "currency": "USD",
        "localized_price": "$532"
      },
      "localized_provider_name": "KAYAK",
      "provider_code": "EXPHOTELWHISKY",
      "logo": "https://content.r9cdn.net/rimg/provider-logos/hotels/h/kayak-logo.png?crop=false&width=166&height=62&fallback=default2.png&_v=fc1d5a0afbf8662d8d6d68d01fa97633",
      "booking_id": "6a7527953230189c72c8cf246a29a86e",
      "freebies": [
        {
          "code": "freecancellation",
          "localized_name": "Free cancellation"
        }
      ],
      "booking_url": "/book/hotel?code=sNEkKrmgWp.i8NHJpCV_H5lzptPNQYgJAKLS_yMNGr_r__yfHjaxxI.53189.33392.MTc3OTg1NDQwMDAwMF4xNzc5OTQwODAwMDAwXjFeMl4=&h=943316ec6c3a&pmode=nightlybase&resultRefreshCount=1&viewId=3391cf59-a0de-4839-a808-b5d064a4300e",
      "afterclick_url": {
        "url": "/i/api/kn/afterclick/v1?searchId=sNEkKrmgWp&exclProvider=EXPHOTELWHISKY",
        "url_type": "relative"
      },
      "tax_estimated": false,
      "non_instant": false,
      "direct": false,
      "whisky": true,
      "room_type_code": "200755300",
      "localized_aria_description": "Book this hotel on KAYAK for $466 per night"
    },
    {
      "price": {
        "price": 466,
        "currency": "USD",
        "localized_price": "$466"
      },
      "rate_type": "bestAvailable",
      "private_deal": false,
      "total_price": {
        "price": 532,
        "currency": "USD",
        "localized_price": "$532"
      },
      "localized_provider_name": "Priceline",
      "provider_code": "PRICELINECORE",
      "logo": "https://content.r9cdn.net/rimg/provider-logos/hotels/h/PRICELINECORE.png?crop=false&width=166&height=62&fallback=default3.png&_v=b3e81884c7678f954cce1ed2c441273a",
      "booking_id": "c611c1e09c45c9bb4fddac8e40e5ca74",
      "freebies": [
        {
          "code": "freecancellation",
          "localized_name": "Free cancellation"
        }
      ],
      "booking_url": "/book/hotel?code=sNEkKrmgWp.NjNQnTxaeC41pwi0WDvD6Rl2a7-GnfxY.53192.33392.MTc3OTg1NDQwMDAwMF4xNzc5OTQwODAwMDAwXjFeMl4=&h=8b740d2e14c9&resultRefreshCount=1&viewId=3391cf59-a0de-4839-a808-b5d064a4300e",
      "afterclick_url": {
        "url": "/i/api/kn/afterclick/v1?searchId=sNEkKrmgWp&exclProvider=PRICELINECORE",
        "url_type": "relative"
      },
      "tax_estimated": false,
      "non_instant": false,
      "direct": false,
      "whisky": false,
      "room_type_code": "E7A0BF31630238A384807989497626A0520FF5CE7626EE03BECAE5B4CF4108B685F6549A4EA0E74320FE990FE1E3824A1E6F3F89E90EE3924D1045FD7A7FC09CDB3A481D5396FA9DBF9F4517B4CD2622",
      "localized_aria_description": "Book this hotel on Priceline for $466 per night"
    }
  ],
  "savings_percent": null,
  "historic_high_price": {
    "price": 765.19,
    "currency": "USD",
    "localized_price": "$765"
  },
  "phone": "+33 1 40 68 12 34",
  "url": "https://www.hyatt.com/en-US/hotel/france/hyatt-regency-paris-etoile/parhr",
  "amenities": [
    {
      "code": "24hfrontdesk",
      "localized_name": "24hr front desk"
    },
    {
      "code": "ac",
      "localized_name": "Air-conditioned"
    },
    {
      "code": "bizcenter",
      "localized_name": "Business center"
    },
    {
      "code": "elevator",
      "localized_name": "Elevator"
    },
    {
      "code": "fitness",
      "localized_name": "Fitness"
    },
    {
      "code": "hairdryer",
      "localized_name": "Hairdryer"
    },
    {
      "code": "facilitiesfordisabledguests",
      "localized_name": "Increased accessibility"
    },
    {
      "code": "internet",
      "localized_name": "Internet"
    },
    {
      "code": "kitchenette",
      "localized_name": "Kitchen/Kitchenette"
    },
    {
      "code": "linens",
      "localized_name": "Linens"
    },
    {
      "code": "nosmokerooms",
      "localized_name": "Non-smoking rooms"
    },
    {
      "code": "parking",
      "localized_name": "Parking"
    },
    {
      "code": "pets",
      "localized_name": "Pet friendly"
    },
    {
      "code": "restaurant",
      "localized_name": "Restaurant"
    },
    {
      "code": "towels",
      "localized_name": "Towels"
    },
    {
      "code": "wifi",
      "localized_name": "Wi-Fi"
    }
  ],
  "localized_description": "Along with a restaurant, this smoke-free hotel has a 24-hour fitness center and a bar/lounge. WiFi in public areas is free. Other amenities include a snack bar/deli, a coffee shop/cafe, and 24-hour room service. Hyatt Regency Paris Etoile offers 995 accommodations with safes and complimentary bottled water. Beds feature premium bedding. Cable television is provided. This Paris hotel provides complimentary wireless Internet access. Business-friendly amenities include desks and phones. Additionally, rooms include hair dryers and irons/ironing boards. Housekeeping is provided daily. Recreational amenities at the hotel include a 24-hour fitness center. The recreational activities listed below are available either on site or nearby; fees may apply.",
  "localized_description_attribution": "Expedia Group",
  "brand_details": {
    "brand_name": "Hyatt Regency",
    "brand_id": 432,
    "parent_brand_ids": [
      370
    ]
  },
  "badges": [
    {
      "type": "freeWifi",
      "localized_text": "Free WiFi"
    }
  ],
  "smart_tags": {
    "icon": "comment",
    "localized_label": "Near station, near shopping, modern room"
  },
  "distinct_provider_count": 7,
  "view_rank": 0,
  "from_url": "https://www.kayak.com/hotels/Paris,France-p37687/2026-05-27/2026-05-28/2adults;map?ucs=8zvn7n&sort=rank_a&page=3"
}
```

Each scraped hotel returns a record with 25+ fields:

#### Identification

| Field | Meaning |
|---|---|
| `Result ID` | Unique internal KAYAK identifier for the result |
| `Result Type` | Record type (e.g., hotel, apartment, resort) |
| `HID` | KAYAK's hotel-specific ID, useful for cross-referencing |
| `Brand ID` | Identifier for the hotel's brand affiliation |
| `Parent Brands` | Chain or group the property belongs to (e.g., Marriott, Hilton) |
| `Brand Details` | Extended metadata about the brand |

#### Property Information

| Field | Meaning |
|---|---|
| `Localized Hotel Name` | Property name in the locale of the search |
| `Stars` | Official star rating of the property |
| `Use Star Rating` | Flag indicating whether to display the star rating |
| `Classification` | Property category (e.g., boutique, resort, hostel) |
| `Geolocation` | Latitude/longitude coordinates of the property |
| `Phone` | Contact phone number if available |
| `URL` | KAYAK listing URL |
| `Details URL` | Direct link to the full hotel detail page |

#### Pricing & Providers

| Field | Meaning |
|---|---|
| `Providers` | List of booking providers and their offered rates |
| `Distinct Provider Count` | Number of unique providers offering this property |
| `Savings Percent` | Discount percentage compared to reference price |
| `Historic High Price` | Highest recorded price for reference/comparison |

#### Content & Media

| Field | Meaning |
|---|---|
| `Images` | Array of property image URLs |
| `Localized Description` | Property description in search locale |
| `Localized Description Attribution` | Source or author credit for the description |
| `Amenities` | List of offered amenities (pool, WiFi, parking, etc.) |

#### Ranking & Tags

| Field | Meaning |
|---|---|
| `Rating` | Guest review score (typically 0–10) |
| `View Rank` | Position/rank of the property in search results |
| `Badges` | Special labels (e.g., "Top Reviewed", "Great Value") |
| `Smart Tags` | Algorithmically generated tags highlighting property features |

***

### How to Use

1. **Build your search URL** — Go to KAYAK.com, search for hotels with your desired destination, dates, and guest count. Copy the full URL from your browser.
2. **Set pagination** — To scrape multiple pages, create separate URL entries with `page=2`, `page=3`, etc., or set `max_items_per_url` high enough to cover your target volume.
3. **Configure the input** — Paste URLs into the `urls` array. Set `max_items_per_url` (up to 200 recommended per run).
4. **Enable `ignore_url_failures`** — Set to `true` for bulk runs to prevent a single failed URL from stopping the actor.
5. **Export** — Download results as JSON, CSV, or Excel for analysis or pipeline ingestion.

**Best practices:**

- Run during off-peak hours for more stable results
- Use consistent date ranges across URLs for valid price comparisons
- Re-run periodically — KAYAK prices update frequently throughout the day

***

### Use Cases & Business Value

- **Dynamic pricing analysis:** Track how hotel rates fluctuate by day, season, or demand
- **Provider comparison:** Identify which OTAs offer the best rates for specific properties
- **Market research:** Analyze amenity offerings and ratings across a destination
- **Travel app development:** Feed structured hotel data into comparison or recommendation engines

The scraper eliminates hours of manual data gathering, providing consistent, machine-readable output that slots directly into spreadsheets, databases, or BI dashboards.

***

### Conclusion

The **KAYAK Hotels Search Scraper** is a practical tool for anyone needing reliable hotel search data at scale. With 25+ output fields covering pricing, ratings, providers, amenities, and geolocation, it delivers the depth required for serious travel market analysis. Configure your search URLs, run the actor, and get structured hotel data in minutes.

# Actor input Schema

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

Add the URLs of the hotels list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.kayak.com/hotels/Paris,France-p37687/2026-06-27/2026-06-28/2adults;map?ucs=8zvn7n&sort=rank_a&page=3"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.kayak.com/hotels/Paris,France-p37687/2026-06-27/2026-06-28/2adults;map?ucs=8zvn7n&sort=rank_a&page=3"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/kayak-hotels-search-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 = {
    "urls": ["https://www.kayak.com/hotels/Paris,France-p37687/2026-06-27/2026-06-28/2adults;map?ucs=8zvn7n&sort=rank_a&page=3"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/kayak-hotels-search-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 '{
  "urls": [
    "https://www.kayak.com/hotels/Paris,France-p37687/2026-06-27/2026-06-28/2adults;map?ucs=8zvn7n&sort=rank_a&page=3"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/kayak-hotels-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kayak Hotels Search Scraper",
        "description": "Scrape hotel search results from KAYAK.com/hotelscombined.com including ratings, amenities, pricing, provider comparisons, geolocation, and 25+ fields per property. Perfect for travel analysts, price trackers, and hospitality researchers.",
        "version": "0.0",
        "x-build-id": "o45TMko3HxdiCc8Vl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~kayak-hotels-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-kayak-hotels-search-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/stealth_mode~kayak-hotels-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-kayak-hotels-search-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/stealth_mode~kayak-hotels-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-kayak-hotels-search-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": {
                    "urls": {
                        "title": "URLs of the hotels list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the hotels list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
