# Trip.com Hotel Reviews Scraper (`shahidirfan/trip-com-hotel-reviews-scraper`) Actor

Extract detailed hotel reviews, ratings & guest insights from Trip.com instantly. Perfect for market research, competitive intelligence & sentiment analysis. Gather structured review data, scores, comments & trends to power your hospitality analytics.

- **URL**: https://apify.com/shahidirfan/trip-com-hotel-reviews-scraper.md
- **Developed by:** [Shahid Irfan](https://apify.com/shahidirfan) (community)
- **Categories:** Travel, Automation, Developer tools
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Trip.com Hotel Reviews Scraper

Collect guest reviews from Trip.com hotel detail pages and turn them into a clean dataset for research, hospitality analysis, guest sentiment tracking, and competitor benchmarking. Each record includes hotel context, stay context, reviewer details, ratings, translated review text, room type, and media references when Trip.com publishes them.

---

### Features

- **Guest review extraction** — Collect published Trip.com hotel reviews for a selected property and stay context.
- **Multi-page review collection** — Keep collecting reviews across Trip.com review pages until the requested limit or the available review count is reached.
- **Hotel context included** — Save hotel name, hotel URL, aggregate rating, address, and stay dates alongside every review.
- **Translated review text** — Capture Trip.com’s translated review content when it is available.
- **Structured review details** — Keep room type, travel type, reviewer profile details, review dates, image links, and helpful-count data.
- **Clean dataset output** — Removes null values so the dataset stays compact and easy to consume downstream.

---

### Use Cases

#### Hotel Reputation Monitoring
Track how guests describe a specific property over time. Spot recurring complaints, strong service moments, and shifts in satisfaction.

#### Hospitality Research
Build review datasets for hotel operations analysis, market studies, or service quality comparisons across locations and room types.

#### Guest Experience Analysis
Understand how business travellers, couples, families, and other guest segments rate the same property differently.

#### Content And Benchmarking
Compare room-type feedback, review scores, and guest sentiment before making pricing, positioning, or renovation decisions.

---

### Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrl` | String | Yes | Trip.com sample hotel URL | Trip.com hotel detail URL to scrape. |
| `hotelId` | Integer | No | `78690884` | Hotel identifier when building the request from parameters. |
| `cityId` | Integer | No | `228` | Trip.com city identifier for the hotel. |
| `cityEnName` | String | No | `"Tokyo"` | City slug used in the Trip.com detail URL. |
| `checkIn` | String | No | `"2026-04-06"` | Check-in date in `YYYY-MM-DD` format. |
| `checkOut` | String | No | `"2026-04-07"` | Check-out date in `YYYY-MM-DD` format. |
| `adult` | Integer | No | `2` | Number of adults in the stay context. |
| `children` | Integer | No | `0` | Number of children in the stay context. |
| `rooms` | Integer | No | `1` | Number of rooms in the stay context. |
| `results_wanted` | Integer | No | `20` | Maximum number of guest reviews to collect across available review pages. |
| `proxyConfiguration` | Object | No | `{"useApifyProxy": false}` | Optional proxy settings for Trip.com requests. |

---

### Output Data

Each item in the dataset contains:

| Field | Type | Description |
|-------|------|-------------|
| `hotelId` | Integer | Trip.com hotel identifier. |
| `cityId` | Integer | Trip.com city identifier. |
| `hotelName` | String | Hotel name shown on Trip.com. |
| `hotelUrl` | String | Trip.com hotel detail URL. |
| `hotelRating` | Number | Overall hotel score for the selected property. |
| `hotelRatingText` | String | Text label for the overall hotel rating. |
| `totalReviewCount` | Integer | Total published review count shown for the hotel. |
| `recommendationText` | String | Recommendation summary shown on the hotel page. |
| `positiveMentions` | Array | Top positive mentions highlighted for the property. |
| `checkIn` | String | Requested check-in date. |
| `checkOut` | String | Requested check-out date. |
| `reviewId` | Integer | Review identifier. |
| `reviewDate` | String | Review publication date. |
| `stayDate` | String | Guest stay date shown with the review. |
| `reviewLanguage` | String | Original review language. |
| `reviewOriginalText` | String | Original guest review text. |
| `reviewTranslatedText` | String | Translated review text when available. |
| `reviewRating` | Number | Review score given by the guest. |
| `reviewLevel` | String | Review rating label such as `Great`. |
| `roomTypeName` | String | Room type associated with the review. |
| `travelType` | String | Travel purpose label shown by Trip.com. |
| `reviewerName` | String | Reviewer display name. |
| `reviewerAvatar` | String | Reviewer profile image URL. |
| `reviewerReviewCount` | Integer | Number of reviews shown for the reviewer profile. |
| `imageList` | Array | Review image URLs when available. |
| `videoList` | Array | Review video URLs when available. |

---

### Usage Examples

#### Basic Run

```json
{
	"startUrl": "https://us.trip.com/hotels/detail/?cityEnName=Tokyo&cityId=228&hotelId=78690884&checkIn=2026-04-06&checkOut=2026-04-07&adult=2&children=0&crn=1",
	"results_wanted": 10
}
````

#### Build From Hotel Parameters

```json
{
	"hotelId": 78690884,
	"cityId": 228,
	"cityEnName": "Tokyo",
	"checkIn": "2026-04-06",
	"checkOut": "2026-04-07",
	"adult": 2,
	"children": 0,
	"rooms": 1,
	"results_wanted": 20
}
```

#### With Proxy Configuration

```json
{
	"startUrl": "https://us.trip.com/hotels/detail/?cityEnName=Tokyo&cityId=228&hotelId=78690884&checkIn=2026-04-06&checkOut=2026-04-07&adult=2&children=0&crn=1",
	"results_wanted": 20,
	"proxyConfiguration": {
		"useApifyProxy": true,
		"apifyProxyGroups": ["RESIDENTIAL"]
	}
}
```

***

### Sample Output

```json
{
	"hotelId": 78690884,
	"cityId": 228,
	"hotelName": "Koko Hotel Tsukiji Ginza",
	"hotelUrl": "https://www.trip.com/hotels/tokyo-hotel-detail-78690884/koko-hotel-tsukiji-ginza/",
	"hotelRating": 8.7,
	"hotelRatingText": "Very good",
	"totalReviewCount": 641,
	"recommendationText": "76% Recommended",
	"positiveMentions": [
		"Convenient location",
		"Close to metro"
	],
	"checkIn": "2026-04-06",
	"checkOut": "2026-04-07",
	"reviewId": 1881103079,
	"reviewDate": "2026-03-19 18:56:29",
	"stayDate": "2026-03-01 00:00:00",
	"reviewLanguage": "zh",
	"reviewOriginalText": "房間很小很小的那種，還好設施齊全，周圍交通方便快捷。早餐很豐富，選擇很多，甜品和南瓜泥很好吃，值得信賴。",
	"reviewTranslatedText": "The room was tiny, but thankfully it had all the necessary facilities. The surrounding area offers convenient and fast transportation. Breakfast was excellent with a wide variety of choices; the desserts and pumpkin purée were especially delicious and reliable.",
	"reviewRating": 9,
	"reviewLevel": "Great",
	"roomTypeName": "Standard Double Room",
	"travelType": "Business traveler",
	"reviewerName": "Ivan",
	"reviewerReviewCount": 84,
	"imageList": [
		"https://ak-d.tripcdn.com/images/0235c224x98ob9xzfA68F_R_150_150_R5_Q70_D.jpg"
	],
	"sourceUrl": "https://us.trip.com/hotels/detail/?cityEnName=Tokyo&cityId=228&hotelId=78690884&checkIn=2026-04-06&checkOut=2026-04-07&adult=2&children=0&crn=1"
}
```

***

### Tips For Best Results

#### Use Stable Hotel URLs

- Prefer a full Trip.com hotel detail URL copied directly from the property page.
- Keep stay dates and occupancy values realistic so the published guest review context matches the property page.

#### Start Small First

- Use `results_wanted: 10` for quick checks.
- Increase the limit after verifying the hotel page returns the review fields you need.

#### Match The Right Stay Context

- Adjust `adult`, `children`, `rooms`, and dates when you need the dataset to mirror a specific booking context.
- If a property shows fewer reviews than expected, try a fresh stay context or a different locale.

#### Use Proxies When Needed

- For repeated or large-volume runs, residential proxies can improve stability.
- If you only run occasional single-hotel requests, a direct connection is usually enough.

***

### Integrations

- **Google Sheets** — Export guest feedback for quick team review.
- **Airtable** — Build searchable hotel review libraries by property or destination.
- **Looker Studio** — Visualize rating trends and review themes.
- **Webhooks** — Forward review datasets to your own workflows.
- **Make** — Route new runs into enrichment or reporting pipelines.
- **Zapier** — Connect review datasets with alerts and internal tools.

#### Export Formats

- **JSON** — Best for application pipelines and APIs.
- **CSV** — Easy spreadsheet analysis.
- **Excel** — Useful for operational reporting.
- **XML** — Suitable for system integrations.

***

### Frequently Asked Questions

#### What kind of Trip.com pages does this actor support?

It is designed for Trip.com hotel detail pages. Use the hotel detail URL for a single property at a time.

#### How many reviews can one run return?

The actor keeps collecting published guest reviews until it reaches your requested limit or Trip.com stops exposing additional review pages for that hotel and stay context.

#### Does the actor save translated review text?

Yes. When Trip.com publishes translated review text, the actor stores it alongside the original review text.

#### Can I change dates or occupancy?

Yes. You can provide a full URL or set the hotel and stay parameters separately.

#### Why do some reviews have images and others do not?

Only some guests attach media to their reviews. The actor saves image and video references when they are published for that review.

***

### Support

For issues or feature requests, contact support through the Apify Console.

#### Resources

- [Apify Documentation](https://docs.apify.com/)
- [Apify API Reference](https://docs.apify.com/api/v2)
- [Scheduling Runs](https://docs.apify.com/platform/schedules)

***

### Legal Notice

This actor is designed for legitimate data collection purposes. Users are responsible for ensuring compliance with website terms of service and applicable laws. Use collected data responsibly.

# Actor input Schema

## `startUrl` (type: `string`):

Trip.com hotel detail URL to collect guest reviews from.

## `hotelId` (type: `integer`):

Trip.com hotel ID. Used when you prefer to build the request from parameters instead of passing a full URL.

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

Trip.com city ID for the selected hotel.

## `cityEnName` (type: `string`):

City slug used in the Trip.com detail URL.

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

Stay check-in date in YYYY-MM-DD format.

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

Stay check-out date in YYYY-MM-DD format.

## `adult` (type: `integer`):

Number of adults for the stay context.

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

Number of children for the stay context.

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

Number of rooms in the Trip.com stay context.

## `results_wanted` (type: `integer`):

Maximum number of guest reviews to collect across the available Trip.com review pages.

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

Optional proxy settings for Trip.com requests.

## Actor input object example

```json
{
  "startUrl": "https://us.trip.com/hotels/detail/?cityEnName=Tokyo&cityId=228&hotelId=78690884&checkIn=2026-04-06&checkOut=2026-04-07&adult=2&children=0&crn=1",
  "hotelId": 78690884,
  "cityId": 228,
  "cityEnName": "Tokyo",
  "checkIn": "2026-04-06",
  "checkOut": "2026-04-07",
  "adult": 2,
  "children": 0,
  "rooms": 1,
  "results_wanted": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "startUrl": "https://us.trip.com/hotels/detail/?cityEnName=Tokyo&cityId=228&hotelId=78690884&checkIn=2026-04-06&checkOut=2026-04-07&adult=2&children=0&crn=1",
    "hotelId": 78690884,
    "cityId": 228,
    "cityEnName": "Tokyo",
    "checkIn": "2026-04-06",
    "checkOut": "2026-04-07",
    "adult": 2,
    "children": 0,
    "rooms": 1,
    "results_wanted": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("shahidirfan/trip-com-hotel-reviews-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 = {
    "startUrl": "https://us.trip.com/hotels/detail/?cityEnName=Tokyo&cityId=228&hotelId=78690884&checkIn=2026-04-06&checkOut=2026-04-07&adult=2&children=0&crn=1",
    "hotelId": 78690884,
    "cityId": 228,
    "cityEnName": "Tokyo",
    "checkIn": "2026-04-06",
    "checkOut": "2026-04-07",
    "adult": 2,
    "children": 0,
    "rooms": 1,
    "results_wanted": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("shahidirfan/trip-com-hotel-reviews-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 '{
  "startUrl": "https://us.trip.com/hotels/detail/?cityEnName=Tokyo&cityId=228&hotelId=78690884&checkIn=2026-04-06&checkOut=2026-04-07&adult=2&children=0&crn=1",
  "hotelId": 78690884,
  "cityId": 228,
  "cityEnName": "Tokyo",
  "checkIn": "2026-04-06",
  "checkOut": "2026-04-07",
  "adult": 2,
  "children": 0,
  "rooms": 1,
  "results_wanted": 20
}' |
apify call shahidirfan/trip-com-hotel-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trip.com Hotel Reviews Scraper",
        "description": "Extract detailed hotel reviews, ratings & guest insights from Trip.com instantly. Perfect for market research, competitive intelligence & sentiment analysis. Gather structured review data, scores, comments & trends to power your hospitality analytics.",
        "version": "1.0",
        "x-build-id": "cYqqXWzGsSGuOVxv6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/shahidirfan~trip-com-hotel-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-shahidirfan-trip-com-hotel-reviews-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/shahidirfan~trip-com-hotel-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-shahidirfan-trip-com-hotel-reviews-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/shahidirfan~trip-com-hotel-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-shahidirfan-trip-com-hotel-reviews-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": {
                    "startUrl": {
                        "title": "Trip.com hotel detail URL",
                        "type": "string",
                        "description": "Trip.com hotel detail URL to collect guest reviews from."
                    },
                    "hotelId": {
                        "title": "Hotel ID",
                        "type": "integer",
                        "description": "Trip.com hotel ID. Used when you prefer to build the request from parameters instead of passing a full URL."
                    },
                    "cityId": {
                        "title": "City ID",
                        "type": "integer",
                        "description": "Trip.com city ID for the selected hotel."
                    },
                    "cityEnName": {
                        "title": "City name",
                        "type": "string",
                        "description": "City slug used in the Trip.com detail URL."
                    },
                    "checkIn": {
                        "title": "Check-in date",
                        "type": "string",
                        "description": "Stay check-in date in YYYY-MM-DD format."
                    },
                    "checkOut": {
                        "title": "Check-out date",
                        "type": "string",
                        "description": "Stay check-out date in YYYY-MM-DD format."
                    },
                    "adult": {
                        "title": "Adults",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Number of adults for the stay context.",
                        "default": 2
                    },
                    "children": {
                        "title": "Children",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Number of children for the stay context.",
                        "default": 0
                    },
                    "rooms": {
                        "title": "Rooms",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Number of rooms in the Trip.com stay context.",
                        "default": 1
                    },
                    "results_wanted": {
                        "title": "Maximum number of reviews",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of guest reviews to collect across the available Trip.com review pages.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional proxy settings for Trip.com requests.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
