# Nieruchomosci-online.pl Real Estate Scraper (`trev0n/nieruchomosci-online-scraper`) Actor

Fast scraper for Nieruchomosci-online.pl — Poland's independent real estate portal. Extracts property listings with prices, GPS coordinates, images, and broker info via JSON-LD structured data. Supports sale and rent listings for apartments, houses, plots, and commercial properties.

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

## Pricing

$2.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🏠 Nieruchomosci-online.pl Scraper

🎯 **The fastest way to collect real estate listings from Poland's largest independent property portal.**

Extract apartments, houses, plots, commercial spaces, and garages — for sale or for rent — with full details including prices, GPS coordinates, images, amenities, agency contact info, and everything else that matters when analyzing the Polish property market.

---

### 🚀 What Does It Do?

This scraper automatically browses Nieruchomosci-online.pl and collects **structured, ready-to-use data** from every property listing it finds. No manual browsing, no copy-pasting, no endless scrolling — just set your filters and hit Start.

💡 **Two modes of operation:**

1. **🔍 Search Mode** — Define location, property type, price range, area, and room count. The scraper builds the search URL, paginates through every result page, and visits each listing.
2. **📋 Direct URL Mode** — Paste search result URLs or individual property URLs. The scraper handles both and collects everything you need.

---

### 👥 Who Is This For?

| 🏢 Use Case                      | 💬 How It Helps                                                                  |
| -------------------------------- | -------------------------------------------------------------------------------- |
| 📊 **Real Estate Analysts**      | Build price indexes, track market trends, and compare neighborhoods in real time |
| 🔎 **Property Investors**        | Scan thousands of offers daily and spot underpriced listings before anyone else  |
| 🏘️ **Real Estate Agencies**      | Monitor competition, track agent activity, and discover new listings instantly   |
| 🤝 **Relocation Services**       | Aggregate fresh inventory for clients moving to specific Polish cities           |
| 📣 **PropTech Startups**         | Fuel your app or dashboard with clean, structured property data                  |
| 📈 **Researchers & Journalists** | Gather hard data on the Polish housing market for reports and publications       |

---

### ✨ Features

- 🏠 **Complete Property Data** — Prices, area, rooms, floor, year built, building type, ownership form, and more
- 📍 **Exact GPS Coordinates** — Latitude and longitude for every listing where available
- 🖼️ **Full Image Galleries** — All property photos, not just the thumbnail
- 👤 **Agency & Agent Info** — Know who is selling and how to reach them
- 🏙️ **Location Details** — City, district, street, province — all separated into clean fields
- 💰 **Price Per Square Meter** — Pre-calculated so you can compare offers instantly
- 🎛️ **Smart Filters** — Filter by location, property type, price range, area, rooms, sale or rent
- ⚡ **Fast & Scalable** — Scrape thousands of listings in minutes
- 🚫 **Automatic Deduplication** — Never get the same property twice, even across pagination
- 📤 **Export Anywhere** — Download results as JSON, CSV, Excel, or push to Google Sheets, Zapier, Make, or your CRM

---

### 🎛️ Filters & Options

| Option                      | What It Does                                                           |
| --------------------------- | ---------------------------------------------------------------------- |
| 🔗 **Start URLs**           | Paste specific search or listing URLs — overrides all other filters    |
| 🏷️ **Search Type**          | Choose between sale (sprzedaż) or rent (wynajem)                       |
| 🏠 **Property Type**        | Apartment, house, plot, commercial, or garage                          |
| 📍 **Location**             | Any Polish city (e.g., Kraków, Warszawa, Wrocław, Gdańsk)              |
| 💰 **Price Range**          | Minimum and maximum price in PLN                                       |
| 📐 **Area Range**           | Minimum and maximum surface area in square meters                      |
| 🚪 **Rooms Range**          | Minimum and maximum number of rooms                                    |
| 📦 **Extract Full Details** | Toggle between fast listing-only mode and deep per-property extraction |
| 🔢 **Max Items**            | Control how many listings to collect per run                           |
| ⚡ **Max Concurrency**      | Speed vs politeness — tune parallel requests                           |
| 🛡️ **Proxy Configuration**  | Use Apify proxies if needed (usually not required here)                |

---

### 📦 What You Get (Output Fields)

Every property listing includes:

#### Identity & Link

| Field       | Example                                                                                    |
| ----------- | ------------------------------------------------------------------------------------------ |
| id          | `24851234`                                                                                 |
| offerId     | `24851234`                                                                                 |
| title       | `Mieszkanie 3-pokojowe, Kraków Podgórze`                                                   |
| propertyUrl | `https://krakow.nieruchomosci-online.pl/mieszkanie-kazimierza-brodzinskiego/24851234.html` |

