# Trip Hotel Listings Extractor (`kawsar/trip-hotel-listings-extractor`) Actor

Trip.com hotel scraper that pulls names, star ratings, review scores, prices, room info, and images for any city and stay dates, so travel and SEO teams get clean structured data without opening a browser.

- **URL**: https://apify.com/kawsar/trip-hotel-listings-extractor.md
- **Developed by:** [Kawsar](https://apify.com/kawsar) (community)
- **Categories:** Travel, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## 🏨 Trip Hotel Listings Extractor

**Pull structured hotel data from [Trip.com](https://www.trip.com/hotels/) in one run.** Give the actor a city, a check-in date, and a check-out date, and it returns a clean JSON dataset with hotel names, star ratings, review scores, prices per night, total prices, room details, promo tags, nearby landmarks, and image URLs.

Built for SEO teams, travel bloggers, price-monitoring platforms, and lead-generation workflows that need reliable hotel data without a browser.

### ✨ Features

- **Zero setup.** Just enter city, dates, and go.
- **Clean structured output.** Each hotel is one flat JSON row, ready for a spreadsheet, database, or dashboard.
- **Numeric prices.** Both display strings and parsed numeric values, in the currency you choose.
- **Handles discounts.** Original price, sale price, and total with taxes are all captured separately.
- **Deep pagination.** Cycles multiple sort orders behind the scenes to pull as many unique hotels as Trip.com exposes for the query.
- **12 supported currencies.** USD, EUR, GBP, HKD, JPY, SGD, AUD, CAD, CNY, INR, THB, KRW.
- **Multi-guest search.** Configure adults, children, and room count.
- **Rich metadata.** Star rating, review score, review count, nearby landmarks, highlight tags, and up to 5 image URLs per hotel.
- **Built-in bypass infrastructure.** No proxy setup, no captchas, no browser needed.
- **Safe defaults.** Per-item error handling means one bad hotel never crashes the run.

---

### 🎯 Use cases

| Who | What they use it for |
|-----|----------------------|
| **SEO agencies** | Populate travel landing pages with fresh hotel inventory |
| **Travel bloggers** | Auto-generate "top hotels in [city]" round-ups |
| **Price monitors** | Track competitor rates across destinations and dates |
| **OTA marketers** | Benchmark against Trip.com pricing and availability |
| **Travel agencies** | Enrich CRM records with hotel metadata for outbound campaigns |
| **Data teams** | Feed a hotel data warehouse with daily snapshots |
| **Affiliate sites** | Build price-comparison widgets with real Trip.com data |

---

### 📥 Input schema

| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `cityId` | integer | ✅ yes | — | Trip.com internal city ID (see below) |
| `checkIn` | string | ✅ yes | — | Check-in date in `YYYY-MM-DD` format |
| `checkOut` | string | ✅ yes | — | Check-out date in `YYYY-MM-DD` format |
| `adults` | integer | no | `2` | Adult guests per room (1 to 10) |
| `children` | integer | no | `0` | Children per room (0 to 10) |
| `rooms` | integer | no | `1` | Number of rooms (1 to 10) |
| `currency` | string | no | `USD` | Currency code |
| `maxItems` | integer | no | `10` | Max unique hotels to return (1 to 1000) |
| `requestTimeoutSecs` | integer | no | `180` | Per-request timeout in seconds |

**Supported currencies:** USD, EUR, GBP, HKD, JPY, SGD, AUD, CAD, CNY, INR, THB, KRW

---

### 📤 Output fields

Each dataset record contains:

#### Identity
- `hotelId` — Trip.com internal hotel ID
- `hotelName` — Hotel display name
- `hotelUrl` — Direct Trip.com detail page URL

#### Ratings
- `starRating` — Star classification (1 to 5)
- `reviewScore` — Guest review score (out of 10)
- `reviewCount` — Number of guest reviews

#### Pricing
- `pricePerNight` — Current per-night price (numeric)
- `originalPrice` — Pre-discount price if a promo is active (numeric, nullable)
- `totalPrice` — Total including taxes and fees (numeric)
- `currencyCode` — Currency of prices
- `pricePerNightText` — Raw display string
- `totalPriceText` — Raw display string with promo details

#### Room details
- `roomName` — Featured room type
- `bedInfo` — Bed configuration
- `promoTag` — Availability or promo tag (for example "Only 5 left at this price")

#### Location and highlights
- `nearbyLandmarks` — Array of nearby stations and points of interest
- `highlightTags` — Array of hotel selling points

#### Images
- `primaryImage` — First image URL
- `imageUrls` — Up to 5 image URLs

#### Search context
- `searchCityId`, `checkInDate`, `checkOutDate`, `adults`, `children`, `rooms`
- `sortOrder` — Which sort order surfaced this hotel
- `pageIndex` — Which page of that sort order
- `scrapedAt` — ISO 8601 UTC timestamp

---

### 💡 Example input

```json
{
    "cityId": 58,
    "checkIn": "2026-08-15",
    "checkOut": "2026-08-16",
    "adults": 2,
    "children": 0,
    "rooms": 1,
    "currency": "USD",
    "maxItems": 10
}
````

***

### 📊 Example output

```json
{
    "hotelId": "436852",
    "hotelName": "The Charterhouse Causeway Bay",
    "hotelUrl": "https://www.trip.com/hotels/detail/?hotelId=436852",
    "starRating": 3,
    "reviewScore": 8.0,
    "reviewCount": 6242,
    "pricePerNight": 77.0,
    "originalPrice": null,
    "totalPrice": 87.0,
    "currencyCode": "USD",
    "pricePerNightText": "US$77",
    "totalPriceText": "US$77 Total (incl. taxes & fees): US$87",
    "roomName": "Superior Room",
    "bedInfo": "1 queen bed or 2 single beds",
    "promoTag": "Only 5 left at this price",
    "nearbyLandmarks": [
        "Near Causeway Bay Metro Station",
        "Hong Kong Convention and Exhibition Centre"
    ],
    "highlightTags": ["Vintage vibes", "Delicious breakfast", "Cafe"],
    "primaryImage": "https://ak-d.tripcdn.com/images/0586m12000sp0g74iA4BD_R_600_600_R5_D.jpg_.webp",
    "imageUrls": [
        "https://ak-d.tripcdn.com/images/0586m12000sp0g74iA4BD_R_600_600_R5_D.jpg_.webp",
        "https://ak-d.tripcdn.com/images/0223612000at70vm77662_R_600_600_R5_D.jpg_.webp"
    ],
    "searchCityId": 58,
    "checkInDate": "2026-08-15",
    "checkOutDate": "2026-08-16",
    "adults": 2,
    "children": 0,
    "rooms": 1,
    "sortOrder": "default",
    "pageIndex": 1,
    "scrapedAt": "2026-08-14T12:34:56.789012+00:00"
}
```

***

### 🌍 How to find a city ID

1. Open [trip.com/hotels](https://www.trip.com/hotels/) and search your target destination.
2. Look at the URL of the results page, for example:
   ```
   https://www.trip.com/hotels/list?city=58&provinceId=0&countryId=1&...
   ```
3. Copy the value after `city=`. That's your `cityId`.

**Common city IDs:**

| City | Country | `cityId` |
|------|---------|----------|
| Hong Kong | China | `58` |
| Bangkok | Thailand | `359` |
| Tokyo | Japan | `553` |
| Singapore | Singapore | `73` |
| London | United Kingdom | `732` |
| New York | United States | `429` |
| Paris | France | `760` |
| Dubai | United Arab Emirates | `2247` |
| Kuala Lumpur | Malaysia | `276` |
| Seoul | South Korea | `538` |

### ❓ FAQ

**Q: Why do I sometimes get fewer hotels than `maxItems`?**
Trip.com only exposes a limited pool of hotels through its public search page for any given query. The actor exhausts every practical sort order and pagination depth. If you need more, split the search into multiple date ranges or add district-level filters manually.

**Q: Are prices real-time?**
Yes. Prices reflect what Trip.com shows at scrape time for the exact search you configured. Prices change frequently based on demand, currency, and stay length.

**Q: Can I scrape multiple cities in one run?**
Not in a single run. Start one run per `cityId`. Use Apify Schedules or the API to automate a batch across many cities.

**Q: Does this include hotel reviews?**
No. This actor extracts listing-page data only (aggregate review score and count). For full review text, consider a dedicated Trip.com review scraper actor.

**Q: What if a hotel's price fails to parse?**
The numeric `pricePerNight` / `totalPrice` fields fall back to `null`, and the raw display strings are always available in `pricePerNightText` / `totalPriceText`.

**Q: Can I use the extracted data commercially?**
Data is scraped from public Trip.com listings. Consult Trip.com's Terms of Service and your local regulations before commercial use.

***

### 🚀 Get started

1. Click **Try for free** on the actor page.
2. Set your `cityId`, `checkIn`, and `checkOut`.
3. Run.
4. Download the dataset as JSON, CSV, Excel, or push to your own storage via the Apify API.

***

Happy scraping. 🏨✨

# Actor input Schema

## `cityId` (type: `integer`):

Trip.com internal city ID (for example 58 for Hong Kong, 359 for Bangkok, 553 for Tokyo). Open the destination on Trip.com and copy the numeric value of the 'city' URL parameter.

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

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

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

Check-out date in YYYY-MM-DD format.

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

Number of adult guests per room.

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

Number of child guests per room.

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

Number of rooms to book.

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

Currency code for displayed prices (for example USD, EUR, GBP, HKD, JPY, SGD).

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

Maximum number of unique hotel listings to return per run. The actor scrolls the rendered Trip.com page to trigger infinite loading until this cap is reached.

## `requestTimeoutSecs` (type: `integer`):

Per-request timeout in seconds. Higher maxItems values need longer timeouts because each fetch renders the page and scrolls it.

## Actor input object example

```json
{
  "cityId": 58,
  "checkIn": "2026-08-15",
  "checkOut": "2026-08-16",
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "currency": "USD",
  "maxItems": 10,
  "requestTimeoutSecs": 180
}
```

# 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 = {
    "cityId": 58,
    "checkIn": "2026-08-15",
    "checkOut": "2026-08-16",
    "adults": 2,
    "children": 0,
    "rooms": 1,
    "currency": "USD",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("kawsar/trip-hotel-listings-extractor").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 = {
    "cityId": 58,
    "checkIn": "2026-08-15",
    "checkOut": "2026-08-16",
    "adults": 2,
    "children": 0,
    "rooms": 1,
    "currency": "USD",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("kawsar/trip-hotel-listings-extractor").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 '{
  "cityId": 58,
  "checkIn": "2026-08-15",
  "checkOut": "2026-08-16",
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "currency": "USD",
  "maxItems": 10
}' |
apify call kawsar/trip-hotel-listings-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=kawsar/trip-hotel-listings-extractor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trip Hotel Listings Extractor",
        "description": "Trip.com hotel scraper that pulls names, star ratings, review scores, prices, room info, and images for any city and stay dates, so travel and SEO teams get clean structured data without opening a browser.",
        "version": "0.0",
        "x-build-id": "eU3ILpgbE8NJRqxOm"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/kawsar~trip-hotel-listings-extractor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-kawsar-trip-hotel-listings-extractor",
                "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/kawsar~trip-hotel-listings-extractor/runs": {
            "post": {
                "operationId": "runs-sync-kawsar-trip-hotel-listings-extractor",
                "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/kawsar~trip-hotel-listings-extractor/run-sync": {
            "post": {
                "operationId": "run-sync-kawsar-trip-hotel-listings-extractor",
                "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",
                "required": [
                    "cityId",
                    "checkIn",
                    "checkOut"
                ],
                "properties": {
                    "cityId": {
                        "title": "City ID",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Trip.com internal city ID (for example 58 for Hong Kong, 359 for Bangkok, 553 for Tokyo). Open the destination on Trip.com and copy the numeric value of the 'city' URL parameter."
                    },
                    "checkIn": {
                        "title": "Check-in date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Check-in date in YYYY-MM-DD format."
                    },
                    "checkOut": {
                        "title": "Check-out date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Check-out date in YYYY-MM-DD format."
                    },
                    "adults": {
                        "title": "Adults",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of adult guests per room.",
                        "default": 2
                    },
                    "children": {
                        "title": "Children",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of child guests per room.",
                        "default": 0
                    },
                    "rooms": {
                        "title": "Rooms",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of rooms to book.",
                        "default": 1
                    },
                    "currency": {
                        "title": "Currency",
                        "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "HKD",
                            "JPY",
                            "SGD",
                            "AUD",
                            "CAD",
                            "CNY",
                            "INR",
                            "THB",
                            "KRW"
                        ],
                        "type": "string",
                        "description": "Currency code for displayed prices (for example USD, EUR, GBP, HKD, JPY, SGD).",
                        "default": "USD"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of unique hotel listings to return per run. The actor scrolls the rendered Trip.com page to trigger infinite loading until this cap is reached.",
                        "default": 10
                    },
                    "requestTimeoutSecs": {
                        "title": "Request timeout (seconds)",
                        "minimum": 30,
                        "maximum": 300,
                        "type": "integer",
                        "description": "Per-request timeout in seconds. Higher maxItems values need longer timeouts because each fetch renders the page and scrolls it.",
                        "default": 180
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
