# Booking.com Hotels Scraper (`xtracto/booking-hotels-scraper`) Actor

Scrape Booking.com hotel search results — name, price, rating, review count, address, and hotel URL — by destination and dates or from a Booking search URL. No login.

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

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## Booking.com Hotels Scraper

Extract hotel search results from Booking.com — hotel name, price, guest rating, review count, address, and distance from the centre — from a destination + dates or a pasted Booking search URL. Ideal for rate monitoring and market research. No account or login required.

### Why use this actor

- **No account, login, or API key required.**
- **Live room prices** for your dates, party size, and currency — perfect for rate monitoring and competitor tracking.
- **Guest sentiment at a glance** — rating, rating label (e.g. "Wonderful"), and review count for every hotel.
- **Search by place or by URL** — type a destination and dates, or paste a Booking search URL with your own filters already applied.
- **Stable JSON output** ready for spreadsheets, dashboards, databases, or pricing pipelines.
- Runs on a schedule, retries automatically, and exports to JSON, CSV, or Excel.

### How it works

1. Enter a **destination** and check-in / check-out dates (or paste a Booking.com search URL).
2. Set party size (adults, children, rooms) and, optionally, a currency.
3. Run it. The actor opens the search, reads each hotel card, and pushes one clean record per hotel.

You do not manage any scrapers, browsers, or blocks — the actor handles that automatically and returns clean records.

### Input

