# Airbnb Price Monitor · Nightly Rate Tracker (`corent1robert/airbnb-price-monitor`) Actor

Track nightly rates across any Airbnb market. Paste a city search URL — get avg, min, max, and median price per listing with full day-by-day breakdown. No login. No API key.

- **URL**: https://apify.com/corent1robert/airbnb-price-monitor.md
- **Developed by:** [Corentin Robert](https://apify.com/corent1robert) (community)
- **Categories:** Travel, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 33.3% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 market listings

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

## Airbnb Price Monitor · Nightly Rate Tracker

Track nightly prices across any Airbnb market. Paste a city search URL — get avg, min, max, and median rates per listing plus a **market-level summary by month**.

**No login. No API key. No account required.**

---

### Who is this for?

| You are… | Typical goal | Suggested setup |
|---|---|---|
| **STR revenue manager** | Benchmark your listings vs the market for coming months | City search URL · 3 months ahead |
| **Property management agency** | Weekly pricing report for client portfolios | Listing URLs · schedule every Monday |
| **Real estate investor** | Validate projected revenue before purchase | City search URL · 6 months ahead |
| **Short-term rental operator** | Detect price undercutters in your segment | Search URL with your filters (guests, type…) · 1 month |
| **Data analyst / BI team** | Feed price time-series into a dashboard | API integration · flat-prices view · recurring schedule |
| **Concierge / property manager** | Know the going rate by season before quoting | City search URL · 2–3 months ahead |

**What you get by default** — listing name, property type, ratings, avg/min/max/median nightly rate, price breakdown by calendar month (`priceByMonth`), discount detection for weekly and monthly stays, and a market-level summary (average price per month across all listings) in the run log.

**For per-listing occupancy and full calendar data** — use a listing URL directly. Calendar mode returns day-by-day prices, occupancy rate, and coverage rate over the full period.

---

### What it extracts

#### Per listing

| Field | Description |
|---|---|
| `listingId` | Airbnb internal listing ID |
| `listingUrl` | Direct link to the listing |
| `listingName` | Listing title |
| `propertyType` | e.g. "Apartment in Paris" |
| `city` | City extracted from search results |
| `rooms` / `beds` / `bathrooms` | Capacity (numeric) |
| `rating` / `reviewCount` | Rating score and review count |
| `currency` | ISO currency code (e.g. EUR, USD) |
| `dateFrom` / `dateTo` | Date range covered by samples |
| `minNights` | Minimum stay requirement detected |
| `priceSamples` | Number of distinct date windows priced |
| `avgPricePerNight` | Average nightly rate across all samples |
| `minPricePerNight` | Cheapest sample in the period |
| `maxPricePerNight` | Most expensive sample |
| `medianPricePerNight` | Median nightly rate |
| `weeklyDiscountPct` | % discount for 7-night stays vs short stays |
| `monthlyDiscountPct` | % discount for 28-night stays vs short stays |
| `pricingStrategy` | `fixed`, `dynamic`, `fixed-with-length-discounts`, `dynamic-with-length-discounts` — only when ≥ 5 samples |
| `priceByMonth` | Array: avg/min/max per calendar month (deduplicated by check-in week) |
| `coverageRate` | % of bookable days with a price — calendar mode only |
| `occupancyRate` | % of days already booked — calendar mode only |
| `prices[]` | Array of all raw price points with `checkin`, `checkout`, `pricePerNight`, `nights` |
| `scrapedAt` | ISO timestamp of the run |

#### Market summary (in run log)

At the end of every city scan, the run log prints:

````

─── Market Summary ──────────────────────────────────────────
Listings with prices  : 2845/2859 (100%)
Multi-date samples    : 913 listings have 2+ price points
Sample distribution   : 0×→14, 1×→1932, 2×→528, 3×→182 …
Avg market price/month:
2026-06: avg 175 EUR/night (721 listings sampled)
2026-07: avg 147 EUR/night (1211 listings sampled)
2026-08: avg 166 EUR/night (1060 listings sampled)
─────────────────────────────────────────────────────────────

````

---

### Quick start

1. Open the Actor in Apify Console and click **Try for free**
2. Paste an Airbnb search URL (e.g. `https://www.airbnb.com/s/Barcelona--Spain/homes`) in the **URLs** field
3. Click **Start** — results appear in the **Dataset** tab within a few minutes
4. Use the **Overview** view to compare listings side by side, or **Flat prices** for a day-by-day spreadsheet

---

### Input

| Parameter | Type | Default | Description |
|---|---|---|---|
| `urls` | array | — | Airbnb listing URLs (`/rooms/…`) or search URLs (`/s/…`). Mix freely. |
| `monthsAhead` | number | `3` | How many months of price data to collect |
| `currency` | string | auto | Override ISO currency code (e.g. `"EUR"`) |
| `verboseLogs` | boolean | `false` | Log additional debug info (URLs, page counts) |

#### Input examples

**Scan an entire city market:**
```json
{
  "urls": ["https://www.airbnb.com/s/Lisbon--Portugal/homes"],
  "monthsAhead": 3
}
````

**Monitor specific competitor listings:**

```json
{
  "urls": [
    "https://www.airbnb.com/rooms/12345678",
    "https://www.airbnb.com/rooms/87654321"
  ],
  "monthsAhead": 6
}
```

**Mix search + direct listing in one run:**

```json
{
  "urls": [
    "https://www.airbnb.com/s/Nice--France/homes",
    "https://www.airbnb.com/rooms/99999999"
  ],
  "monthsAhead": 2,
  "currency": "EUR"
}
```

***

### How it works

#### City search URL (market scan)

1. **URL normalisation** — strips user locale, injects `locale=en&currency=<selected>` for consistent price strings
2. **Multi-window discovery** — runs **78 parallel search windows** (2-night, 5-night, and 7-night stays × Monday + Friday check-ins × one window per week over the period). The three stay lengths matter: Airbnb only shows listings that are available *and* meet the minimum-nights requirement — a listing with `minNights = 5` is invisible in 2-night searches.
3. **Parallel page fetching** — within each window, all result pages (up to 5) are fetched in parallel; windows run in bounded batches of 15 to control memory
4. **Price extraction** — nightly rate parsed from Airbnb's embedded JSON (`pricePerNight` from structured display); fallback computes price from total ÷ nights when the qualifier is "total"
5. **Price deduplication** — for listings found in multiple windows, the 2-night (baseline) price is preferred per check-in week to avoid inflating `priceByMonth` averages
6. **Rate-limit retry** — blocked windows are retried once after a 3-second pause
7. **Stats computation** — avg, min, max, median, monthly breakdown, discount detection, pricing strategy (when ≥ 5 samples)
8. **Dataset push** — one row per listing; market summary printed to run log

#### Direct listing URL (calendar mode)

1. **Listing page fetch** — extracts GPS coordinates and city from the listing HTML
2. **Calendar API** — calls `PdpAvailabilityCalendar` for each month in the period (10 listings in parallel), returns per-day price, availability, and minNights
3. **Stats computation** — same as above plus `occupancyRate` (% days already booked) and `coverageRate` (% bookable days with a price)

***

### Data quality — what "1 sample" means

In city scan mode, most listings have **1–3 price samples**. This is not a limitation of the Actor — it reflects how Airbnb works: a listing only appears in a search window when it is **available and meets the minimum stay** for those specific dates. A listing that is fully booked for the summer appears in only one or two of the 78 windows.

| `priceSamples` | Interpretation |
|---|---|
| **0** | Listing found but price display was non-standard (extremely rare, ~0.5%) |
| **1** | One confirmed price on one date — useful for comparison, not trend analysis |
| **2–4** | Enough for a seasonal comparison (e.g. June vs August) |
| **5+** | Reliable average and pricing strategy detection available |

For deep per-listing analysis across all dates, use a **direct listing URL** — the calendar mode returns prices for every available day over the full period.

***

### Performance and cost

| Scenario | Listings | Time (Apify cloud) | Proxy data |
|---|---|---|---|
| Single listing, 3 months | 1 | ~5 s | < 1 MB |
| City scan, 2 months (Paris) | ~2,900 | ~3 min | ~150 MB |
| City scan, 6 months | ~3,500 | ~5 min | ~400 MB |

Runs are **purely HTTP** (no browser) — low memory (256 MB default), high concurrency.

**Proxy cost:** ~$1.50 per city run with Apify Residential proxies (~$10/GB). Without a proxy, large scans (200+ listings) may hit Airbnb rate-limiting. Add Apify Residential proxies in the **Proxy** section for reliable results.

***

### Output sample

**City scan listing:**

```json
{
  "listingId": "25497233",
  "listingUrl": "https://www.airbnb.com/rooms/25497233",
  "listingName": "Charming studio near Montmartre",
  "propertyType": "Apartment in Paris",
  "city": "Paris",
  "rooms": 1, "beds": 1, "bathrooms": 1,
  "rating": 4.85, "reviewCount": 142,
  "currency": "EUR",
  "dateFrom": "2026-06-15",
  "dateTo": "2026-08-31",
  "priceSamples": 4,
  "avgPricePerNight": 118,
  "minPricePerNight": 95,
  "maxPricePerNight": 145,
  "medianPricePerNight": 112,
  "weeklyDiscountPct": 12,
  "pricingStrategy": "dynamic",
  "priceByMonth": [
    { "month": "2026-06", "avgPricePerNight": 95, "minPricePerNight": 95, "maxPricePerNight": 95, "pricedDays": 1 },
    { "month": "2026-07", "avgPricePerNight": 118, "minPricePerNight": 110, "maxPricePerNight": 125, "pricedDays": 2 },
    { "month": "2026-08", "avgPricePerNight": 145, "minPricePerNight": 145, "maxPricePerNight": 145, "pricedDays": 1 }
  ],
  "scrapedAt": "2026-06-01T16:00:00.000Z",
  "prices": [
    { "checkin": "2026-06-15", "checkout": "2026-06-17", "pricePerNight": 95, "nights": 2, "isBaseline": true },
    { "checkin": "2026-07-07", "checkout": "2026-07-09", "pricePerNight": 110, "nights": 2, "isBaseline": true }
  ]
}
```

**Direct listing (calendar mode) — additional fields:**

```json
{
  "bookableDays": 72,
  "occupancyRate": 41,
  "coverageRate": 86,
  "priceSamples": 62
}
```

***

### Dataset views

| View | Best for |
|---|---|
| **Overview** | Comparing listings side by side — avg/min/max/median at a glance |
| **Flat prices** | Day-level analysis, pivot tables, Excel / Sheets import |
| **Full export** | API integrations needing the complete `prices[]` and `priceByMonth` arrays |

***

### Pricing

You pay only for listings where a price was successfully returned — not for the run itself.

| What | Event | Price |
|---|---|---|
| City scan — listing with a price | `airbnb-price-market-listing` | **$0.002 / listing** |
| Direct listing URL — listing with calendar prices | `airbnb-price-calendar-listing` | **$0.03 / listing** |
| Listing found but no price returned | `apify-default-dataset-item` | $0 |
| Run start | — | **$0** |

**Typical cost:**

| Scenario | Listings | Cost |
|---|---|---|
| Paris city scan, 3 months | ~2,900 | ~$5.80 |
| 5 competitor listings (calendar mode) | 5 | $0.15 |
| Rome city scan, 3 months | ~2,200 | ~$4.40 |

***

### Local development

```bash
npm install
## Edit storage/key_value_stores/default/INPUT.json with your test URLs
apify run
```

Set `HTTPS_PROXY` in your shell (or use Apify's proxy URL) to avoid rate-limiting locally:

```bash
HTTPS_PROXY="http://groups-RESIDENTIAL:TOKEN@proxy.apify.com:8000" apify run
```

Output is written to `storage/datasets/default/` and a local `storage/output.csv`.

***

### Related Actors

- **[Airbnb Calendar Availability Scraper](https://apify.com/corent1robert/airbnb-calendar-availability-scraper)** — occupancy rates, blocked/available days, and min/max nights for any market
- **[Airbnb Property Details Scraper](https://apify.com/corent1robert/airbnb-property-details-scraper)** — full listing pages: description, amenities, host info, GPS, photos
- **[Airbnb Pro Host Business Email Scraper](https://apify.com/corent1robert/airbnb-professional-host-scraper)** — business emails and company data for professional Airbnb hosts

***

### Support

Custom scraper or tailored automation? Contact <corentin@outreacher.fr>.

# Actor input Schema

## `urls` (type: `array`):

**What to paste here depends on your goal:**

**I want to monitor a specific listing** (my property, a competitor…)
Paste the listing URL: `https://www.airbnb.com/rooms/12345`
→ The actor fetches availability, checks prices across upcoming dates, and returns avg/min/max per night.

**I want to scan an entire market** (a city, a neighbourhood…)
Paste a search URL: `https://www.airbnb.com/s/Paris--France/homes`
→ To get one: search on Airbnb with your filters (city, guests, property type…), then copy the URL from your browser.
→ The actor collects all visible listings and their prices.

You can mix both types freely.

## Actor input object example

```json
{
  "urls": [
    "https://www.airbnb.com/s/Paris--France/homes"
  ]
}
```

# Actor output Schema

## `dataset` (type: `string`):

One row per listing — price stats + nested prices array.

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

One row per listing — avg, min, max, median price per night, priced days, rating. No prices array. Best for comparing listings at a glance.

## `flatPrices` (type: `string`):

One row per listing × date — listingId, date, price, available, minNights. Best for pivot tables, date lookups, and Excel/Sheets analysis.

## `runLog` (type: `string`):

Progress log with listing counts and duration.

# 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 = {
    "urls": [
        "https://www.airbnb.com/s/Paris--France/homes"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("corent1robert/airbnb-price-monitor").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 = { "urls": ["https://www.airbnb.com/s/Paris--France/homes"] }

# Run the Actor and wait for it to finish
run = client.actor("corent1robert/airbnb-price-monitor").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 '{
  "urls": [
    "https://www.airbnb.com/s/Paris--France/homes"
  ]
}' |
apify call corent1robert/airbnb-price-monitor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Airbnb Price Monitor · Nightly Rate Tracker",
        "description": "Track nightly rates across any Airbnb market. Paste a city search URL — get avg, min, max, and median price per listing with full day-by-day breakdown. No login. No API key.",
        "version": "1.2",
        "x-build-id": "HUoC2CrlOtBhyaQ4A"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/corent1robert~airbnb-price-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-corent1robert-airbnb-price-monitor",
                "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/corent1robert~airbnb-price-monitor/runs": {
            "post": {
                "operationId": "runs-sync-corent1robert-airbnb-price-monitor",
                "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/corent1robert~airbnb-price-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-corent1robert-airbnb-price-monitor",
                "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": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "Listing or search URLs",
                        "type": "array",
                        "description": "**What to paste here depends on your goal:**\n\n**I want to monitor a specific listing** (my property, a competitor…)\nPaste the listing URL: `https://www.airbnb.com/rooms/12345`\n→ The actor fetches availability, checks prices across upcoming dates, and returns avg/min/max per night.\n\n**I want to scan an entire market** (a city, a neighbourhood…)\nPaste a search URL: `https://www.airbnb.com/s/Paris--France/homes`\n→ To get one: search on Airbnb with your filters (city, guests, property type…), then copy the URL from your browser.\n→ The actor collects all visible listings and their prices.\n\nYou can mix both types freely.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
