# Airbnb Search Scraper (`cirkit/airbnb-search-scraper`) Actor

Cheap, fast Airbnb search scraper. Paste a search URL or destination and get every listing — title, price breakdown, rating, coordinates, photos, room topology — at $0.50 per 1,000 results.

- **URL**: https://apify.com/cirkit/airbnb-search-scraper.md
- **Developed by:** [Crikit](https://apify.com/cirkit) (community)
- **Categories:** Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 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

### What does Airbnb Search Scraper do?

Airbnb Search Scraper is the cheapest reliable way to scrape Airbnb listings at scale. Paste any Airbnb search URL or destination name, and the Airbnb Search Scraper returns every listing on those search pages: id, title, name, price (with full breakdown), rating, reviews count, coordinates, photos, badges, room topology, and more.

The Airbnb Search Scraper is built on a direct read of Airbnb's own server-rendered search payload, not a slow browser-based scraper. That means:

- **Cheap**: $0.50 per 1,000 results: about 92% cheaper than the leading Airbnb scraper on Apify.
- **Fast**: 30 to 50 listings per second under typical concurrency.
- **Reliable**: every page response carries the full GraphQL schema, so failed extractions are rare and quickly retried.

Use the Airbnb Search Scraper for market research, dynamic pricing intelligence, occupancy modeling, listing alerts, or feeding any Airbnb data pipeline.

### How to scrape Airbnb listings

There are two ways to point the Airbnb Search Scraper at a query.

#### Option 1: search URL (recommended)

Open Airbnb in a browser, build the search you want with all filters, then copy the URL into the **Search URLs** field.

```json
{
  "startUrls": [
    {
      "url": "https://www.airbnb.com/s/Asheville--North-Carolina--United-States/homes?adults=2&checkin=2026-06-15&checkout=2026-06-18&currency=USD"
    }
  ],
  "maxItems": 200
}
````

This is the most reliable way to scrape Airbnb because every filter you applied in the browser flows through.

#### Option 2: location names

Just list destinations and the Airbnb Search Scraper will build the search URLs for you.

```json
{
  "locationQueries": ["Lisbon", "Porto", "Madrid"],
  "checkIn": "2026-07-01",
  "checkOut": "2026-07-04",
  "adults": 2,
  "currency": "USD",
  "maxItems": 500
}
```

You can mix `startUrls` and `locationQueries` in one run.

### Output schema

Each listing is one row in the dataset:

```json
{
  "id": "33099066",
  "url": "https://www.airbnb.com/rooms/33099066",
  "title": "Home in Asheville",
  "name": "Centrally Located RAD Bungalow",
  "subtitle": "Centrally Located RAD Bungalow",
  "description": "2 bedrooms, 2 beds, 2 baths",
  "roomType": "Home",
  "bedrooms": 2,
  "beds": 2,
  "bathrooms": 2,
  "rating": {
    "value": 4.86,
    "reviewsCount": 378,
    "label": "4.86 (378)",
    "accessibilityLabel": "4.86 out of 5 average rating, 378 reviews"
  },
  "price": {
    "label": "$914 USD",
    "qualifier": "total",
    "originalPrice": null,
    "currency": "USD",
    "perNight": 269.33,
    "nights": 3,
    "taxes": 105.99,
    "total": 914.0,
    "breakdown": [
      { "description": "3 nights x $269.33 USD", "priceString": "$808.00 USD" },
      { "description": "Taxes", "priceString": "$105.99 USD" }
    ]
  },
  "coordinates": { "latitude": 35.58433, "longitude": -82.57119 },
  "badges": ["Guest favourite"],
  "thumbnail": "https://a0.muscache.com/im/pictures/...",
  "pictures": ["https://a0.muscache.com/im/pictures/...", "..."],
  "searchUrl": "https://www.airbnb.com/s/...",
  "searchPage": 1
}
```

`price.label`, `price.perNight`, `price.total`, and `price.breakdown` give you both the human-readable string and machine-friendly numbers: pick what your pipeline needs.

### How many results can you scrape?

Airbnb caps any single search at roughly 270 unique listings (15 pagination cursors of 18 items). To go past that for one geographic area:

- Subdivide by price brackets: e.g. `priceMin=50, priceMax=100` then `100, 200`, etc.
- Subdivide by room topology: `minBedrooms=1` vs `minBedrooms=2` vs `minBedrooms=3`
- Subdivide by neighborhood: submit multiple narrower URLs

The Airbnb Search Scraper deduplicates by listing id across all your seed URLs, so submitting overlapping queries is safe.

### How much will the Airbnb Search Scraper cost?

Pay-per-event pricing:

| Event | Price |
|---|---|
| Each result | $0.0005 |
| Actor start | $0.001 (one-time per run) |

Worked examples:

- Scrape 100 listings: $0.051
- Scrape 1,000 listings: $0.501
- Scrape 10,000 listings: $5.001

You only pay for results that land in your dataset.

### Tips for reliable Airbnb scraping

1. **Always set a `currency`**: Airbnb returns prices in the IP's local currency by default, so the field is unstable across runs without it.
2. **Set sensible `maxItems`**: Airbnb caps any one search at ~270 listings; setting `maxItems` higher than that just wastes runtime when only one URL is provided.
3. **Use Apify Residential proxy**: the default. Datacenter IPs work but get throttled faster.
4. **Tune `maxConcurrency`**: defaults to 8. Raise to 16 for very large jobs, lower to 4 if you hit retries.

### Frequently asked questions about the Airbnb Search Scraper

**Does the Airbnb Search Scraper work for any country?**
Yes. The Airbnb Search Scraper works on every Airbnb domain. International searches return localized text in your selected `locale`, prices in your selected `currency`.

**Can I scrape individual room details with the Airbnb Search Scraper?**
This actor returns the rich data shown on the search results page (price, photos, rating, room topology, coordinates, badges). For full descriptions, amenities, reviews, and host details from individual listing pages, use a complementary Airbnb listing details actor.

**Is it legal to scrape Airbnb?**
The Airbnb Search Scraper only requests publicly indexable search pages: the same pages Google indexes. You are responsible for complying with Airbnb's terms of service and any local laws relevant to your use case.

**Why is the Airbnb Search Scraper so much cheaper than other Airbnb scrapers?**
The Airbnb Search Scraper does not run a real browser. It speaks to Airbnb's server-rendered HTML directly, so each listing costs almost no compute. Most competing Airbnb scrapers on Apify still spin up Chromium per page; we don't.

### Connect with the Airbnb Search Scraper API

You can call the Airbnb Search Scraper from any code via the Apify API:

```bash
curl -X POST "https://api.apify.com/v2/acts/<your-username>~airbnb-search-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [{"url": "https://www.airbnb.com/s/Lisbon/homes?adults=2&currency=USD"}],
    "maxItems": 100
  }'
