# Airbnb Detailed Scraper - Search & Listing Details (`rigelbytes/airbnb-detailed-scraper`) Actor

Search Airbnb listings by location and extract comprehensive property details, including pricing, amenities, host info, download images, and more.

- **URL**: https://apify.com/rigelbytes/airbnb-detailed-scraper.md
- **Developed by:** [Rigel Bytes](https://apify.com/rigelbytes) (community)
- **Categories:** Lead generation, Real estate, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 listing details

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 Scraper - Extract Unlimited Listing Data from Any Search Query

**Scrape unlimited Airbnb listings** with full property details starting from just a **location or search query**. Enter "newyork", "paris beach house", or "tokyo apartment" and this Apify Actor automatically discovers every matching listing and extracts **comprehensive property data** — including pricing, amenities, host info, reviews, images, bedroom/bathroom details, location, and more. **Optionally download listing images as zip files** and extract **12-month availability calendars**.

Powered by **Apify platform** for reliable cloud execution, automatic retries, proxy rotation, and seamless API access. Built on battle-tested scrapers used by thousands of users. **Pay-per-event pricing** — only pay for the data you extract.

### Why Use This Airbnb Scraper?

- **Search-to-data pipeline** — provide any search query, get complete listing details. No manual URL collection needed
- **Comprehensive data extraction** — 50+ data points per listing: pricing, amenities, host profile, ratings, images, location, cancellation policy
- **Modular features** — enable only what you need: listing details, availability calendar, and image downloads. Each feature uses its own proxy and runs independently
- **Auto-scaling concurrent architecture** — discovers and scrapes listings in parallel using producer-consumer pattern for maximum speed
- **Built-in retry logic** — automatic retries with exponential backoff for failed requests
- **Proxy rotation** — per-request proxy rotation (Apify Residential by default) prevents IP blocks
- **Unlimited scale** — no cap on listings per run; control via maxListings or maxPages
- **Multiple search queries** — scrape multiple locations in a single run
- **Pay-per-event pricing** — pay only for what you extract: listing URLs, details, calendars, and image downloads

### How to Scrape Airbnb Listing Data

1. **Enter search queries** — provide one or more location queries (e.g. "newyork", "paris", "tokyo")
2. **Choose features** — enable listing details, calendar extraction, and image downloads as needed
3. **Configure proxy** — Apify Residential proxies enabled by default for reliable scraping
4. **Set limits (optional)** — cap by max listings or max search pages to control cost
5. **Run the Actor** — execute on Apify platform or via API
6. **Download data** — export as JSON, CSV, Excel, HTML, or XML from the dataset

### Input

Configure these fields in the **Input** tab when running the Actor:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `searchQueries` | `array[string]` | Yes | Location queries (e.g. `["newyork", "paris"]`) |
| `maxListings` | `integer` | No | Max listings to scrape (0 = unlimited) |
| `maxPages` | `integer` | No | Max search pages to scan (0 = unlimited) |
| `listingDetails` | `boolean` | No | Extract detailed listing info (default: true) |
| `scrapeCalendar` | `boolean` | No | Extract 12-month availability calendar (default: false) |
| `downloadImages` | `boolean` | No | Download listing images as zip (default: false) |
| `proxyConfiguration` | `object` | No | Proxy settings (Apify Residential by default) |

#### Input JSON Example

```json
{
  "searchQueries": ["newyork", "paris"],
  "maxListings": 100,
  "maxPages": 5,
  "listingDetails": true,
  "scrapeCalendar": false,
  "downloadImages": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
````

### Output

Each dataset item is a complete Airbnb listing object. **Download in JSON, CSV, HTML, or Excel** from the Apify Console.

```json
{
  "identifier": "1234567890123456789",
  "url": "https://www.airbnb.com/rooms/1234567890123456789",
  "active": true,
  "headline": "Stunning Manhattan studio with skyline views",
  "name": "Cozy Studio in Midtown East",
  "description": "Modern studio apartment in the heart of Manhattan...",
  "unit": {
    "name": "Cozy Studio in Midtown East",
    "category": "PROPERTY_TYPE_APARTMENT",
    "active": true
  },
  "images": [
    {"identifier": "123...", "url": "https://a0.muscache.com/...", "title": ""}
  ],
  "location": {
    "address": {"city": "New York", "subdivision": "NY", "country": "United States"},
    "coordinates": {"lat": "40.7531", "lng": "-73.9822"},
    "show_exact": true
  },
  "host": {
    "host": {"name": "Jane", "profilePictureUrl": "https://..."},
    "superhost": true,
    "verified": true,
    "stats": [
      {"label": "Response rate", "value": "100%", "type": "percentage"},
      {"label": "Response time", "value": "within an hour", "type": "text"}
    ]
  },
  "rating": {
    "total_reviews": 142,
    "overall_rating": 4.85,
    "ratings": [
      {"categoryType": "cleanliness", "label": "Cleanliness", "percentage": 95},
      {"categoryType": "accuracy", "label": "Accuracy", "percentage": 93}
    ]
  },
  "supplement": {
    "max_guests": 3,
    "allows_children": false,
    "allows_pets": false,
    "allows_events": true,
    "cancellation_policy": "MODERATE"
  },
  "features": [{"name": "Wifi", "description": ""}, {"name": "Kitchen", "description": ""}],
  "safety_features": [{"name": "Smoke alarm", "note": ""}],
  "bathrooms": [{"name": "Bathroom 1", "category": "FULL_BATH", "amenities": []}],
  "bedrooms": [{"name": "Bedroom 1", "category": "BEDROOM", "amenities": []}],
  "calendar": [
    {"available": true, "date": "2025-06-15", "availableForCheckin": true, "availableForCheckout": true}
  ],
  "imageDownloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/1234567890123456789_images.zip",
  "imageDownloadStats": {"total": 24, "downloaded": 24}
}
```

### Data Fields

| Field | Type | Description |
|-------|------|-------------|
| `identifier` | string | Airbnb listing ID |
| `url` | string | Full listing URL |
| `active` | boolean | Whether listing is active |
| `headline` | string | SEO headline / og:description |
| `name` | string | Listing title |
| `description` | string | Full property description |
| `unit` | object | Property type, name, category |
| `images` | array | Property photos (URLs) |
| `location` | object | Address + coordinates |
| `host` | object | Host profile, superhost status, stats |
| `rating` | object | Overall rating, review count, breakdown |
| `features` | array | Amenities and property features |
| `safety_features` | array | Safety equipment |
| `bathrooms` | array | Bathroom details and amenities |
| `bedrooms` | array | Bedroom details with bed types |
| `supplement` | object | Max guests, pets/children/events policy, cancellation |
| `calendar` | array | 12-month availability calendar (if enabled) |
| `imageDownloadUrl` | string | Download link for zipped listing images (if enabled) |
| `imageDownloadStats` | object | Image download total/downloaded counts (if enabled) |

### Pricing: Pay Per Event

This Actor uses **pay-per-event (PPE)** pricing — you only pay for the data you extract. Each listing goes through up to 4 chargeable events:

| Event | Description | When Charged |
|-------|-------------|--------------|
| `listing-urls` | Each listing URL discovered from search | Per URL found |
| `listing-details` | Full property details extraction | Per successful detail scrape |
| `listing-calendar` | 12-month availability calendar | Per successful calendar fetch |
| `image-downloads` | Download and zip listing images | Per successful image batch |

**Example costs** (approximate, check Apify Console for current pricing):

- **100 listings** with details only → ~$0.50
- **1,000 listings** with details + calendar → ~$5.00
- **100 listings** with details + images → ~$2.00

Disable features you don't need (`listingDetails`, `scrapeCalendar`, `downloadImages`) to control costs. Actual pricing is configured in the Apify Console Publication tab.

### Recommended Proxy Providers

- **Shifter** — Reliable residential proxies worldwide. Cheap rates. [Order Shifter Now](https://shifter.io/r/YoBB/order). Get 10% off with code `rigelbytes-YoBB`.

- **OxyLabs** — 100M+ proxies. Fastest residential IPs with quality assurance. [Get Proxies](https://oxylabs.go2cloud.org/aff_c?offer_id=7\&aff_id=1366\&url_id=7)

- **DataImpulse** — 200+ countries. Residential proxies from $1/GB. [Get Residential Proxies](https://dataimpulse.com/?aff=89421)

[![Learn More About Proxies](https://img.shields.io/badge/Learn_More-About_Proxies-blue?style=for-the-badge)](#understanding-proxies)

### Running via Apify Console

1. Go to the Actor page on Apify Console
2. Click **Run** and fill in the **Input** tab
3. Provide at least one search query
4. Enable proxy (Apify Residential recommended)
5. Click **Start** and monitor progress

### Running via API

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run_input = {
    "searchQueries": ["newyork"],
    "maxListings": 100,
}

run = client.actor("rigelbytes/airbnb-detailed-scraper").call(run_input=run_input)
```

#### JavaScript

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

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });

