# Airbnb Reviews Scraper (`reviewly/airbnb-reviews-scraper`) Actor

Extract comprehensive guest reviews from Airbnb.com including detailed ratings, comments, traveler profiles, and host responses. Perfect for reputation analysis, hospitality market research, and competitive intelligence in the short-term rental industry.

- **URL**: https://apify.com/reviewly/airbnb-reviews-scraper.md
- **Developed by:** [Reviewly](https://apify.com/reviewly) (community)
- **Categories:** Developer tools, Automation, Travel
- **Stats:** 2 total users, 0 monthly users, 20.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 record scrapeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Airbnb Reviews Scraper — Extract Guest Reviews at Scale

**Get structured Airbnb review data from any property listing in minutes — no coding required.**

Whether you manage short-term rentals, research hospitality markets, or track competitor performance, this Actor delivers clean, ready-to-use review data directly into your dataset.

- Extract hundreds or thousands of reviews with a single run
- Filter by date to get only what's new since your last extraction
- Full guest profiles, star ratings, host responses, and category scores
- Runs on residential proxies — reliable even at scale

---

### What This Actor Does

Airbnb Reviews Scraper extracts guest reviews from any Airbnb property listing using Airbnb's internal API. Paste in one or more listing URLs, configure your options, and get back a clean JSON dataset with everything you need for analysis, monitoring, or automation.

**Who is it for?**

- **Property managers** tracking guest satisfaction across their portfolio
- **Short-term rental agencies** benchmarking against competitors
- **Market researchers** studying hospitality trends at scale
- **Data scientists** building sentiment models from real guest feedback
- **Hosts** monitoring their reputation and improving performance

---

### Key Features

- **Bulk extraction** — scrape multiple properties in a single run
- **Date filtering** — stop at a specific date to collect only recent reviews
- **Review limit** — cap the number of reviews per property to control cost
- **Auto-recovery** — automatically refreshes internal API tokens when they expire, so runs don't fail mid-scrape
- **Full data** — review text, star rating, reviewer profile, host response, language, photos, and more
- **Residential proxies** — built-in, no setup needed
- **Multiple export formats** — JSON, CSV, Excel, XML

---

### Why This Actor is Different

Most Airbnb scrapers break frequently because they rely on a hardcoded API query hash that Airbnb rotates regularly. This Actor detects when the hash becomes stale and refreshes it automatically mid-run, without failing or requiring manual intervention.

It also uses Airbnb's internal GraphQL API directly — not HTML parsing — which means:

- **Faster** extraction (structured data, no DOM traversal)
- **More reliable** output (no layout-change breakage)
- **Richer data** (fields that never appear in the HTML)

---

### Input Configuration

| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `startUrls` | array | Yes | — | List of Airbnb listing URLs to scrape |
| `maxNumberOfReviews` | number | No | 0 (all) | Max reviews to collect per property. `0` means no limit |
| `targetDate` | string | No | — | Stop collecting reviews older than this date (ISO 8601: `2025-01-01`) |
| `proxyConfiguration` | object | No | US residential | Proxy country override |

**Example input:**

```json
{
  "startUrls": [
    { "url": "https://www.airbnb.com/rooms/12345678" },
    { "url": "https://www.airbnb.fr/rooms/87654321" }
  ],
  "maxNumberOfReviews": 200,
  "targetDate": "2025-01-01"
}
````

**Tips:**

- Both `.com` and `.fr` URLs work — mix freely
- Use `targetDate` when scheduling regular runs to avoid re-collecting old reviews
- Start with `maxNumberOfReviews: 50` to test before a full extraction
- Remove query parameters from URLs (everything after `?`) for cleaner runs — the Actor handles this automatically

***

### Output Format

Each dataset item corresponds to one property and contains two top-level keys: `entity` (property metadata) and `reviews` (the list of extracted reviews).

**Sample output:**

```json
{
  "entity": {
    "score": 4.92,
    "businessName": "Mountain View Studio Residence",
    "totalNumberOfReviews": 48,
    "ratings": [
      { "count": 30, "name": "Hospitality", "icon": "https://..." },
      { "count": 24, "name": "Location", "icon": "https://..." }
    ],
    "businessUrl": "https://www.airbnb.com/rooms/12345678"
  },
  "reviews": [
    {
      "reviewId": "1621075446914143951",
      "title": "Great stay",
      "text": "Everything was perfect, highly recommend!",
      "rating": 5,
      "createdAt": "2026-02-14T15:47:32+00:00",
      "reviewer": {
        "name": "Sarah",
        "id": "43860269",
        "pictureUrl": "https://...",
        "isSuperhost": false
      },
      "response": "Thank you for your stay!",
      "reviewee": {
        "name": "John",
        "id": "106171829",
        "pictureUrl": "https://...",
        "isSuperhost": false
      },
      "language": "en"
    }
  ]
}
```

**Field reference:**

| Field | Description |
|-------|-------------|
| `entity.score` | Overall property rating |
| `entity.businessName` | Listing title |
| `entity.totalNumberOfReviews` | Total published review count |
| `entity.ratings` | Category-level scores (Hospitality, Location, etc.) |
| `entity.businessUrl` | Original listing URL |
| `reviews[].reviewId` | Unique Airbnb review identifier |
| `reviews[].title` | Review headline |
| `reviews[].text` | Full review body |
| `reviews[].rating` | Star rating (1–5) |
| `reviews[].createdAt` | Publication date (ISO 8601) |
| `reviews[].reviewer` | Guest name, ID, photo, superhost status |
| `reviews[].response` | Host reply text (or `null`) |
| `reviews[].reviewee` | Host name, ID, photo |
| `reviews[].language` | Review language code (`en`, `fr`, `es`, etc.) |

***

### How to Use

1. Open the Actor in Apify Console
2. Paste one or more Airbnb listing URLs into **Start URLs**
3. Optionally set **Max Number of Reviews** and/or a **Target Date**
4. Click **Start** and wait for the run to finish
5. Download your data as JSON, CSV, or Excel from the **Dataset** tab

**To use the API:**

```bash
curl -X POST https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [{ "url": "https://www.airbnb.com/rooms/12345678" }],
    "maxNumberOfReviews": 100,
    "targetDate": "2025-01-01"
  }'