#### Pricing

| Field               | Example         |
| ------------------- | --------------- |
| price               | `850000`        |
| priceCurrency       | `PLN`           |
| priceFormatted      | `850 000 PLN`   |
| pricePerM2          | `14200`         |
| pricePerM2Formatted | `14 200 PLN/m²` |

#### Property Specs

| Field             | Example     |
| ----------------- | ----------- |
| area              | `59.8`      |
| numberOfRooms     | `3`         |
| numberOfBathrooms | `1`         |
| floor             | `2`         |
| totalFloors       | `4`         |
| buildingType      | `kamienica` |
| buildYear         | `1935`      |
| marketType        | `wtórny`    |
| ownershipType     | `własność`  |

#### Location

| Field       | Example                                  |
| ----------- | ---------------------------------------- |
| location    | `ul. Brodzińskiego, Kraków, małopolskie` |
| street      | `ul. Brodzińskiego`                      |
| district    | `Podgórze`                               |
| city        | `Kraków`                                 |
| province    | `małopolskie`                            |
| countryCode | `PL`                                     |
| latitude    | `50.042192`                              |
| longitude   | `19.947001`                              |

#### Features & Amenities

| Field       | Example                              |
| ----------- | ------------------------------------ |
| amenities   | `["Balcony", "Elevator", "Parking"]` |
| hasBalcony  | `Tak`                                |
| hasElevator | `Tak`                                |
| hasGarage   | `null`                               |
| hasParking  | `Tak`                                |
| hasGarden   | `null`                               |

#### Media & Description

| Field       | Example                                                     |
| ----------- | ----------------------------------------------------------- |
| description | `Przestronne mieszkanie w sercu Podgórza...`                |
| images      | `["https://i.st-nieruchomosci-online.pl/.../1.jpg", "..."]` |
| imageCount  | `12`                                                        |
| mainImage   | `https://i.st-nieruchomosci-online.pl/.../1.jpg`            |

#### Seller

| Field      | Example                   |
| ---------- | ------------------------- |
| agencyName | `Krakowska Nieruchomości` |
| agentName  | `Anna Kowalska`           |
| sellerType | `agency`                  |

#### Metadata

| Field     | Example                    |
| --------- | -------------------------- |
| scrapedAt | `2026-04-24T19:30:00.000Z` |

---

### 📊 Example Output