```json
{
  "mode": "search",
  "destination": "Amsterdam",
  "checkin": "2026-08-10",
  "checkout": "2026-08-12",
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "currency": "USD",
  "maxItemsPerSearch": 0,
  "maxItems": 100,
  "maxPagesPerSearch": 40,
  "solveAttempts": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
````

You can also skip the destination/dates and paste a search URL directly:

```json
{
  "mode": "search",
  "startUrls": [
    "https://www.booking.com/searchresults.html?ss=Amsterdam&checkin=2026-08-10&checkout=2026-08-12&group_adults=2"
  ],
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

| Field | Type | Description |
|-------|------|-------------|
| `mode` | string | `search` — build a search from destination + dates, or crawl the search URLs you paste. |
| `startUrls` | array | Booking search URLs (optional; overrides destination/dates). |
| `destination` | string | City, region, or place, e.g. Amsterdam, Paris, Bali. |
| `checkin` / `checkout` | string | Dates in `YYYY-MM-DD`. Optional; omit for undated results. |
| `adults` / `children` / `rooms` | integer | Party size to price the stay for. |
| `currency` | string | ISO code to price in, e.g. `USD`, `EUR`, `GBP`. Leave empty for Booking's default. |
| `maxItemsPerSearch` | integer | Cap hotels per destination/URL. `0` = all available. |
| `maxItems` | integer | Overall cap for the run. `0` = no limit. |
| `maxPagesPerSearch` | integer | How many result pages to crawl per search. |
| `solveAttempts` | integer | How many times to retry the initial unlock on a fresh IP. More = more reliable. |
| `proxyConfiguration` | object | Residential is recommended (default). |

### Output

One record per hotel.

```json
{
  "_input": "https://www.booking.com/searchresults.html?ss=Amsterdam&group_adults=2&no_rooms=1&group_children=0&checkin=2026-08-10&checkout=2026-08-12&selected_currency=EUR",
  "_source": "S1-search",
  "_scrapedAt": "2026-07-09T14:45:15Z",
  "recordType": "HOTEL",
  "hotelName": "Anantara Grand Hotel Krasnapolsky Amsterdam",
  "price": "€ 626",
  "rating": 9,
  "reviewLabel": "Wonderful",
  "reviewCount": 6048,
  "address": "Amsterdam City Center, Amsterdam",
  "distance": "100 m from downtown",
  "hotelUrl": "https://www.booking.com/hotel/nl/anantara-ghkrasnapolsky.html",
  "resultsTotal": 699
}
```

| Field | Type | Description |
|-------|------|-------------|
| `hotelName` | string | Hotel name. |
| `price` | string | Total price for the stay, in the search currency (e.g. `€ 626`). |
| `rating` | number | Guest rating out of 10. |
| `reviewLabel` | string | Rating word, e.g. "Wonderful", "Good", "Excellent". |
| `reviewCount` | integer | Number of guest reviews. |
| `address` | string | Neighbourhood / area and city. |
| `distance` | string | Distance from the city centre. |
| `hotelUrl` | string | Direct link to the hotel page. |
| `resultsTotal` | integer | Total hotels Booking reports for the search. |

### Notes & limits

- **Volume per search:** each search URL reliably returns roughly the first page of results (~25 hotels). For broader coverage, run **several searches** — split by neighbourhood/area, date range, or apply different filters — and add multiple URLs or destinations.
- **Prices** are the total for the whole stay and party size you set, shown in the chosen currency. Re-run to refresh, as availability and rates change.
- **Proxy:** Residential is recommended and set as the default.

### Other actors

See the sibling scrapers in this collection for freelance-marketplace gigs and UK property listings.

# Actor input Schema

## `mode` (type: `string`):

How to source hotels. 'search' builds a Booking search from destination + dates, or crawls the search URLs you paste.

## `startUrls` (type: `array`):

Paste Booking.com search URLs directly (overrides destination/dates), e.g. https://www.booking.com/searchresults.html?ss=Amsterdam\&checkin=2026-08-10\&checkout=2026-08-12\&group\_adults=2

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

City, region, or place to search, e.g. Amsterdam, Paris, Bali. Used when no search URL is pasted.

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

Check-in date in YYYY-MM-DD format, e.g. 2026-08-10. Optional; if omitted Booking returns undated results.

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

Check-out date in YYYY-MM-DD format, e.g. 2026-08-12. Optional; if omitted Booking returns undated results.

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

Number of adult guests to price the stay for.

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

Number of children in the party.

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

Number of rooms to search for.

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

ISO currency code to price hotels in, e.g. USD, EUR, GBP. Leave empty to use Booking's IP-based default.

## `maxItemsPerSearch` (type: `integer`):

Cap per destination/URL. 0 = all (up to the page limit).

## `maxItems` (type: `integer`):

Overall cap for the run across all searches. 0 = no limit.

## `maxPagesPerSearch` (type: `integer`):

Booking shows ~25 hotels per page (paged with \&offset=25). This caps how many pages to crawl per search.

## `solveAttempts` (type: `integer`):

How many times to retry the initial browser unlock on a fresh proxy IP if AWS WAF doesn't clear. More attempts = more reliable, slightly higher cost.

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

AWS WAF is IP-reputation-sensitive; RESIDENTIAL is recommended. The browser solve and the HTTP crawl share ONE sticky IP (the aws-waf-token is IP-bound).

## Actor input object example

```json
{
  "mode": "search",
  "startUrls": [
    "https://www.booking.com/searchresults.html?ss=Amsterdam&checkin=2026-08-10&checkout=2026-08-12&group_adults=2"
  ],
  "destination": "Amsterdam",
  "checkin": "2026-08-10",
  "checkout": "2026-08-12",
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "currency": "USD",
  "maxItemsPerSearch": 0,
  "maxItems": 100,
  "maxPagesPerSearch": 40,
  "solveAttempts": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "startUrls": [
        "https://www.booking.com/searchresults.html?ss=Amsterdam&checkin=2026-08-10&checkout=2026-08-12&group_adults=2"
    ],
    "destination": "Amsterdam",
    "checkin": "2026-08-10",
    "checkout": "2026-08-12",
    "currency": "USD"
};

// Run the Actor and wait for it to finish
const run = await client.actor("xtracto/booking-hotels-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://www.booking.com/searchresults.html?ss=Amsterdam&checkin=2026-08-10&checkout=2026-08-12&group_adults=2"],
    "destination": "Amsterdam",
    "checkin": "2026-08-10",
    "checkout": "2026-08-12",
    "currency": "USD",
}

# Run the Actor and wait for it to finish
run = client.actor("xtracto/booking-hotels-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://www.booking.com/searchresults.html?ss=Amsterdam&checkin=2026-08-10&checkout=2026-08-12&group_adults=2"
  ],
  "destination": "Amsterdam",
  "checkin": "2026-08-10",
  "checkout": "2026-08-12",
  "currency": "USD"
}' |
apify call xtracto/booking-hotels-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Booking.com Hotels Scraper",
        "description": "Scrape Booking.com hotel search results — name, price, rating, review count, address, and hotel URL — by destination and dates or from a Booking search URL. No login.",
        "version": "0.1",
        "x-build-id": "Xs6RNjAu9r1EI1Ysh"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/xtracto~booking-hotels-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-xtracto-booking-hotels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/xtracto~booking-hotels-scraper/runs": {
            "post": {
                "operationId": "runs-sync-xtracto-booking-hotels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/xtracto~booking-hotels-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-xtracto-booking-hotels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "mode": {
                        "title": "Scrape mode",
                        "enum": [
                            "search"
                        ],
                        "type": "string",
                        "description": "How to source hotels. 'search' builds a Booking search from destination + dates, or crawls the search URLs you paste.",
                        "default": "search"
                    },
                    "startUrls": {
                        "title": "Booking search URLs (optional)",
                        "type": "array",
                        "description": "Paste Booking.com search URLs directly (overrides destination/dates), e.g. https://www.booking.com/searchresults.html?ss=Amsterdam&checkin=2026-08-10&checkout=2026-08-12&group_adults=2",
                        "items": {
                            "type": "string"
                        }
                    },
                    "destination": {
                        "title": "Destination",
                        "type": "string",
                        "description": "City, region, or place to search, e.g. Amsterdam, Paris, Bali. Used when no search URL is pasted."
                    },
                    "checkin": {
                        "title": "Check-in date",
                        "type": "string",
                        "description": "Check-in date in YYYY-MM-DD format, e.g. 2026-08-10. Optional; if omitted Booking returns undated results."
                    },
                    "checkout": {
                        "title": "Check-out date",
                        "type": "string",
                        "description": "Check-out date in YYYY-MM-DD format, e.g. 2026-08-12. Optional; if omitted Booking returns undated results."
                    },
                    "adults": {
                        "title": "Adults",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Number of adult guests to price the stay for.",
                        "default": 2
                    },
                    "children": {
                        "title": "Children",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of children in the party.",
                        "default": 0
                    },
                    "rooms": {
                        "title": "Rooms",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Number of rooms to search for.",
                        "default": 1
                    },
                    "currency": {
                        "title": "Currency (optional)",
                        "type": "string",
                        "description": "ISO currency code to price hotels in, e.g. USD, EUR, GBP. Leave empty to use Booking's IP-based default."
                    },
                    "maxItemsPerSearch": {
                        "title": "Max hotels per search (0 = all)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Cap per destination/URL. 0 = all (up to the page limit).",
                        "default": 0
                    },
                    "maxItems": {
                        "title": "Max hotels total (0 = all)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Overall cap for the run across all searches. 0 = no limit.",
                        "default": 100
                    },
                    "maxPagesPerSearch": {
                        "title": "Max pages per search",
                        "minimum": 1,
                        "maximum": 40,
                        "type": "integer",
                        "description": "Booking shows ~25 hotels per page (paged with &offset=25). This caps how many pages to crawl per search.",
                        "default": 40
                    },
                    "solveAttempts": {
                        "title": "AWS WAF solve attempts (IP rotations)",
                        "minimum": 1,
                        "maximum": 12,
                        "type": "integer",
                        "description": "How many times to retry the initial browser unlock on a fresh proxy IP if AWS WAF doesn't clear. More attempts = more reliable, slightly higher cost.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "AWS WAF is IP-reputation-sensitive; RESIDENTIAL is recommended. The browser solve and the HTTP crawl share ONE sticky IP (the aws-waf-token is IP-bound).",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