const input = {
    "searchQueries": ["newyork"],
    "maxListings": 100,
};

const run = await client.actor("rigelbytes/airbnb-detailed-scraper").call(input);
```

#### cURL

```bash
API_TOKEN=<YOUR_API_TOKEN>

cat > input.json <<'EOF'
{
  "searchQueries": ["newyork"],
  "maxListings": 100
}
EOF

curl "https://api.apify.com/v2/acts/rigelbytes/airbnb-detailed-scraper/runs?token=$API_TOKEN" \
  -X POST \
  -d @input.json \
  -H 'Content-Type: application/json'
```

### Tips for Optimizing Runs

- **Use specific queries** — "paris 3rd arrondissement" returns more targeted results than "paris"
- **Set maxListings** — keep runs predictable by capping total listings
- **Enable only what you need** — turn off `listingDetails`, `scrapeCalendar`, or `downloadImages` if you don't need them to reduce cost and speed up runs
- **Use residential proxies** — essential for large-scale scraping. Apify Residential proxies (enabled by default) rotate per request
- **Multiple queries** — pass multiple search queries in one run for batch scraping
- **Monitor logs** — Actor logs show discovery progress and which features are running for each listing
- **Set a spending limit** — configure a maximum total charge per run in Apify Console to control PPE costs

### FAQ, Disclaimers, and Support

#### Is this legal?

This tool scrapes publicly available data from Airbnb. Users are responsible for complying with Airbnb's Terms of Service and applicable laws. This scraper is designed for legitimate data analysis and research purposes.

#### How fast is it?

The scraper uses a concurrent producer-consumer architecture. Search pages are fetched sequentially (to respect rate limits), while listing detail pages, calendar data, and image downloads are scraped in parallel (5 concurrent workers, each with independent proxy rotation). A typical listing detail scrape takes 2-5 seconds.

#### What happens if a listing fails?

Each feature (details, calendar, images) runs independently with its own proxy. If one feature fails, the others continue unaffected. Failed operations are silently skipped — the dataset still includes whatever data was successfully extracted for that listing.

#### Need a custom solution?

Contact us at contact@rigelbytes.com or [book an appointment](https://cal.com/faizanali/appointments) for custom scraping solutions.

#### Other Tools by Rigel Bytes

[Airbnb Images Downloader](https://apify.com/rigelbytes/airbnb-images-downloader) |
[Airbnb Reviews Scraper](https://apify.com/rigelbytes/airbnb-reviews) |
[Airbnb Availability Calendar](https://apify.com/rigelbytes/airbnb-availability-calendar) |
[Airbnb Address Finder](https://apify.com/rigelbytes/airbnb-address-finder) |
[Zillow Scraper](https://apify.com/rigelbytes/zillow-scraper) |
[Google Maps Scraper](https://apify.com/rigelbytes/google-maps-scraper)

### Understanding Proxies

Proxies act as intermediaries between your scraper and the target website, masking your IP address.

#### Why Use Proxies?

- **Avoid IP blocks** — prevent Airbnb from recognizing your scraper IP
- **Access regional content** — proxies from different locations show local pricing/availability
- **Scale reliably** — rotating proxies distribute requests across many IPs

#### Types of Proxies

1. **Residential Proxies** — Real ISP-assigned IPs. Hardest to detect. Best for long-term scraping.
2. **Data Center Proxies** — Cheaper, faster, but easier to detect and block.
3. **Mobile Proxies** — Carrier IPs (3G/4G/5G). Very hard to detect.

#### Rotating vs. Straight Proxies

- **Rotating** — different IP per request. Essential for Airbnb scraping at scale.
- **Straight** — same IP for all requests. Higher risk of detection.

### About Rigel Bytes

Rigel Bytes specializes in web scraping, automation, and data analytics. We help businesses extract and leverage valuable data for informed decision-making.

### Contact Us

Ready to unlock the power of data? Reach out to us at contact@rigelbytes.com or [book an appointment](https://cal.com/faizanali/appointments) to learn more about how we can help you achieve your data goals.

# Actor input Schema

## `searchQueries` (type: `array`):

List of locations or search queries to scrape Airbnb listings from (e.g. "newyork", "paris", "tokyo")

## `maxListings` (type: `integer`):

Maximum number of listings to scrape (0 = unlimited)

## `maxPages` (type: `integer`):

Maximum number of search result pages to scan (0 = unlimited)

## `listingDetails` (type: `boolean`):

Extract detailed listing information including pricing, amenities, host info, reviews, and more.

## `scrapeCalendar` (type: `boolean`):

Extract 12-month availability calendar for each listing.

## `downloadImages` (type: `boolean`):

Download all images from each listing, zip them, and provide a download link.

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

Proxy settings for anti-bot protection. Apify Residential proxies recommended

## Actor input object example

```json
{
  "searchQueries": [
    "newyork"
  ],
  "maxListings": 0,
  "maxPages": 0,
  "listingDetails": false,
  "scrapeCalendar": false,
  "downloadImages": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

Link to the default dataset containing all scraped listings

## `imageDownloads` (type: `string`):

Link to the key-value store containing all downloaded image zip files

## `run` (type: `string`):

Link to the run in Apify Console

# 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 = {
    "searchQueries": [
        "newyork"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rigelbytes/airbnb-detailed-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 = { "searchQueries": ["newyork"] }

# Run the Actor and wait for it to finish
run = client.actor("rigelbytes/airbnb-detailed-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 '{
  "searchQueries": [
    "newyork"
  ]
}' |
apify call rigelbytes/airbnb-detailed-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Airbnb Detailed Scraper - Search & Listing Details",
        "description": "Search Airbnb listings by location and extract comprehensive property details, including pricing, amenities, host info, download images, and more.",
        "version": "0.0",
        "x-build-id": "RBYBmb0x4gblivh7T"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/rigelbytes~airbnb-detailed-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-rigelbytes-airbnb-detailed-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/rigelbytes~airbnb-detailed-scraper/runs": {
            "post": {
                "operationId": "runs-sync-rigelbytes-airbnb-detailed-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/rigelbytes~airbnb-detailed-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-rigelbytes-airbnb-detailed-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": [
                    "searchQueries"
                ],
                "properties": {
                    "searchQueries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "List of locations or search queries to scrape Airbnb listings from (e.g. \"newyork\", \"paris\", \"tokyo\")"
                    },
                    "maxListings": {
                        "title": "Max Listings",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of listings to scrape (0 = unlimited)",
                        "default": 0
                    },
                    "maxPages": {
                        "title": "Max Search Pages",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of search result pages to scan (0 = unlimited)",
                        "default": 0
                    },
                    "listingDetails": {
                        "title": "Extract Listing Details",
                        "type": "boolean",
                        "description": "Extract detailed listing information including pricing, amenities, host info, reviews, and more.",
                        "default": false
                    },
                    "scrapeCalendar": {
                        "title": "Extract Listing Calendar",
                        "type": "boolean",
                        "description": "Extract 12-month availability calendar for each listing.",
                        "default": false
                    },
                    "downloadImages": {
                        "title": "Download Listing Images",
                        "type": "boolean",
                        "description": "Download all images from each listing, zip them, and provide a download link.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings for anti-bot protection. Apify Residential proxies recommended",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