```json
{
    "id": "24851234",
    "offerId": "24851234",
    "title": "Mieszkanie 3-pokojowe, Kraków Podgórze",
    "price": 850000,
    "priceCurrency": "PLN",
    "priceFormatted": "850 000 PLN",
    "pricePerM2": 14200,
    "pricePerM2Formatted": "14 200 PLN/m²",
    "area": 59.8,
    "numberOfRooms": 3,
    "numberOfBathrooms": 1,
    "floor": 2,
    "totalFloors": 4,
    "buildingType": "kamienica",
    "buildYear": 1935,
    "marketType": "wtórny",
    "ownershipType": "własność",
    "location": "ul. Brodzińskiego, Kraków, małopolskie",
    "street": "ul. Brodzińskiego",
    "district": "Podgórze",
    "city": "Kraków",
    "province": "małopolskie",
    "countryCode": "PL",
    "latitude": 50.042192,
    "longitude": 19.947001,
    "amenities": ["Balcony", "Elevator", "Parking"],
    "hasBalcony": "Tak",
    "hasElevator": "Tak",
    "hasGarage": null,
    "hasParking": "Tak",
    "hasGarden": null,
    "description": "Przestronne mieszkanie w sercu Podgórza, w zabytkowej kamienicy z 1935 roku...",
    "images": [
        "https://i.st-nieruchomosci-online.pl/photos/24851234/1.jpg",
        "https://i.st-nieruchomosci-online.pl/photos/24851234/2.jpg"
    ],
    "imageCount": 12,
    "mainImage": "https://i.st-nieruchomosci-online.pl/photos/24851234/1.jpg",
    "agencyName": "Krakowska Nieruchomości",
    "agentName": "Anna Kowalska",
    "sellerType": "agency",
    "propertyUrl": "https://krakow.nieruchomosci-online.pl/mieszkanie-kazimierza-brodzinskiego/24851234.html",
    "scrapedAt": "2026-04-24T19: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, price per m², area, rooms, location, market type, and URL — perfect for a quick scan       |
| 📋 **Detailed View** | Everything above plus floor, building type, year, ownership, GPS coordinates, amenities, and agency info |

***

### ❓ FAQ

**🤔 Does it work for every Polish city?**
Yes — Nieruchomosci-online.pl covers the entire country, and the scraper works for any city name you provide: Kraków, Warszawa, Wrocław, Gdańsk, Poznań, Łódź, Szczecin, and all smaller towns.

**🤔 Can I scrape both sales and rentals?**
Absolutely. Switch the "Search Type" option between sale (sprzedaż) and rent (wynajem). You can also run two separate jobs in parallel if you want both.

**🤔 How fresh is the data?**
Every run fetches the latest listings visible on the portal at that moment. For daily market tracking, schedule it to run every morning.

**🤔 Do I get GPS coordinates?**
Yes — whenever the portal exposes them (which is almost always), you get exact latitude and longitude for mapping and geospatial analysis.

**🤔 What happens with duplicate listings?**
The scraper automatically deduplicates by offer ID, so you never get the same property twice — even across pages or multiple search URLs.

**🤔 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?**
Nieruchomosci-online.pl is usually scrapable without proxies, but the Apify proxy service is fully supported if you need it for high-volume runs.

***

### 🛠️ Need Custom Filters or Features?

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

Whether you need:

- 🎯 Additional filters (e.g., energy class, heating type, furnishing status, specific districts, year-built ranges)
- 📊 Extra data fields or custom output formats
- 🔄 Integration with your CRM, Google Sheets, or property management database
- ⏰ Scheduled scraping with automatic deduplication and change tracking
- 🌐 Scraping from other Polish real estate platforms alongside Nieruchomosci-online.pl (Otodom, Morizon, Gratka, OLX Nieruchomości)
- 🗺️ Enriched data with custom geocoding, district normalization, or neighborhood scoring

👉 **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 Nieruchomosci-online.pl. It does not access private data, bypass authentication, or circumvent any security measures. Please use the data responsibly and in compliance with applicable laws and the platform's terms of service.

# Actor input Schema

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

List of Nieruchomosci-online.pl URLs to scrape. Can be search result pages (e.g., https://www.nieruchomosci-online.pl/szukaj.html?3,mieszkanie,sprzedaz,,Kraków) or individual property listing URLs. If provided, other search filters are ignored.

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

Type of search: sale or rent.

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

Type of property to search for.

## `location` (type: `string`):

City name (e.g., 'Kraków', 'Warszawa', 'Wrocław'). Must match Nieruchomosci-online.pl URL conventions.

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

Minimum price in PLN.

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

Maximum price in PLN.

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

Minimum area in square meters.

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

Maximum area in square meters.

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

Minimum number of rooms.

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

Maximum number of rooms.

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

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

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

When enabled, visits each property page for full details (JSON-LD parse: GPS, full images, amenities, agent). 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",
  "location": "Kraków",
  "maxItems": 50,
  "extractDetails": true,
  "maxConcurrency": 20,
  "maxRequestRetries": 2,
  "maxRequestsPerMinute": 300
}
```

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

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Nieruchomosci-online.pl Real Estate Scraper",
        "description": "Fast scraper for Nieruchomosci-online.pl — Poland's independent real estate portal. Extracts property listings with prices, GPS coordinates, images, and broker info via JSON-LD structured data. Supports sale and rent listings for apartments, houses, plots, and commercial properties.",
        "version": "1.0",
        "x-build-id": "52qCqypbXZfNwWKdv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trev0n~nieruchomosci-online-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trev0n-nieruchomosci-online-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~nieruchomosci-online-scraper/runs": {
            "post": {
                "operationId": "runs-sync-trev0n-nieruchomosci-online-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~nieruchomosci-online-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-trev0n-nieruchomosci-online-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 Nieruchomosci-online.pl URLs to scrape. Can be search result pages (e.g., https://www.nieruchomosci-online.pl/szukaj.html?3,mieszkanie,sprzedaz,,Kraków) or individual property listing URLs. If provided, other search filters 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",
                            "garaz"
                        ],
                        "type": "string",
                        "description": "Type of property to search for.",
                        "default": "mieszkanie"
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City name (e.g., 'Kraków', 'Warszawa', 'Wrocław'). Must match Nieruchomosci-online.pl URL conventions."
                    },
                    "priceMin": {
                        "title": "Price Min (PLN)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in PLN."
                    },
                    "priceMax": {
                        "title": "Price Max (PLN)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price in PLN."
                    },
                    "areaMin": {
                        "title": "Area Min (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum area in square meters."
                    },
                    "areaMax": {
                        "title": "Area Max (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum area in square meters."
                    },
                    "roomsMin": {
                        "title": "Rooms Min",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Minimum number of rooms."
                    },
                    "roomsMax": {
                        "title": "Rooms Max",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of rooms."
                    },
                    "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 property page for full details (JSON-LD parse: GPS, full images, amenities, agent). 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": 20
                    },
                    "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": 300
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