```

The Apify SDK is available for Python and Node.js with a few lines of code.

### Related Apify scrapers

- Looking to scrape Airbnb reviews? Pair this Airbnb Search Scraper with an Airbnb Reviews actor.
- Need Airbnb listing details (full description, amenities, all photos, host bio)? Use an Airbnb Listing Details actor that takes the URLs this Airbnb Search Scraper returns.

### Changelog

#### 0.1

- Initial release. Search URL and location query inputs; pagination through Airbnb's cursor system; full price breakdown with original/discounted prices.

# Actor input Schema

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

Paste one or more Airbnb search URLs. Example: https://www.airbnb.com/s/Asheville--North-Carolina--United-States/homes?adults=2\&checkin=2026-06-15\&checkout=2026-06-18 . Use this OR locationQueries below — you can mix both. URLs to single rooms (/rooms/...) are NOT supported here.

## `locationQueries` (type: `array`):

Convenience input — list city or destination names instead of URLs. Each entry becomes an Airbnb search. Combined with the date and filter options below.

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

Hard cap on how many listings to push to the dataset across all search URLs combined. Recommend 100–500. Airbnb caps any single search at ~270 unique listings.

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

YYYY-MM-DD. Applied to URLs / locations that don't already have a check-in date.

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

YYYY-MM-DD. Applied if the URL doesn't already have a check-out.

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

Number of adult guests. Applied if URL doesn't already specify.

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

Number of children (ages 2-12).

## `infants` (type: `integer`):

Number of infants (under 2).

## `pets` (type: `integer`):

Number of pets traveling with the guest.

## `priceMin` (type: `integer`):

Lower bound for nightly price filter, in the selected currency.

## `priceMax` (type: `integer`):

Upper bound for nightly price filter, in the selected currency.

## `minBedrooms` (type: `integer`):

Minimum number of bedrooms required.

## `minBeds` (type: `integer`):

Minimum number of beds required.

## `minBathrooms` (type: `integer`):

Minimum number of bathrooms required.

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

ISO 4217 code. Defaults to USD for stable pricing fields.

## `locale` (type: `string`):

Language/region for listing text.

## `maxConcurrency` (type: `integer`):

How many search pages to fetch in parallel. Default 8 is safe; raise for big runs, lower if Airbnb rate-limits you.

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

Apify proxy is enabled by default. Residential is the most reliable for Airbnb.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.airbnb.com/s/Asheville--North-Carolina--United-States/homes?adults=2&checkin=2026-06-15&checkout=2026-06-18&currency=USD"
    }
  ],
  "locationQueries": [],
  "maxItems": 50,
  "currency": "USD",
  "locale": "en-US",
  "maxConcurrency": 8,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `datasetItemsJson` (type: `string`):

Every scraped listing in JSON format. One row per Airbnb listing.

## `datasetItemsCsv` (type: `string`):

Every scraped listing in CSV format — open directly in Excel, Google Sheets, or BI tools.

## `datasetItemsXlsx` (type: `string`):

Every scraped listing as an Excel workbook.

## `consoleRun` (type: `string`):

Open this run's logs, dataset, and metadata in the browser.

# 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.com/s/Asheville--North-Carolina--United-States/homes?adults=2&checkin=2026-06-15&checkout=2026-06-18&currency=USD"
        }
    ],
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("cirkit/airbnb-search-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.com/s/Asheville--North-Carolina--United-States/homes?adults=2&checkin=2026-06-15&checkout=2026-06-18&currency=USD" }],
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("cirkit/airbnb-search-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.com/s/Asheville--North-Carolina--United-States/homes?adults=2&checkin=2026-06-15&checkout=2026-06-18&currency=USD"
    }
  ],
  "maxItems": 50
}' |
apify call cirkit/airbnb-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Airbnb Search Scraper",
        "description": "Cheap, fast Airbnb search scraper. Paste a search URL or destination and get every listing — title, price breakdown, rating, coordinates, photos, room topology — at $0.50 per 1,000 results.",
        "version": "0.1",
        "x-build-id": "mVIDj66tTla4S1ie6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/cirkit~airbnb-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-cirkit-airbnb-search-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/cirkit~airbnb-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-cirkit-airbnb-search-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/cirkit~airbnb-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-cirkit-airbnb-search-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": {
                    "startUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "Paste one or more Airbnb search URLs. Example: https://www.airbnb.com/s/Asheville--North-Carolina--United-States/homes?adults=2&checkin=2026-06-15&checkout=2026-06-18 . Use this OR locationQueries below — you can mix both. URLs to single rooms (/rooms/...) are NOT supported here.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "locationQueries": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Convenience input — list city or destination names instead of URLs. Each entry becomes an Airbnb search. Combined with the date and filter options below.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max items per run",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Hard cap on how many listings to push to the dataset across all search URLs combined. Recommend 100–500. Airbnb caps any single search at ~270 unique listings.",
                        "default": 100
                    },
                    "checkIn": {
                        "title": "Check-in",
                        "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
                        "type": "string",
                        "description": "YYYY-MM-DD. Applied to URLs / locations that don't already have a check-in date."
                    },
                    "checkOut": {
                        "title": "Check-out",
                        "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
                        "type": "string",
                        "description": "YYYY-MM-DD. Applied if the URL doesn't already have a check-out."
                    },
                    "adults": {
                        "title": "Adults",
                        "minimum": 1,
                        "maximum": 16,
                        "type": "integer",
                        "description": "Number of adult guests. Applied if URL doesn't already specify."
                    },
                    "children": {
                        "title": "Children",
                        "minimum": 0,
                        "maximum": 16,
                        "type": "integer",
                        "description": "Number of children (ages 2-12)."
                    },
                    "infants": {
                        "title": "Infants",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Number of infants (under 2)."
                    },
                    "pets": {
                        "title": "Pets",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Number of pets traveling with the guest."
                    },
                    "priceMin": {
                        "title": "Min price (per night)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Lower bound for nightly price filter, in the selected currency."
                    },
                    "priceMax": {
                        "title": "Max price (per night)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Upper bound for nightly price filter, in the selected currency."
                    },
                    "minBedrooms": {
                        "title": "Min bedrooms",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum number of bedrooms required."
                    },
                    "minBeds": {
                        "title": "Min beds",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum number of beds required."
                    },
                    "minBathrooms": {
                        "title": "Min bathrooms",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum number of bathrooms required."
                    },
                    "currency": {
                        "title": "Currency",
                        "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "CAD",
                            "AUD",
                            "JPY",
                            "CHF",
                            "MXN",
                            "BRL",
                            "INR"
                        ],
                        "type": "string",
                        "description": "ISO 4217 code. Defaults to USD for stable pricing fields.",
                        "default": "USD"
                    },
                    "locale": {
                        "title": "Locale",
                        "enum": [
                            "en-US",
                            "en-GB",
                            "en-CA",
                            "en-AU",
                            "es-ES",
                            "es-MX",
                            "fr-FR",
                            "de-DE",
                            "it-IT",
                            "pt-BR",
                            "ja-JP",
                            "zh-CN",
                            "ko-KR"
                        ],
                        "type": "string",
                        "description": "Language/region for listing text.",
                        "default": "en-US"
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 32,
                        "type": "integer",
                        "description": "How many search pages to fetch in parallel. Default 8 is safe; raise for big runs, lower if Airbnb rate-limits you.",
                        "default": 8
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Apify proxy is enabled by default. Residential is the most reliable for Airbnb.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
