# Domiporta.pl Real Estate Scraper (`trev0n/domiporta-scraper`) Actor

Fast scraper for Domiporta.pl — Polish real estate portal. Extracts listings and new-build developer investments with prices, GPS coordinates, build year, floor, amenities and photo galleries. Sale and rent; apartments, houses, plots, commercial.

- **URL**: https://apify.com/trev0n/domiporta-scraper.md
- **Developed by:** [Paweł](https://apify.com/trev0n) (community)
- **Categories:** Real estate, Automation, Developer tools
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

## 🏡 Domiporta.pl Real Estate Scraper

🎯 **Extract complete property data from one of Poland's longest-running real estate portals — regular listings and new-build developer investments in one run.**

This scraper collects property offers from Domiporta.pl: apartments, houses, plots and commercial spaces, for sale and rent. Every record comes with price, area, rooms, floor, build year, GPS coordinates, amenities, seller type (private / agency / developer), market type (primary / secondary) and the full photo gallery.

### 🚀 What Does It Do?

This scraper automatically searches Domiporta.pl and collects **structured, ready-to-use data** about properties across Poland. No manual browsing needed — just set your filters and hit Start.

💡 **Two modes of operation:**

1. **🔍 Discovery Mode** — Pick a city, property type, sale/rent and optional price, area and room filters; the portal applies them server-side and the scraper walks the results
2. **📋 Direct URL Mode** — Paste specific Domiporta.pl search or offer URLs and scrape exactly those

### 👥 Who Is This For?

| 🏢 Use Case                 | 💬 How It Helps                                                                            |
| --------------------------- | ------------------------------------------------------------------------------------------ |
| 📊 **Real Estate Agencies** | Monitor competitor listings and pricing in your area                                       |
| 🏗️ **New-Build Buyers**     | Track developer investments (new construction) alongside the secondary market              |
| 💼 **Investors**            | Spot underpriced offers with full context: build year, floor, price per m², exact location |
| 🧾 **Market Analysts**      | Study pricing, supply and seller structure across Polish cities                            |
| 🏘️ **Proptech Platforms**   | Feed your app or CRM with a clean, structured property inventory                           |
| 🌍 **Relocation Services**  | Offer clients complete property data with exact GPS locations and photo galleries          |

### ✨ Features

- 🏗️ **Developer Investments Included** — New-build projects are scraped alongside regular offers, clearly identifiable by seller type `deweloper`
- 👤 **Seller Type Detection** — Every offer tagged as `prywatny`, `agencja` or `deweloper`
- 🏷️ **Market Type** — Primary (new) vs secondary market on every detailed record
- 📍 **GPS Coordinates** — Latitude and longitude for every offer
- 📸 **Full Photo Galleries** — Direct links to all property photos
- 🏚️ **Rich Property Attributes** — Build year, floor, amenities (balcony, garage, garden…), price per m²
- 🏘️ **All Property Types** — Apartments, houses, plots and commercial spaces
- 💰 **Sale & Rent** — Both transaction types supported
- 🎛️ **Server-Side Filters** — Price, area and rooms ranges applied by the portal itself for exact results
- 🧹 **Deduplication** — Every offer appears exactly once per run
- ⚡ **Fast & Scalable** — Hundreds of listings per run in a couple of minutes
- 📤 **Export Anywhere** — Download results as JSON, CSV, Excel, or push to Google Sheets, Zapier, Make, or your CRM

### 🎛️ Filters & Options

| Option                      | What It Does                                                              |
| --------------------------- | ------------------------------------------------------------------------- |
| 🏙️ **City**                 | Choose any Polish city — the region is resolved automatically             |
| 🏘️ **Property Type**        | Apartments, houses, plots or commercial spaces                            |
| 💼 **Search Type**          | Sale or rent                                                              |
| 💰 **Price Range**          | Minimum and maximum price in PLN, applied server-side                     |
| 📐 **Area Range**           | Minimum and maximum area in m², applied server-side                       |
| 🚪 **Rooms Range**          | Minimum and maximum number of rooms, applied server-side                  |
| 🔬 **Extract Full Details** | Visit each offer page for GPS, build year, amenities and the full gallery |
| 🔢 **Max Items**            | Control how many offers to extract per run                                |
| 🔗 **Direct URLs**          | Optionally provide specific search or offer URLs to scrape                |

### 📦 What You Get (Output Fields)

Every property offer includes:

#### 🏠 Property Info

| Field         | Example                                                                             |
| ------------- | ----------------------------------------------------------------------------------- |
| title         | `Przestronne 2-pokojowe mieszkanie z balkonem i widokiem na Wawel: Kraków Podgórze` |
| price         | `920000`                                                                            |
| priceCurrency | `PLN`                                                                               |
| pricePerM2    | `22604.42`                                                                          |
| area          | `40.7`                                                                              |
| numberOfRooms | `2`                                                                                 |
| floor         | `4`                                                                                 |
| buildYear     | `2021`                                                                              |
| marketType    | `wtorny`                                                                            |

#### 📍 Location

| Field     | Example       |
| --------- | ------------- |
| city      | `Kraków`      |
| province  | `małopolskie` |
| street    | `rydlówka`    |
| latitude  | `50.0339078`  |
| longitude | `19.941758`   |

#### 👤 Seller & Media

| Field      | Example                                                           |
| ---------- | ----------------------------------------------------------------- |
| sellerType | `prywatny`                                                        |
| amenities  | `["balkon", "garaż podziemny"]`                                   |
| images     | `["https://galeria.domiporta.pl/pictures/big/15/c3/b5/….jpg", …]` |
| imageCount | `12`                                                              |
| datePosted | `2026-06-02`                                                      |

#### 🔗 Reference

| Field       | Example                                                                                   |
| ----------- | ----------------------------------------------------------------------------------------- |
| id          | `156515434`                                                                               |
| propertyUrl | `https://www.domiporta.pl/nieruchomosci/sprzedam-mieszkanie-dwupokojowe-krakow/156515434` |
| scrapedAt   | `2026-07-02T14:30:00.000Z`                                                                |

### 📊 Example Output

```json
{
    "id": "156515434",
    "offerId": "156515434",
    "title": "Przestronne 2-pokojowe mieszkanie z balkonem i widokiem na Wawel: Kraków Podgórze: rydlówka",
    "price": 920000,
    "priceCurrency": "PLN",
    "pricePerM2": 22604.42,
    "area": 40,
    "numberOfRooms": 2,
    "floor": 4,
    "buildYear": 2021,
    "marketType": "wtorny",
    "city": "Kraków",
    "province": "małopolskie",
    "street": "rydlówka",
    "latitude": 50.033907799999,
    "longitude": 19.941758,
    "description": "mieszkanie narożne z balkonem w bardzo dobrym stanie…",
    "sellerType": "prywatny",
    "amenities": ["balkon", "garaż podziemny"],
    "images": [
        "https://galeria.domiporta.pl/pictures/big/15/c3/b5/b5c35e84489f42b6cc222976240bebfacfff8ffc/przestronne_2-pokojowe_mieszkanie.jpg"
    ],
    "imageCount": 12,
    "mainImage": "https://galeria.domiporta.pl/pictures/big/15/c3/b5/b5c35e84489f42b6cc222976240bebfacfff8ffc/przestronne_2-pokojowe_mieszkanie.jpg",
    "datePosted": "2026-06-02",
    "propertyUrl": "https://www.domiporta.pl/nieruchomosci/sprzedam-mieszkanie-dwupokojowe-krakow-podgorze-rydlowka-41m2/156515434",
    "scrapedAt": "2026-07-02T14:30:00.000Z"
}
````

### 📋 Dataset Views

The Apify Console gives you **2 ready-made table views** to quickly browse your results:

| View                 | What It Shows                                                                 |
| -------------------- | ----------------------------------------------------------------------------- |
| 📊 **Overview**      | Title, price, area, rooms, city, seller type, market and link                 |
| 📋 **Detailed View** | Every single field — GPS, build year, amenities, photos, the complete dataset |

### ❓ FAQ

**🤔 Does it cover new-build developer projects?**
Yes — developer investments ("nowe" section) are scraped alongside regular offers. They're tagged `sellerType: "deweloper"` and `marketType: "pierwotny"`, so you can separate or combine them freely.

**🤔 Why do some offers have no price?**
Some developer investments are listed as "ask for price". When you set a price filter, those offers are automatically excluded; without a price filter they're included with an empty price field.

**🤔 Do I get exact locations?**
Yes — every offer includes GPS coordinates (latitude and longitude) plus city, province and street.

**🤔 Can I export the data?**
Yes — JSON, CSV, Excel, XML, HTML, RSS. You can also push data directly to Google Sheets, Zapier, Make, or any webhook/API endpoint.

**🤔 How often should I run this?**
For fresh data, run daily or weekly. You can schedule automatic runs on Apify with just a few clicks.

**🤔 Does it work with proxies?**
Yes — the scraper works with Apify's built-in proxy service, though it usually runs fine without any proxy at all.

### 🛠️ Need Custom Filters or Features?

**I'm happy to customize this scraper for your specific needs!** 🤝

Whether you need:

- 🎯 Additional filters (build year range, price per m², amenity-based filtering, district-level search)
- 📊 Extra data fields or custom output formats (e.g., weekly new-listing reports)
- 🔄 Integration with your CRM, Google Sheets, or database
- ⏰ Scheduled scraping with automatic deduplication
- 🌐 Scraping from other Polish real estate platforms alongside Domiporta (Otodom, Morizon, Gratka, OLX, Adresowo — or all of them at once with cross-portal deduplication)

👉 **Don't hesitate to reach out via private message** — I respond quickly and I'm always open to building exactly what you need. No request is too small or too specific!

### ⚖️ Legal & Ethical Use

This scraper collects **only publicly available information** from Domiporta.pl. It does not access private data, bypass authentication, or reveal hidden contact details. Please use the data responsibly and in compliance with applicable laws and platform terms of service.

# Actor input Schema

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

List of Domiporta.pl URLs to scrape. Can be search result pages (e.g., https://www.domiporta.pl/mieszkanie/sprzedam/malopolskie/krakow) or individual offer URLs. If provided, search filters below are ignored.

## `searchType` (type: `string`):

Type of search: sale or rent.

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

Type of property to search for.

## `city` (type: `string`):

City name (e.g., 'Kraków', 'Warszawa', 'Wrocław'). The voivodeship is resolved automatically.

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

Minimum price in PLN. Applied server-side by the portal. Offers without a public price ('ask for price' developer investments) are excluded when a price limit is set.

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

Maximum price in PLN. Applied server-side by the portal. Offers without a public price ('ask for price' developer investments) are excluded when a price limit is set.

## `areaMin` (type: `integer`):

Minimum area in square meters. Applied server-side by the portal.

## `areaMax` (type: `integer`):

Maximum area in square meters. Applied server-side by the portal.

## `roomsMin` (type: `integer`):

Minimum number of rooms. Applied server-side by the portal.

## `roomsMax` (type: `integer`):

Maximum number of rooms. Applied server-side by the portal.

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

Maximum number of property listings to scrape (0 = unlimited).

## `extractDetails` (type: `boolean`):

When enabled, visits each offer page for full details (GPS coordinates, build year, floor, amenities, full photo gallery, seller type, market type). When disabled, extracts listing-level data only (faster).

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

Maximum number of parallel requests.

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

Maximum number of retries for failed requests.

## `maxRequestsPerMinute` (type: `integer`):

Maximum number of requests per minute to avoid rate limiting.

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

Proxy settings. Usually not required — portal has no aggressive anti-bot.

## Actor input object example

```json
{
  "searchType": "sprzedaz",
  "propertyType": "mieszkanie",
  "city": "Kraków",
  "maxItems": 50,
  "extractDetails": true,
  "maxConcurrency": 10,
  "maxRequestRetries": 2,
  "maxRequestsPerMinute": 120
}
```

# Actor output Schema

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

No description

# 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 = {
    "city": "Kraków"
};

// Run the Actor and wait for it to finish
const run = await client.actor("trev0n/domiporta-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 = { "city": "Kraków" }

# Run the Actor and wait for it to finish
run = client.actor("trev0n/domiporta-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 '{
  "city": "Kraków"
}' |
apify call trev0n/domiporta-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Domiporta.pl Real Estate Scraper",
        "description": "Fast scraper for Domiporta.pl — Polish real estate portal. Extracts listings and new-build developer investments with prices, GPS coordinates, build year, floor, amenities and photo galleries. Sale and rent; apartments, houses, plots, commercial.",
        "version": "1.0",
        "x-build-id": "8K9Trzn5wlXT991Ta"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trev0n~domiporta-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trev0n-domiporta-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/trev0n~domiporta-scraper/runs": {
            "post": {
                "operationId": "runs-sync-trev0n-domiporta-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/trev0n~domiporta-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-trev0n-domiporta-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": "Start URLs",
                        "type": "array",
                        "description": "List of Domiporta.pl URLs to scrape. Can be search result pages (e.g., https://www.domiporta.pl/mieszkanie/sprzedam/malopolskie/krakow) or individual offer URLs. If provided, search filters below are ignored.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "searchType": {
                        "title": "Search Type",
                        "enum": [
                            "sprzedaz",
                            "wynajem"
                        ],
                        "type": "string",
                        "description": "Type of search: sale or rent.",
                        "default": "sprzedaz"
                    },
                    "propertyType": {
                        "title": "Property Type",
                        "enum": [
                            "mieszkanie",
                            "dom",
                            "dzialka",
                            "lokal"
                        ],
                        "type": "string",
                        "description": "Type of property to search for.",
                        "default": "mieszkanie"
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "City name (e.g., 'Kraków', 'Warszawa', 'Wrocław'). The voivodeship is resolved automatically."
                    },
                    "priceMin": {
                        "title": "Price Min (PLN)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in PLN. Applied server-side by the portal. Offers without a public price ('ask for price' developer investments) are excluded when a price limit is set."
                    },
                    "priceMax": {
                        "title": "Price Max (PLN)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price in PLN. Applied server-side by the portal. Offers without a public price ('ask for price' developer investments) are excluded when a price limit is set."
                    },
                    "areaMin": {
                        "title": "Area Min (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum area in square meters. Applied server-side by the portal."
                    },
                    "areaMax": {
                        "title": "Area Max (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum area in square meters. Applied server-side by the portal."
                    },
                    "roomsMin": {
                        "title": "Rooms Min",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Minimum number of rooms. Applied server-side by the portal."
                    },
                    "roomsMax": {
                        "title": "Rooms Max",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of rooms. Applied server-side by the portal."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of property listings to scrape (0 = unlimited).",
                        "default": 50
                    },
                    "extractDetails": {
                        "title": "Extract Full Details",
                        "type": "boolean",
                        "description": "When enabled, visits each offer page for full details (GPS coordinates, build year, floor, amenities, full photo gallery, seller type, market type). When disabled, extracts listing-level data only (faster).",
                        "default": true
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of parallel requests.",
                        "default": 10
                    },
                    "maxRequestRetries": {
                        "title": "Max Request Retries",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of retries for failed requests.",
                        "default": 2
                    },
                    "maxRequestsPerMinute": {
                        "title": "Max Requests Per Minute",
                        "minimum": 10,
                        "maximum": 300,
                        "type": "integer",
                        "description": "Maximum number of requests per minute to avoid rate limiting.",
                        "default": 120
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Usually not required — portal has no aggressive anti-bot."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