```

**JavaScript (Node.js):**

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('YOUR_ACTOR_ID').call({
  startUrls: [{ url: 'https://www.airbnb.com/rooms/12345678' }],
  maxNumberOfReviews: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

**Python:**

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('YOUR_ACTOR_ID').call(run_input={
    'startUrls': [{'url': 'https://www.airbnb.com/rooms/12345678'}],
    'maxNumberOfReviews': 200,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
```

***

### Use Cases

#### 1. Reputation Monitoring

Schedule weekly runs on your own listings to track new reviews over time. Use `targetDate` to collect only what's been posted since the last run. Feed results into a dashboard or alerting system to catch negative feedback fast.

#### 2. Competitive Intelligence

Scrape competitor listings in your market to understand what guests praise or criticize. Identify gaps in your own offering — amenities, communication, cleanliness — and act on real feedback rather than guesswork.

#### 3. Market Research

Collect thousands of reviews across a city or property type to analyze satisfaction trends, pricing sentiment, or seasonal patterns. Export to Excel or Tableau for analysis.

#### 4. Sentiment Analysis & NLP

Build a training dataset for sentiment classifiers or topic models using the `text` and `rating` fields. The `language` field lets you filter by locale for multilingual models.

#### 5. Real Estate Investment

Before acquiring a short-term rental property, scrape its full review history to assess guest satisfaction trends, host responsiveness, and recurring complaints.

***

### Advanced Tips

**Scheduling regular extractions:**
Use Apify's built-in scheduler to run this Actor weekly or daily. Set `targetDate` to the date of your last run so you only collect new reviews — keeping costs low and datasets clean.

**Scraping large properties:**
For properties with 500+ reviews, the Actor paginates automatically. No configuration needed — just let it run.

**Integrating with other tools:**
Use Apify webhooks to trigger a downstream action (Slack alert, Google Sheets update, email report) as soon as a run completes.

**Proxy country:**
By default the Actor uses US residential proxies. If you're scraping `.fr` listings and getting unexpected results, set `proxyConfiguration.apifyProxyCountry` to `FR`.

***

### Pricing

This Actor uses **pay-per-event pricing** — you only pay for successfully extracted reviews.

