# Booking.com Scraper — Hotel Prices, Ratings & Availability (`junipr/booking-scraper`) Actor

Scrape Booking.com hotel and accommodation listings. Extract prices, ratings, reviews, amenities, photos, and availability. Search by destination, dates, and guest count.

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

## Pricing

from $98.00 / 1,000 property scrapeds

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

## Booking.com Scraper

Scrape hotels, apartments, hostels, and other properties from [Booking.com](https://www.booking.com) with full pricing, reviews, room types, amenities, and availability data. Search by city name, GPS coordinates, or provide direct property URLs. Get date-specific pricing in any supported currency — no Booking.com account or API key required.

### What This Actor Does

The Booking.com Scraper extracts structured hotel and accommodation data from Booking.com search results and individual property pages. It supports three search modes: text-based location search (e.g. "Paris, France"), GPS coordinate search with configurable radius, and direct property URL scraping. Every property record includes pricing for your specified check-in/check-out dates, guest configuration, room availability, guest reviews, amenities, photos, and location data.

You can filter results by star rating, price range, property type (hotel, apartment, hostel, resort, villa, guesthouse, B&B), and sort by popularity, price, rating, stars, or distance. Multi-currency and multi-language support let you get localized pricing and content for any market.

### Input Configuration

| Parameter | Type | Default | Description |
|---|---|---|---|
| `searchQuery` | string | New York, USA | Location or hotel name to search |
| `propertyUrls` | string[] | [] | Direct Booking.com property URLs (max 500) |
| `locationLatitude` | number | 0 | Center latitude for coordinate search |
| `locationLongitude` | number | 0 | Center longitude for coordinate search |
| `locationRadiusKm` | integer | 5 | Search radius in km (1-50) |
| `checkIn` | string | Tomorrow | Check-in date (YYYY-MM-DD) |
| `checkOut` | string | Day after check-in | Check-out date (YYYY-MM-DD) |
| `adults` | integer | 2 | Number of adults (1-30) |
| `children` | integer | 0 | Number of children (0-10) |
| `rooms` | integer | 1 | Number of rooms (1-30) |
| `maxProperties` | integer | 1 | Max properties to extract (1-5000) |
| `includeReviews` | boolean | false | Extract guest reviews |
| `maxReviews` | integer | 0 | Max reviews per property (0-100) |
| `includeRoomTypes` | boolean | false | Extract available room types |
| `includePhotos` | boolean | false | Extract photo URLs |
| `currency` | string | USD | Display currency (ISO 4217) |
| `language` | string | en-us | Content language (BCP 47) |
| `sortBy` | string | popularity | Sort order: popularity, price, rating, stars, distance |
| `starFilter` | integer[] | [] | Filter by star rating (e.g. [4, 5]) |
| `minPrice` | number | 0 | Min price per night filter |
| `maxPrice` | number | 0 | Max price per night filter |
| `propertyType` | string[] | [] | Filter by type: hotel, apartment, hostel, resort, villa, guesthouse, b&b |

#### Example Input

```json
{
  "searchQuery": "Paris, France",
  "checkIn": "2026-04-15",
  "checkOut": "2026-04-18",
  "adults": 2,
  "maxProperties": 50,
  "currency": "EUR",
  "starFilter": [4, 5],
  "includeReviews": true,
  "maxReviews": 5
}
````

### Output Data

Each property record contains comprehensive hotel data:

```json
{
  "url": "https://www.booking.com/hotel/fr/le-marais-boutique.html",
  "propertyId": "le-marais-boutique",
  "name": "Le Marais Boutique Hotel",
  "type": "Hotel",
  "starRating": 4,
  "address": {
    "street": "15 Rue des Archives",
    "city": "Paris",
    "country": "France",
    "countryCode": "FR",
    "postalCode": "75004",
    "full": "15 Rue des Archives, 75004 Paris, France"
  },
  "coordinates": { "latitude": 48.8566, "longitude": 2.3522 },
  "rating": 8.7,
  "ratingText": "Excellent",
  "reviewCount": 2341,
  "pricePerNight": 189.00,
  "totalPrice": 567.00,
  "currency": "EUR",
  "freeCancellation": true,
  "rooms": [
    {
      "name": "Superior Double Room",
      "bedType": "1 large double bed",
      "pricePerNight": 189.00,
      "freeCancellation": true,
      "breakfastIncluded": true
    }
  ],
  "amenities": ["Free WiFi", "Restaurant", "Bar", "Fitness centre"],
  "reviews": [
    {
      "author": "John",
      "rating": 9.2,
      "positive": "Amazing location, friendly staff",
      "negative": "Room was a bit small"
    }
  ],
  "scrapedAt": "2026-03-11T12:00:00.000Z"
}
```

### Use Cases

**Hotel price monitoring:** Track room rates across competitors over time. Schedule daily runs to build pricing datasets for revenue management and dynamic pricing strategies.

**Travel agency research:** Compare hotels in a destination by price, rating, and amenities. Build curated hotel lists for travel packages with real-time availability data.

**Market intelligence:** Analyze hotel supply, pricing trends, and guest satisfaction across markets. Identify underserved areas or pricing opportunities in the hospitality sector.

**Review analysis:** Collect guest reviews at scale for sentiment analysis, quality benchmarking, and competitive intelligence. Filter by traveler type, stay date, and rating.

### How It Works

The actor uses CheerioCrawler from the Crawlee library to fetch and parse Booking.com pages. It navigates search result pages to discover properties, then visits each property page to extract detailed data including pricing, room availability, reviews, and amenities. Requests are routed through residential proxies with randomized delays between requests to maintain reliability. Currency and language are set via URL parameters for clean, localized results.

### Pricing

This actor uses Pay-Per-Event (PPE) billing. You are charged **$98.00 per 1,000 properties scraped** ($0.098 per property). Failed requests, blocked pages, and empty searches are not billed. A free tier is included for testing.

Pricing includes all platform compute costs — no hidden fees.

### Proxy Requirements

This actor requires residential proxies because Booking.com blocks datacenter IP addresses and uses PerimeterX anti-bot protection.

- **Paid Apify plan users**: Works automatically with the default residential proxy configuration.
- **Free plan users**: Provide your own residential proxy URL in the Proxy Configuration input field.
- Without a residential proxy, the actor will exit with a clear error message.

### FAQ

#### How much does it cost to scrape Booking.com?

$98.00 per 1,000 properties. A typical run scraping 100 hotels in a city costs about $9.80. Reviews, room types, and photos are included at no extra charge per property when enabled.

#### Can I get real-time hotel prices?

Yes. Specify your check-in and check-out dates, number of guests, and rooms. The actor returns current prices as displayed on Booking.com for your configuration. Prices are point-in-time snapshots — run the actor again to get updated rates.

#### Does it support different currencies?

Yes. Set the `currency` parameter to any ISO 4217 currency code (USD, EUR, GBP, JPY, etc.). Booking.com handles the conversion and the actor returns prices in your selected currency. If the currency is not supported, it falls back to EUR.

#### Can I search by location coordinates?

Yes. Set `locationLatitude`, `locationLongitude`, and `locationRadiusKm` to search for properties near specific GPS coordinates. This is useful for finding hotels near a specific landmark, event venue, or neighborhood.

#### Is scraping Booking.com legal?

Booking.com property listings and prices are publicly accessible information. This actor only extracts publicly visible data — it does not access private accounts, internal systems, or non-public data. Users are responsible for complying with applicable laws and Booking.com's terms of service in their jurisdiction. We recommend reasonable rate limits and respectful crawling practices.

### Related Actors

- [Trustpilot Reviews Scraper](https://apify.com/junipr/trustpilot-reviews-scraper) — Scrape business reviews and ratings from Trustpilot
- [Yelp Scraper](https://apify.com/junipr/yellow-pages-scraper) — Scrape business listings from Yellow Pages
- [Google News Scraper](https://apify.com/junipr/google-news-scraper) — Scrape news articles from Google News

# Actor input Schema

## `searchQuery` (type: `string`):

Location or hotel name to search on Booking.com (e.g. 'Paris, France', 'Hilton London'). At least one of searchQuery, propertyUrls, or location is required.

## `propertyUrls` (type: `array`):

Direct Booking.com property URLs to scrape. Each URL must be a valid booking.com hotel page. Max 500 URLs.

## `locationLatitude` (type: `number`):

Center latitude for location-based search. Use with locationLongitude and locationRadiusKm. Range: -90 to 90.

## `locationLongitude` (type: `number`):

Center longitude for location-based search. Use with locationLatitude and locationRadiusKm. Range: -180 to 180.

## `locationRadiusKm` (type: `integer`):

Search radius in kilometers for location-based search. Range: 1-50.

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

Check-in date in YYYY-MM-DD format. Must be today or a future date. Defaults to tomorrow if not set.

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

Check-out date in YYYY-MM-DD format. Must be after check-in date. Defaults to the day after check-in.

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

Number of adults for the booking search. Range: 1-30.

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

Number of children for the booking search. Range: 0-10.

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

Number of rooms needed. Range: 1-30.

## `maxProperties` (type: `integer`):

Maximum number of properties to extract. Range: 1-5000.

## `includeReviews` (type: `boolean`):

Extract guest reviews for each property. Each property can have up to maxReviews reviews extracted.

## `maxReviews` (type: `integer`):

Maximum number of reviews to extract per property. Range: 0-100.

## `includeRoomTypes` (type: `boolean`):

Extract all available room types with pricing and amenities for each property.

## `includePhotos` (type: `boolean`):

Extract photo URLs for each property.

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

Display currency for prices. ISO 4217 code (e.g. USD, EUR, GBP).

## `language` (type: `string`):

Language for content. BCP 47 code (e.g. en-us, fr, de, es).

## `sortBy` (type: `string`):

Sort order for search results.

## `starFilter` (type: `array`):

Filter properties by star rating. Leave empty for all ratings. Example: \[4, 5] for 4 and 5 star properties.

## `minPrice` (type: `number`):

Minimum price per night filter. Leave at 0 for no minimum.

## `maxPrice` (type: `number`):

Maximum price per night filter. Leave at 0 for no maximum.

## `propertyType` (type: `array`):

Filter by property type. Leave empty for all types. Valid values: hotel, apartment, hostel, resort, villa, guesthouse, b\&b.

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

Residential proxy is recommended — Booking.com blocks datacenter IPs. Defaults to Apify residential proxy (requires paid Apify plan). Free-plan users can provide their own residential proxy URL.

## Actor input object example

```json
{
  "searchQuery": "New York, USA",
  "propertyUrls": [],
  "locationLatitude": 0,
  "locationLongitude": 0,
  "locationRadiusKm": 5,
  "checkIn": "",
  "checkOut": "",
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "maxProperties": 1,
  "includeReviews": false,
  "maxReviews": 0,
  "includeRoomTypes": false,
  "includePhotos": false,
  "currency": "USD",
  "language": "en-us",
  "sortBy": "popularity",
  "starFilter": [],
  "minPrice": 0,
  "maxPrice": 0,
  "propertyType": [],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

Hotel and accommodation property records scraped from Booking.com. Each record includes pricing, room types, reviews, amenities, photos, and location data.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("junipr/booking-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("junipr/booking-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 '{}' |
apify call junipr/booking-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Booking.com Scraper — Hotel Prices, Ratings & Availability",
        "description": "Scrape Booking.com hotel and accommodation listings. Extract prices, ratings, reviews, amenities, photos, and availability. Search by destination, dates, and guest count.",
        "version": "1.0",
        "x-build-id": "zCfx8TY0JTXSoh3hF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/junipr~booking-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-junipr-booking-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/junipr~booking-scraper/runs": {
            "post": {
                "operationId": "runs-sync-junipr-booking-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/junipr~booking-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-junipr-booking-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": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Location or hotel name to search on Booking.com (e.g. 'Paris, France', 'Hilton London'). At least one of searchQuery, propertyUrls, or location is required.",
                        "default": "New York, USA"
                    },
                    "propertyUrls": {
                        "title": "Property URLs",
                        "type": "array",
                        "description": "Direct Booking.com property URLs to scrape. Each URL must be a valid booking.com hotel page. Max 500 URLs.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "locationLatitude": {
                        "title": "Location Latitude",
                        "minimum": -90,
                        "maximum": 90,
                        "type": "number",
                        "description": "Center latitude for location-based search. Use with locationLongitude and locationRadiusKm. Range: -90 to 90.",
                        "default": 0
                    },
                    "locationLongitude": {
                        "title": "Location Longitude",
                        "minimum": -180,
                        "maximum": 180,
                        "type": "number",
                        "description": "Center longitude for location-based search. Use with locationLatitude and locationRadiusKm. Range: -180 to 180.",
                        "default": 0
                    },
                    "locationRadiusKm": {
                        "title": "Location Radius (km)",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Search radius in kilometers for location-based search. Range: 1-50.",
                        "default": 5
                    },
                    "checkIn": {
                        "title": "Check-in Date",
                        "type": "string",
                        "description": "Check-in date in YYYY-MM-DD format. Must be today or a future date. Defaults to tomorrow if not set.",
                        "default": ""
                    },
                    "checkOut": {
                        "title": "Check-out Date",
                        "type": "string",
                        "description": "Check-out date in YYYY-MM-DD format. Must be after check-in date. Defaults to the day after check-in.",
                        "default": ""
                    },
                    "adults": {
                        "title": "Number of Adults",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Number of adults for the booking search. Range: 1-30.",
                        "default": 2
                    },
                    "children": {
                        "title": "Number of Children",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of children for the booking search. Range: 0-10.",
                        "default": 0
                    },
                    "rooms": {
                        "title": "Number of Rooms",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Number of rooms needed. Range: 1-30.",
                        "default": 1
                    },
                    "maxProperties": {
                        "title": "Max Properties",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of properties to extract. Range: 1-5000.",
                        "default": 1
                    },
                    "includeReviews": {
                        "title": "Include Reviews",
                        "type": "boolean",
                        "description": "Extract guest reviews for each property. Each property can have up to maxReviews reviews extracted.",
                        "default": false
                    },
                    "maxReviews": {
                        "title": "Max Reviews Per Property",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of reviews to extract per property. Range: 0-100.",
                        "default": 0
                    },
                    "includeRoomTypes": {
                        "title": "Include Room Types",
                        "type": "boolean",
                        "description": "Extract all available room types with pricing and amenities for each property.",
                        "default": false
                    },
                    "includePhotos": {
                        "title": "Include Photos",
                        "type": "boolean",
                        "description": "Extract photo URLs for each property.",
                        "default": false
                    },
                    "currency": {
                        "title": "Currency",
                        "type": "string",
                        "description": "Display currency for prices. ISO 4217 code (e.g. USD, EUR, GBP).",
                        "default": "USD"
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Language for content. BCP 47 code (e.g. en-us, fr, de, es).",
                        "default": "en-us"
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "popularity",
                            "price",
                            "rating",
                            "stars",
                            "distance"
                        ],
                        "type": "string",
                        "description": "Sort order for search results.",
                        "default": "popularity"
                    },
                    "starFilter": {
                        "title": "Star Rating Filter",
                        "type": "array",
                        "description": "Filter properties by star rating. Leave empty for all ratings. Example: [4, 5] for 4 and 5 star properties.",
                        "items": {
                            "type": "integer"
                        },
                        "default": []
                    },
                    "minPrice": {
                        "title": "Minimum Price Per Night",
                        "type": "number",
                        "description": "Minimum price per night filter. Leave at 0 for no minimum.",
                        "default": 0
                    },
                    "maxPrice": {
                        "title": "Maximum Price Per Night",
                        "type": "number",
                        "description": "Maximum price per night filter. Leave at 0 for no maximum.",
                        "default": 0
                    },
                    "propertyType": {
                        "title": "Property Type Filter",
                        "type": "array",
                        "description": "Filter by property type. Leave empty for all types. Valid values: hotel, apartment, hostel, resort, villa, guesthouse, b&b.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Residential proxy is recommended — Booking.com blocks datacenter IPs. Defaults to Apify residential proxy (requires paid Apify plan). Free-plan users can provide their own residential proxy URL.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
