# Cian.ru Real Estate Scraper (`memo23/cian-real-estate-scraper`) Actor

Scrape cian.ru Russian real estate — flats, rooms, houses, new buildings, for sale or rent. One row per offer: price (RUB), rooms, area, floor, building year/material, full address, photos, and the agent/agency profile WITH phone number. Russian residential proxy included.

- **URL**: https://apify.com/memo23/cian-real-estate-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 offers

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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Cian.ru Real Estate Scraper

Turn any [cian.ru](https://www.cian.ru) search into clean, structured Russian real-estate data — flats, rooms, houses and new buildings, for sale or rent. Paste a **search URL** (which captures all of cian's 100+ filters) or use the simple built-in filters, and get one flat row per offer with price, rooms, area, floor, building year and material, the full address, every photo, the agent profile — and **the contact phone number**.

Built for real-estate lead generation, agency and developer intelligence, price monitoring and Moscow/regional market research.

#### How it works

![How the Cian.ru Real Estate Scraper works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-cian.png)

#### ✨ Why use this scraper?

- **Phone number on every listing** — cian publishes a contact number on each offer, and this actor returns it normalised (`+79842175703`). No other classifieds scraper in this portfolio can give you that: OLX, Wallapop and Milanuncios expose only "has phone" flags. For real-estate lead gen, this is the whole ballgame.
- **Russian residential proxy included** — cian answers HTTP 403 to every non-Russian IP, whatever your fingerprint. That single fact is why most cian scrapers return nothing. This one ships with an RU residential pool at no extra cost.
- **The agent behind the listing** — every row carries the seller's cian id, account type (`agency` / `specialist` / `developer`), agency name, and cian's own trust and passport-verification flags. Filter dealers from private owners, or size an agency by its listing volume.
- **Real property specs, typed** — rooms, total/living/kitchen area, floor and building floors, build year, wall material (`panel`, `brick`, `monolith`, `stalin`), parking type, lift counts, heating, and whether the block is finished.
- **Address down to the street and metro** — cian's own hierarchy (city → okrug → district → metro → street → house) as structured levels plus a joined string.
- **One page, everything** — cian's search cards already contain the full description, every photo and the phone, so there is no second "detail" fetch and **no detail upcharge**. One flat rate per offer, complete data.
- **All 100+ cian filters, free** — set whatever you like on cian.ru (price, area, floor, renovation, metro distance, developer, mortgage…) and paste the resulting URL. The actor paginates it as-is.
- **JSON, CSV, Excel or API** — pipe straight into your CRM or pipeline. Billed per offer.

#### 🎯 Use cases

| You are a… | Use it to… |
|---|---|
| Real-estate lead-gen | Pull fresh listings with the agent's phone number, filtered by district and price |
| Agency / competitor analyst | Track which agencies list what, at what price, and how much inventory they hold |
| Developer intelligence | Follow new-building offers, complexes, completion status and developer pricing |
| Price monitoring / valuation | Track ₽/m² by district, building type and build year over time |
| Investor / flipper | Spot underpriced flats by area, floor and building material in a chosen okrug |
| Market researcher | Measure supply, price distribution and stock age across Moscow or any region |

#### 📥 Supported inputs

| Input | Example | What it does |
|---|---|---|
| Search URL (best) | `https://www.cian.ru/cat.php?deal_type=sale&engine_version=2&offer_type=flat&region=1` | Paginates that search with all its filters |
| Offer URL | `https://www.cian.ru/sale/flat/331541345/` | Scrapes that single offer |
| Simple filters | deal type + property type + region + rooms + price | Builds the search for you |

**Regions:** pass a cian region id, or a preset name — `moscow`, `spb`, `moscow-oblast`, `novosibirsk`, `ekaterinburg`, `kazan`, `sochi`, `krasnodar`.

**Not supported:** anything behind a cian login, private messages, or buyer data. The actor reads only public listing pages.

#### ⚙️ How it works

1. **Classify** every input — pasted URLs are sorted into search / offer; with no URL, a search is built from the simple filters.
2. **Unlock** each page through a Russian residential exit. The block is per-IP and flaky, so each page races a small batch of fresh sessions and takes the first real response.
3. **Parse** the embedded `_cianConfig` state — the search feed's offers array, or an offer page's `offerData`.
4. **Push** one flat, deduplicated row per offer. No second request, no second charge.

#### 🔧 Input configuration

| Field | Type | Default | Description |
|---|---|---|---|
| `startUrls` | array | `[]` | cian search and/or offer URLs. Auto-classified. |
| `dealType` | string | `sale` | `sale` or `rent`. Used when no URL is pasted. |
| `propertyType` | string | `flat` | `flat`, `room`, `house`, `newBuilding`. |
| `region` | string | `moscow` | cian region id or preset name. |
| `roomsCount` | array | `[]` | 1–6 (6 = studio / 5+). Empty = any. |
| `minPrice` / `maxPrice` | integer | — | Price bounds in RUB. |
| `maxItems` | integer | `1000` | Hard cap on rows for the whole run. |
| `maxItemsPerSearch` | integer | `1000` | Cap per search (~28 offers per page). |
| `maxConcurrency` | integer | `6` | Parallel requests. |
| `maxRequestRetries` | integer | `12` | Each retry rotates to a fresh Russian IP. |
| `proxy` | object | built-in | Optional override — RU residential ships at no extra cost. |

#### 📤 Output overview

One row per offer, complete — there is no fast/deep split.

`cianId`, `url`, `dealType`, `category`, `title`, `description`, `price`, `priceDisplay`, `currency`, `saleType`, `mortgageAllowed`, `roomsCount`, `totalArea`, `livingArea`, `kitchenArea`, `floorNumber`, `isApartments`, `address` (structured) + `addressText`, `regionName`, `building` (floors, year, material, parking, lifts, heating), `newbuildingName`/`newbuildingUrl`, `isFromDeveloper`, `photos`, `videos`, **`phones`**, `user` (agent profile), `publishDate`, `isPremium`, `isPro`.

#### 🧾 Output sample

```json
{
  "rowType": "listing",
  "cianId": "330856053",
  "url": "https://www.cian.ru/sale/flat/330856053/",
  "dealType": "sale",
  "title": "Двушка у парка",
  "price": 48000000,
  "priceDisplay": "48 000 000 ₽",
  "currency": "rur",
  "mortgageAllowed": true,
  "roomsCount": 2,
  "totalArea": 60,
  "floorNumber": 3,
  "addressText": "Москва, ЦАО, Басманный, Красные ворота, Садовая-Черногрязская, 13/3С1",
  "regionName": "Москва",
  "building": {
    "floorsCount": 10, "buildYear": 1930, "materialType": "stalin",
    "parkingType": "ground", "passengerLifts": 1
  },
  "photos": ["https://images.cdn-cian.ru/images/…", "… 34 more"],
  "phones": ["+79855181689", "+79169108946"],
  "user": {
    "cianUserId": "43673072",
    "accountType": "specialist",
    "agencyName": "Илья Филипонский",
    "isAgent": true,
    "isPassportVerified": true
  },
  "publishDate": "2026-06-07T09:12:44.000Z"
}
````

#### 🔑 Key output fields

| Field | Description |
|---|---|
| `cianId` | cian offer id (stable dedup key) |
| `price` / `priceDisplay` / `currency` | Numeric RUB price and cian's formatted string |
| `phones` | **Contact phone number(s)**, normalised to `+7…` |
| `user` | Agent: cian id, account type, agency name, trust and passport-verification flags |
| `roomsCount` / `totalArea` / `livingArea` / `kitchenArea` | Layout and areas (m²) |
| `floorNumber` + `building.floorsCount` | Flat's floor and the building's height |
| `building` | Build year, wall material, parking, lifts, heating, completion |
| `address` / `addressText` / `regionName` | Structured hierarchy and a joined address |
| `newbuildingName` / `newbuildingUrl` / `isFromDeveloper` | New-build complex and developer flag |
| `photos` / `videos` | Full-resolution media URLs |
| `saleType` / `mortgageAllowed` / `agentFee` / `deposit` | Deal terms |
| `publishDate` | When the offer was posted (ISO) |

#### ❓ FAQ

**Why do other cian scrapers return nothing?** cian geo-blocks: from outside Russia it answers HTTP 403 regardless of browser fingerprint. It needs a Russian residential IP, which this actor bundles at no extra cost.

**Do I really get phone numbers?** Yes — cian displays a contact number publicly on each offer and the actor returns it normalised. Some listings carry two.

**Is there a cheaper "fast mode"?** There is no need for one. cian's search cards already carry the full description, every photo, the agent and the phone, so every row is complete at a single flat rate. Paying twice for a second fetch that adds nothing would be pointless.

**How do I use cian's advanced filters?** Set them on cian.ru itself, then paste the resulting `cat.php?…` URL into `startUrls`. All 100+ filters — metro distance, renovation, developer, mortgage, ceiling height — carry through untouched.

**Which regions work?** Any. Use a cian region id or one of the presets (`moscow`, `spb`, `moscow-oblast`, `novosibirsk`, `ekaterinburg`, `kazan`, `sochi`, `krasnodar`).

**How many results per search?** cian returns ~28 offers per page and paginates deep; the actor walks up to 54 pages per search (~1,500 offers). Narrow by district or price to go wider across a market.

#### 🛟 Support

Found a bug or need a field added? Open an issue on the actor's Issues tab in the Apify Console and we'll take a look.

#### 🚀 Additional services

Need a different portal, site, or a custom schema? We build and maintain scrapers across real estate, classifieds, jobs and e-commerce.

#### 🔎 Explore more scrapers

- Idealista Scraper
- Immobiliare Scraper
- OLX Marketplace Scraper (7 countries)
- Milanuncios Scraper
- Rightmove Scraper

#### ⚠️ Disclaimer

This actor collects only **publicly available** listing data that cian.ru itself displays on public pages, including the contact phone numbers publishers choose to publish. It does not access private messages, buyer data, or anything behind a login.

Contact details are personal data. You are responsible for using the output lawfully — including compliance with cian.ru's Terms of Service, applicable data-protection law (GDPR and equivalents), and marketing/anti-spam rules such as obtaining consent where required before contacting anyone. Do not use the output for unsolicited bulk messaging where that is prohibited. Use it lawfully and ethically.

#### 🔍 SEO Keywords

cian scraper, cian.ru scraper, cian API, cian data extractor, scrape cian listings, Russian real estate scraper, Moscow real estate data, cian phone scraper, real estate lead generation Russia, cian agent scraper, cian price monitoring, Russian property data export, cian flats for sale scraper, cian rent scraper, недвижимость парсер.

# Actor input Schema

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

Search: https://www.cian.ru/cat.php?deal\_type=sale\&engine\_version=2\&offer\_type=flat\&region=1 · Offer: https://www.cian.ru/sale/flat/330578186/

## `dealType` (type: `string`):

Whether to scrape offers for sale or for rent. Used only when no URL is pasted above.

## `propertyType` (type: `string`):

What kind of property to search: a secondary-market flat, a room, a house/suburban property, or a new building. Used only when no URL is pasted above.

## `region` (type: `string`):

cian region id, or a preset name: moscow, spb, moscow-oblast, novosibirsk, ekaterinburg, kazan, sochi, krasnodar. Default: moscow.

## `roomsCount` (type: `array`):

Room counts to include (1–6; 6 = studio/5+). Empty = any.

## `minPrice` (type: `integer`):

Lowest price to include, in RUB. Leave empty for no lower bound.

## `maxPrice` (type: `integer`):

Highest price to include, in RUB. Leave empty for no upper bound.

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

Hard cap on the number of rows for the whole run, across every search.

## `maxItemsPerSearch` (type: `integer`):

cian returns ~28 offers per page.

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

How many requests to run in parallel. 6 is a good balance; raise carefully.

## `maxRequestRetries` (type: `integer`):

Each retry rotates to a fresh Russian residential IP.

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

Optional override. cian.ru only answers Russian residential IPs — the actor ships with an RU residential pool at no extra cost, so leave this alone unless you have your own Russian proxies.

## Actor input object example

```json
{
  "startUrls": [],
  "dealType": "sale",
  "propertyType": "flat",
  "region": "moscow",
  "roomsCount": [],
  "maxItems": 1000,
  "maxItemsPerSearch": 1000,
  "maxConcurrency": 6,
  "maxRequestRetries": 12,
  "proxy": {
    "useApifyProxy": true
  }
}
```

# 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": [],
    "region": "moscow"
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/cian-real-estate-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": [],
    "region": "moscow",
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/cian-real-estate-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": [],
  "region": "moscow"
}' |
apify call memo23/cian-real-estate-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Cian.ru Real Estate Scraper",
        "description": "Scrape cian.ru Russian real estate — flats, rooms, houses, new buildings, for sale or rent. One row per offer: price (RUB), rooms, area, floor, building year/material, full address, photos, and the agent/agency profile WITH phone number. Russian residential proxy included.",
        "version": "0.1",
        "x-build-id": "JFZQKzGvjPh9bfAQB"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~cian-real-estate-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-cian-real-estate-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/memo23~cian-real-estate-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-cian-real-estate-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/memo23~cian-real-estate-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-cian-real-estate-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": "cian.ru URLs (search or offer)",
                        "type": "array",
                        "description": "Search: https://www.cian.ru/cat.php?deal_type=sale&engine_version=2&offer_type=flat&region=1 · Offer: https://www.cian.ru/sale/flat/330578186/",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "dealType": {
                        "title": "Deal type",
                        "enum": [
                            "sale",
                            "rent"
                        ],
                        "type": "string",
                        "description": "Whether to scrape offers for sale or for rent. Used only when no URL is pasted above.",
                        "default": "sale"
                    },
                    "propertyType": {
                        "title": "Property type",
                        "enum": [
                            "flat",
                            "room",
                            "house",
                            "newBuilding"
                        ],
                        "type": "string",
                        "description": "What kind of property to search: a secondary-market flat, a room, a house/suburban property, or a new building. Used only when no URL is pasted above.",
                        "default": "flat"
                    },
                    "region": {
                        "title": "Region",
                        "type": "string",
                        "description": "cian region id, or a preset name: moscow, spb, moscow-oblast, novosibirsk, ekaterinburg, kazan, sochi, krasnodar. Default: moscow.",
                        "default": "moscow"
                    },
                    "roomsCount": {
                        "title": "Rooms",
                        "type": "array",
                        "description": "Room counts to include (1–6; 6 = studio/5+). Empty = any.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2",
                                "3",
                                "4",
                                "5",
                                "6"
                            ],
                            "enumTitles": [
                                "1 room",
                                "2 rooms",
                                "3 rooms",
                                "4 rooms",
                                "5 rooms",
                                "Studio / 5+"
                            ]
                        },
                        "default": []
                    },
                    "minPrice": {
                        "title": "Min price (RUB)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Lowest price to include, in RUB. Leave empty for no lower bound."
                    },
                    "maxPrice": {
                        "title": "Max price (RUB)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Highest price to include, in RUB. Leave empty for no upper bound."
                    },
                    "maxItems": {
                        "title": "Max offers (total)",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Hard cap on the number of rows for the whole run, across every search.",
                        "default": 1000
                    },
                    "maxItemsPerSearch": {
                        "title": "Max offers per search",
                        "minimum": 1,
                        "type": "integer",
                        "description": "cian returns ~28 offers per page.",
                        "default": 1000
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many requests to run in parallel. 6 is a good balance; raise carefully.",
                        "default": 6
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 0,
                        "maximum": 40,
                        "type": "integer",
                        "description": "Each retry rotates to a fresh Russian residential IP.",
                        "default": 12
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional override. cian.ru only answers Russian residential IPs — the actor ships with an RU residential pool at no extra cost, so leave this alone unless you have your own Russian proxies.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