| Plan | Price per 1,000 reviews |
|------|------------------------|
| Free / Standard | $3.00 |
| Silver | $2.50 |
| Gold | $2.00 |

**Examples:**

| Scenario | Reviews | Cost (Standard) |
|----------|---------|-----------------|
| 1 property, 100 reviews | 100 | $0.30 |
| 10 properties, 50 reviews each | 500 | $1.50 |
| 1 property, 1,000 reviews | 1,000 | $3.00 |
| 100 properties, 100 reviews each | 10,000 | $30.00 |

With Apify's free tier ($5/month credit), you can extract up to **1,666 reviews** completely free every month.

***

### FAQ & Troubleshooting

**No reviews were extracted**

- Verify the URL is a valid Airbnb listing (format: `airbnb.com/rooms/XXXXXXXX`)
- Make sure the property has published reviews
- Check that `targetDate` isn't set too recently

**Fewer reviews than expected**

- Increase or remove `maxNumberOfReviews`
- Adjust or remove `targetDate`
- Some properties have fewer accessible reviews than the displayed count

**Missing fields in some reviews**

- `response` is `null` when the host hasn't replied
- Not all reviewers fill every field — this reflects the real data on Airbnb

**The run failed mid-way**

- Retry the run — the Actor auto-refreshes its internal API token and recovers from transient errors
- If it keeps failing, open an issue on the Issues tab

**Can I scrape reviews in bulk across many properties?**
Yes — add as many URLs as you need to `startUrls`. The Actor processes them sequentially.

**Is this legal?**
Web scraping publicly available data is generally permitted for research and analysis. Always ensure your use case complies with Airbnb's terms of service and applicable laws in your jurisdiction.

***

### Support

- **Bug reports & feature requests:** use the [Issues tab](../../issues)
- **Custom solutions or integrations:** contact <me@ahmedhrid.com>
- **Apify platform help:** [Apify Documentation](https://docs.apify.com) · [Apify Discord](https://discord.com/invite/jyEM2PRvMU)

***

**Built for short-term rental professionals, researchers, and developers who need reliable Airbnb review data at scale.**

# Actor input Schema

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

List of Airbnb.com hotel page URLs to scrape.

## `maxNumberOfReviews` (type: `integer`):

Maximum number of reviews to collect per hotel. Leave empty to collect all.

## `targetDate` (type: `string`):

Stop collecting reviews older than this date (ISO format, e.g. 2026-01-01). Leave empty to disable.

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

Proxy servers used by the scraper to hide its origin. <strong>Recommended for reliable scraping</strong> to avoid rate limiting and blocking.<br><br>Select 'Apify Proxy (automatic)' for best results.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.airbnb.fr/rooms/50569271"
    }
  ],
  "maxNumberOfReviews": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "FR"
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.airbnb.fr/rooms/50569271"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "FR"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("reviewly/airbnb-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 = {
    "startUrls": [{ "url": "https://www.airbnb.fr/rooms/50569271" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "FR",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("reviewly/airbnb-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 '{
  "startUrls": [
    {
      "url": "https://www.airbnb.fr/rooms/50569271"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "FR"
  }
}' |
apify call reviewly/airbnb-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Airbnb Reviews Scraper",
        "description": "Extract comprehensive guest reviews from Airbnb.com including detailed ratings, comments, traveler profiles, and host responses. Perfect for reputation analysis, hospitality market research, and competitive intelligence in the short-term rental industry.",
        "version": "0.0",
        "x-build-id": "BULahOLFqWNg9KB9m"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/reviewly~airbnb-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-reviewly-airbnb-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/reviewly~airbnb-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-reviewly-airbnb-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/reviewly~airbnb-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-reviewly-airbnb-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",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "List of Airbnb.com hotel page URLs to scrape.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxNumberOfReviews": {
                        "title": "Max number of reviews",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of reviews to collect per hotel. Leave empty to collect all.",
                        "default": 100
                    },
                    "targetDate": {
                        "title": "Stop date",
                        "type": "string",
                        "description": "Stop collecting reviews older than this date (ISO format, e.g. 2026-01-01). Leave empty to disable."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy servers used by the scraper to hide its origin. <strong>Recommended for reliable scraping</strong> to avoid rate limiting and blocking.<br><br>Select 'Apify Proxy (automatic)' for best results.",
                        "default": {}
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
