# Agoda Reviews Scraper API 💰$1/1k — Guest Ratings & Comments (`memo23/agoda-reviews-scraper`) Actor

Agoda Reviews Scraper API — extract guest reviews from any Agoda hotel by URL or hotel ID. Per review: rating, title, full text, reviewer country, traveler type, room type, stay dates, owner response, photos & translation. Pure HTTP, no browser. $1/1k flat, JSON or CSV.

- **URL**: https://apify.com/memo23/agoda-reviews-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Travel, Agents, AI
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Agoda Reviews Scraper API — Guest Ratings, Comments & Traveler Profiles

<p align="center">
  <img src="https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/agoda-reviews-card.png" alt="Agoda Reviews Scraper" width="760">
</p>

### How It Works

![How the Agoda Reviews Scraper works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-agoda-reviews.png)

1. **Your input** — Agoda hotel-page URLs and/or numeric hotel IDs. The `property-id` column from the [Agoda Hotel Scraper](https://apify.com/memo23/agoda-scraper) feeds straight in.
2. **Reviews API** — the Actor resolves each hotel to its numeric ID, then pages Agoda's `HotelReviews` API (50 reviews per page) and decodes every guest review. Pure HTTP, no browser.
3. **Your dataset** — one flat row per review: rating, title, full text, liked/disliked, reviewer country & traveler type, room type, stay dates, owner response, helpful votes, photos and translation — CSV-ready or JSON.

**Scrape guest reviews from any Agoda hotel — by URL or hotel ID — at $1 per 1,000 reviews.** Each review carries its rating and rating label, title, full comment, positive/negative notes, the reviewer's country and traveler type (solo / couple / family / business), room type and length of stay, check-in/out dates, the property's owner response, helpful votes, guest photos, and the original-language text with Agoda's translation. Pure HTTP — no browser, no CAPTCHA solver. Output is CSV-ready flat rows or nested JSON, straight into your Apify dataset.

### Why Use This Scraper?

- **$1 / 1,000 reviews** — flat, simple pricing. No opaque per-page math.
- **Pairs with the listings scraper** — the [Agoda Hotel Scraper](https://apify.com/memo23/agoda-scraper) gives you hotels + prices; this gives you their reviews. Hotel IDs flow from one straight into the other.
- **No browser, no CAPTCHA solver** — pure HTTP against Agoda's own reviews API. Fast and cheap.
- **Complete review record** — rating, title, full text, liked/disliked, reviewer country, **traveler type**, **room type**, **length of stay**, check-in/out dates, helpful votes.
- **Owner responses** — the hotel's reply (responder name + date) when present.
- **Multilingual** — reviews in any language, plus Agoda's translation into your chosen locale, with the original text preserved.
- **Guest photos** — review image URLs when the guest attached them.
- **Sortable** — Most helpful, Most recent, Rating high→low or low→high.
- **Spreadsheet or JSON** — flat dashed columns (`rating`, `reviewer-country`…) for Excel/Sheets, or nested objects for pipelines.

### Overview

This Actor calls Agoda's internal `HotelReviews` API to harvest every guest review for a hotel. It accepts hotel-page URLs (extracting the numeric hotel ID from the page) or the numeric IDs directly, then paginates the full review set in the order you choose.

Output is **one row per review**. Each row carries the review (rating, title, text, positives/negatives), the reviewer (country, traveler type, room type, length of stay), timing (check-in/out + review date), engagement (helpful votes), the owner response, photos, and the parent hotel's name + overall score for context.

### Supported Inputs

| Input | What it does |
|---|---|
| **Hotels** | `hotelUrls` — a list of Agoda hotel-page URLs (e.g. `https://www.agoda.com/akara-hotel-bangkok/hotel/bangkok-th.html`) and/or numeric hotel IDs (e.g. `3552260`). Mix freely. |
| **Volume** | `maxReviews` — how many reviews to collect per hotel (`0` = all). |
| **Sort** | `sort`: `Most helpful` · `Most recent` · `Rating: high to low` · `Rating: low to high`. |
| **Language** | `language` (locale, e.g. `en-gb`) — review text language + translation target. |

**Not supported:** writing/posting reviews, private reviewer contact details, reviews behind a login. This Actor returns publicly visible hotel reviews.

### Use Cases

| Audience | What they do with it |
|---|---|
| **Hotels & hospitality** | Monitor your own and competitors' guest sentiment over time. |
| **Reputation management** | Track new reviews, owner-response coverage, and rating trends. |
| **Travel aggregators / OTAs** | Enrich hotel listings with guest reviews and review counts. |
| **Data & ML / NLP teams** | Build sentiment / aspect datasets from real multilingual review text. |
| **Market research** | Compare traveler-type mix and satisfaction across properties or cities. |
| **Revenue teams** | Correlate review trends with pricing and occupancy. |

### Input Configuration

| Field | Type | Required | Notes |
|---|---|---|---|
| `hotelUrls` | array | — | Agoda hotel-page URLs and/or numeric hotel IDs. Defaults to one example hotel. |
| `maxReviews` | integer | — | Max reviews per hotel. `0` = all. Default 100. |
| `sort` | enum | — | `Most helpful` (default) · `Most recent` · `Rating: high to low` · `Rating: low to high`. |
| `language` | string | — | Locale for review text + translation, e.g. `en-gb`, `en-us`, `de-de`. Default `en-gb`. |
| `proxy` | object | — | Residential proxy, **on by default**. |

Everything is optional — run it with no input at all and it scrapes the reviews of one example hotel. Paste your own hotel URLs or IDs for a real run.

#### Example input

```json
{
  "hotelUrls": [
    "https://www.agoda.com/akara-hotel-bangkok/hotel/bangkok-th.html",
    "3552260"
  ],
  "maxReviews": 200,
  "sort": "Most recent",
  "language": "en-gb"
}
````

### Output Overview

One row per **review**, in the order set by `sort`. Each row carries the review itself, the reviewer's profile, the stay details, the owner response (if any), and the parent hotel's name + overall score for context.

### Output Samples

Real smoke-test row (Akara Hotel Bangkok):

```jsonc
{
  "index": 0,
  "hotel-id": 3552260,
  "hotel-name": "Akara Hotel Bangkok",
  "hotel-overall-score": 8.6,
  "hotel-score-text": "Excellent",
  "hotel-total-reviews": 4366,
  "review-id": 1126874501,
  "provider": "Agoda",
  "rating": 8.4,
  "rating-text": "Excellent",
  "title": "Little far from Sukhumvit",
  "text": "The hotel is a little far from Sukhumvit. If I were to stay in this area again, I'd probably choose a hotel directly on Sukhumvit Road. Staff were lovely though.",
  "positives": "",
  "negatives": "",
  "reviewer-name": "Gaurav",
  "reviewer-country": "Australia",
  "reviewer-country-code": "au",
  "traveler-type": "Solo traveler",
  "room-type": "Akara Deluxe King",
  "length-of-stay-nights": 4,
  "expert-reviewer": false,
  "check-in-date": "2026-05-27",
  "check-out-date": "2026-05-31",
  "review-date": "2026-06-09",
  "helpful-votes": 0,
  "unhelpful-votes": 0,
  "language": "en",
  "has-owner-response": false,
  "responder-name": null,
  "response-date": null,
  "images": [],
  "review-url": "https://www.agoda.com/en-gb/akara-hotel-bangkok/reviews/bangkok-th.html"
}
```

### Key Output Fields

**The review**

- `review-id` — Agoda's unique review id
- `provider` — review source (e.g. Agoda, Booking.com)
- `rating`, `rating-text` (e.g. 8.4 / "Excellent")
- `title`, `text` — headline + full comment
- `positives`, `negatives` — liked / disliked notes when present
- `images` — guest photo URLs

**The reviewer**

- `reviewer-name`, `reviewer-country`, `reviewer-country-code`
- `traveler-type` — Solo / Couple / Family / Business…
- `room-type`, `length-of-stay-nights`, `expert-reviewer`

**Timing & engagement**

- `check-in-date`, `check-out-date`, `review-date`
- `helpful-votes`, `unhelpful-votes`

**Owner response**

- `has-owner-response`, `responder-name`, `response-date`

**Translation**

- `language` — the review's original language
- `original-title`, `original-text` — original-language text when the row is translated

**Hotel context** (repeated on every row)

- `hotel-id`, `hotel-name`, `hotel-overall-score`, `hotel-score-text`, `hotel-total-reviews`, `review-url`

### FAQ

**Is this an official Agoda API?**
No. It's an independent scraper that reads publicly visible Agoda hotel reviews. Not affiliated with or endorsed by Agoda.

**What do I put in as input?**
Agoda hotel-page URLs and/or numeric hotel IDs. The easiest workflow: run the [Agoda Hotel Scraper](https://apify.com/memo23/agoda-scraper) to get hotels for a city, then feed its `property-id` (or `url`) column straight into this Actor's `hotelUrls`.

**How many reviews can I get per hotel?**
All of them — set `maxReviews: 0`. Popular hotels have thousands of text reviews; the Actor pages through the full set (50 per page) in your chosen sort order.

**Does it include the review text, or just ratings?**
Full text — title and body — plus liked/disliked notes, the reviewer's country and traveler type, room type, stay length, and the hotel's owner response when present. (Some reviews are rating-only because the guest didn't write a comment; those rows still carry the rating + reviewer profile.)

**What about non-English reviews?**
They're included with Agoda's translation into your `language` locale, and the `original-title` / `original-text` fields preserve the source-language text.

**Do I need a proxy?**
A residential proxy is on by default and recommended for reliable collection at volume. Agoda has no CAPTCHA, but datacenter IPs can be throttled. Responses are small, so bandwidth cost is minimal.

### Support

Found a bug or need a field that isn't exposed? Open an issue on the Actor's **Issues** tab on Apify, or reach out via the Apify Store profile. Include your input JSON and the run ID.

### Additional Services

Need a custom hotel or travel data pipeline — a different source, a bespoke schema, scheduled delivery to S3/BigQuery, or review monitoring with alerts? Custom scraping and data-engineering work is available via the Apify Store profile.

### Explore More Scrapers

- **Agoda Hotel Scraper** — `memo23/agoda-scraper` — hotel listings + live prices, ratings, amenities & photos by destination. Pairs with this reviews scraper.
- **Google Flights Scraper** — `memo23/google-flights-scraper` — fares, segments, multi-city & booking options.
- **Skyscanner Flight Scraper** — `memo23/skyscanner-scraper` — 180+ fields per itinerary, OTA aggregation.
- **140+ other scrapers** — see the developer's Apify Store profile.

### ⚠️ Disclaimer

This Actor accesses publicly visible hotel-review data on Agoda for legitimate research, market-intelligence and business-analysis purposes. It is **not affiliated with, endorsed by, or sponsored by Agoda Company Pte. Ltd.** "Agoda" is a trademark of its respective owner; it is used here only to describe the data source. Use of this Actor must comply with Agoda's Terms of Service and all applicable laws, including data-protection regulations (GDPR, CCPA, etc.). The Actor's authors are not responsible for any misuse. Users must:

- Respect rate limits and avoid overloading Agoda's infrastructure
- Not use scraped data to violate user privacy or terms
- Use the data in compliance with applicable jurisdictions
- Not republish scraped content in violation of copyright

We do not store any scraped data; the Actor returns it directly to your Apify dataset for your authorized use.

### SEO Keywords

agoda reviews scraper, agoda review scraper, agoda reviews api, hotel reviews scraper, hotel review scraper, agoda guest reviews, scrape agoda reviews, hotel ratings scraper, guest review data, hotel reputation monitoring, review sentiment data, agoda comments scraper, traveler reviews scraper, hotel review api, agoda hotel reviews, review scraping, hospitality reviews data, hotel feedback scraper, agoda json export, agoda csv export, multilingual hotel reviews, review monitoring api, apify agoda reviews, hotel review dataset

# Actor input Schema

## `hotelUrls` (type: `array`):

Agoda hotel-page URLs (e.g. https://www.agoda.com/akara-hotel-bangkok/hotel/bangkok-th.html) and/or numeric Agoda hotel IDs (e.g. 3552260). The hotel IDs output by the Agoda Hotel Scraper (the 'property-id' column) feed straight in. One row per review.

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

Maximum number of reviews to collect per hotel. Set to 0 for all available reviews.

## `sort` (type: `string`):

Order in which to collect reviews.

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

Site locale for review text and labels, e.g. en-gb, en-us, de-de. Reviews written in other languages also include Agoda's translation into this language.

## `proxy` (type: `object`):

Residential proxy is recommended (and on by default).

## Actor input object example

```json
{
  "hotelUrls": [
    "https://www.agoda.com/akara-hotel-bangkok/hotel/bangkok-th.html"
  ],
  "maxReviews": 100,
  "sort": "Most helpful",
  "language": "en-gb",
  "proxy": {
    "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 = {
    "hotelUrls": [
        "https://www.agoda.com/akara-hotel-bangkok/hotel/bangkok-th.html"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/agoda-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 = { "hotelUrls": ["https://www.agoda.com/akara-hotel-bangkok/hotel/bangkok-th.html"] }

# Run the Actor and wait for it to finish
run = client.actor("memo23/agoda-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 '{
  "hotelUrls": [
    "https://www.agoda.com/akara-hotel-bangkok/hotel/bangkok-th.html"
  ]
}' |
apify call memo23/agoda-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Agoda Reviews Scraper API 💰$1/1k — Guest Ratings & Comments",
        "description": "Agoda Reviews Scraper API — extract guest reviews from any Agoda hotel by URL or hotel ID. Per review: rating, title, full text, reviewer country, traveler type, room type, stay dates, owner response, photos & translation. Pure HTTP, no browser. $1/1k flat, JSON or CSV.",
        "version": "0.0",
        "x-build-id": "MwGkfVQAU7PdHKwdV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~agoda-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-agoda-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/memo23~agoda-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-agoda-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/memo23~agoda-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-agoda-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": {
                    "hotelUrls": {
                        "title": "Hotel URLs or IDs",
                        "type": "array",
                        "description": "Agoda hotel-page URLs (e.g. https://www.agoda.com/akara-hotel-bangkok/hotel/bangkok-th.html) and/or numeric Agoda hotel IDs (e.g. 3552260). The hotel IDs output by the Agoda Hotel Scraper (the 'property-id' column) feed straight in. One row per review.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxReviews": {
                        "title": "Max reviews per hotel",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of reviews to collect per hotel. Set to 0 for all available reviews.",
                        "default": 100
                    },
                    "sort": {
                        "title": "Sort reviews by",
                        "enum": [
                            "Most helpful",
                            "Most recent",
                            "Rating: high to low",
                            "Rating: low to high"
                        ],
                        "type": "string",
                        "description": "Order in which to collect reviews.",
                        "default": "Most helpful"
                    },
                    "language": {
                        "title": "Language / locale",
                        "type": "string",
                        "description": "Site locale for review text and labels, e.g. en-gb, en-us, de-de. Reviews written in other languages also include Agoda's translation into this language.",
                        "default": "en-gb"
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Residential proxy is recommended (and on by default).",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
