# OLX Nieruchomości: Mieszkania, Domy, Działki + Monitoring (`klevio/olx-nieruchomosci-pl`) Actor

Scraper OLX.pl dla nieruchomości: mieszkania, domy, działki, garaże, biura. Pełne filtry OLX (kategoria, miasto, promień, cena, m², pokoje, piętro) oraz monitoring nowych ogłoszeń dla leadgenu agencji. Ustrukturyzowany JSON/CSV. Bez klejenia URL. Od Klevio, polski specjalista e-commerce.

- **URL**: https://apify.com/klevio/olx-nieruchomosci-pl.md
- **Developed by:** [Klevio](https://apify.com/klevio) (community)
- **Categories:** Real estate, Lead generation, MCP servers
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 pobranie ogłoszenias

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## OLX Nieruchomości: Mieszkania, Domy, Działki + Monitoring

Scraper OLX.pl dla nieruchomości. Pobiera mieszkania, domy, działki, garaże i lokale, a następnie zamienia je w gotowe dane dla Twojej agencji: z pełnymi filtrami, ustrukturyzowanymi polami oraz monitoringiem nowych ogłoszeń i zmian cen. Stworzony dla polskich agencji nieruchomości, inwestorów i pośredników.

> 🎁 Pierwsze 100 ogłoszeń gratis, bez karty i bez zobowiązań. Sprawdź na swoich realnych filtrach.

![Wyniki OLX Nieruchomości: mieszkania w Poznaniu w widoku tabeli](https://api.apify.com/v2/key-value-stores/Obt4b1F4QX96bqVZs/records/nier-wyniki-mieszkania.png)

*Przykładowe wyniki (mieszkania, Poznań): cena, cena za m², powierzchnia, pokoje, piętro, rynek, typ budynku, firma czy osoba prywatna, dzielnica i link, gotowe do eksportu CSV lub JSON.*

### Dlaczego ten aktor

Monitoring nowych ogłoszeń to jego najmocniejsza funkcja. Ustawiasz harmonogram (co godzinę lub codziennie), a aktor zwraca wyłącznie nowe ogłoszenia od ostatniego uruchomienia i wykrywa zmiany cen w już śledzonych ofertach. To leadgen na świeżo, docierasz do ogłoszenia zanim zrobi to konkurencja.

Dostajesz dane ustrukturyzowane, a nie surowy zrzut. Cena, cena za metr kwadratowy (policzona), powierzchnia, liczba pokoi, piętro, rynek, typ budynku, dzielnica i współrzędne. Wszystko gotowe do importu do CRM lub arkusza.

Masz pełne filtry OLX prosto w panelu: kategoria, miasto, promień od miasta, cena, powierzchnia, pokoje, rodzaj zabudowy, piętro, rynek, typ sprzedawcy. Bez klejenia adresów URL.

Działa szybko i niezawodnie, bo korzysta z publicznego API OLX (te same dane co aplikacja OLX), w każdej ilości.

### Co pobiera (jedno ogłoszenie to jeden rekord)

Tytuł, cena, waluta, cena za metr kwadratowy, powierzchnia, liczba pokoi, piętro, rynek, typ budynku, umeblowanie, wystawca (firma lub osoba prywatna), miasto, dzielnica, województwo, współrzędne, data dodania, zdjęcia, opis, link. W trybie monitoringu dochodzą pola `changeType` (nowe lub zmiana ceny) oraz `previousPrice`.

![Wyniki OLX Nieruchomości: domy pod Poznaniem z pełnym zestawem pól](https://api.apify.com/v2/key-value-stores/Obt4b1F4QX96bqVZs/records/nier-wyniki-domy.png)

*Domy w województwie wielkopolskim: każdy wiersz to jedno ogłoszenie z kompletem pól, gotowe do importu do CRM lub arkusza.*

### Kategorie

Mieszkania, Domy, Działki, Komercja (biura i lokale), Garaże i parkingi, Pokoje. Każda z pełnym zestawem swoich filtrów.

### Jak używać

![Panel filtrów OLX Nieruchomości: kategoria, cena, powierzchnia, monitoring](https://api.apify.com/v2/key-value-stores/Obt4b1F4QX96bqVZs/records/nier-panel-filtrow.png)

*Przejrzysty panel filtrów pogrupowany w sekcje, bez klejenia adresów URL.*

1. Wybierz kategorię (Mieszkania, Domy, Działki, Komercja, Garaże, Pokoje) i typ oferty (sprzedaż lub wynajem).
2. Ustaw filtry: miasto, cena, metraż, liczba pokoi, rodzaj zabudowy, piętro, rynek, typ sprzedawcy. Dokładnie jak na OLX, tylko wygodniej.
3. Opcjonalnie zaznacz „Monitoruj nowe ogłoszenia" i ustaw harmonogram w zakładce Schedules, aby dostawać tylko świeże leady.
4. Kliknij Start.
5. Dostajesz plik CSV lub JSON ze wszystkimi pasującymi ogłoszeniami.

> 🗺️ Szukasz w mieście i okolicach? Ustaw miasto Warszawa oraz promień 30 km, a aktor pobierze oferty z Warszawy i wszystkich sąsiednich miejscowości. Idealne dla domów i działek.

Dla zaawansowanych: w sekcji „Zaawansowane" możesz wkleić gotowe adresy wyszukiwania OLX, które nadpisują filtry z panelu.

### Cennik (pay per event, taniej na wyższych planach)

| Zdarzenie | Kiedy | Cena (Free / Bronze / Silver / Gold) |
|---|---|---|
| Pobranie ogłoszenia | za każde ogłoszenie | 0,008 / 0,006 / 0,005 / 0,004 USD |
| Nowe ogłoszenie | za nowe ogłoszenie w monitoringu | 0,015 / 0,012 / 0,010 / 0,008 USD |
| Zmiana ceny | za wykrytą zmianę ceny | 0,008 / 0,006 / 0,005 / 0,004 USD |
| Start aktora | raz na uruchomienie | 0,050 USD |

🎁 Pierwsze 100 pobrań ogłoszeń gratis (jednorazowo dla nowego użytkownika).

### Więcej narzędzi

Inne scrapery Klevio dla polskiego rynku (OLX, Allegro) znajdziesz na profilu w Apify Store: [apify.com/klevio](https://apify.com/klevio).

---

### 🌐 English quick summary

OLX.pl real estate scraper for the Polish market: apartments, houses, plots and commercial listings with full filters, structured fields (price, price per square metre, area, rooms, floor, location) and the key feature, new listing and price change monitoring for fresh lead generation (schedule it hourly or daily and get only what changed). It uses the public OLX JSON API, so it is fast and reliable at any volume. Pick a category, set the filters, click Start. First 100 listings free. Built by Klevio. More scrapers: apify.com/klevio.

# Actor input Schema

## `subcategory` (type: `string`):

Rodzaj nieruchomości.
## `transaction` (type: `string`):

Sprzedaż, wynajem lub zamiana (jeśli kategoria obsługuje).
## `city` (type: `string`):

Nazwa miasta, np. Warszawa, Kraków, Gdańsk. Puste = cała Polska.
## `radiusKm` (type: `string`):

Rozszerz wyszukiwanie o okoliczne miejscowości w promieniu wybranej liczby kilometrów od miasta, tak jak na OLX. Świetne dla domów i działek. Wymaga podanego miasta.
## `district` (type: `string`):

Dzielnica w obrębie miasta, na przykład Mokotów (działa dla większych miast). Nie łącz z promieniem.
## `priceMin` (type: `integer`):

Dolny próg ceny.
## `priceMax` (type: `integer`):

Górny próg ceny.
## `areaMin` (type: `integer`):

Powierzchnia mieszkalna/użytkowa, dolny próg.
## `areaMax` (type: `integer`):

Powierzchnia mieszkalna/użytkowa, górny próg.
## `plotAreaMin` (type: `integer`):

Dla domów i działek, dolny próg powierzchni działki.
## `plotAreaMax` (type: `integer`):

Dla domów i działek, górny próg powierzchni działki.
## `rooms` (type: `array`):

Dla mieszkań i domów (można wybrać kilka).
## `buildingType` (type: `array`):

Dla mieszkań (można wybrać kilka).
## `floor` (type: `array`):

Poziom (można wybrać kilka).
## `market` (type: `string`):

Pierwotny (deweloperski) lub wtórny.
## `furniture` (type: `string`):

Czy oferta jest umeblowana.
## `ownerType` (type: `string`):

Ogłoszenia prywatne, firmowe (biura/deweloperzy) czy wszystkie.
## `onlyWithPhoto` (type: `boolean`):

Pomiń ogłoszenia bez żadnego zdjęcia.
## `postedWithin` (type: `string`):

Ogranicz do ogłoszeń dodanych w wybranym okresie.
## `monitorNew` (type: `boolean`):

Killer feature dla agencji: aktor pamięta, co już widział (per wyszukiwanie), i przy kolejnych uruchomieniach zwraca WYŁĄCZNIE nowe ogłoszenia. Pierwszy run buduje bazę. Ustaw harmonogram (co godzinę/dzień) w zakładce Schedules.
## `detectPriceChanges` (type: `boolean`):

W trybie monitoringu zwracaj również ogłoszenia, w których zmieniła się cena (z polem poprzedniej ceny). Idealne do wyłapywania obniżek.
## `maxItems` (type: `integer`):

Bezpiecznik kosztów, górny limit ogłoszeń przeskanowanych w jednym uruchomieniu.
## `uzyjProxy` (type: `boolean`):

Domyślnie wyłączone. OLX działa najlepiej przy bezpośrednim połączeniu. Włącz tylko przy bardzo dużych wolumenach, jeśli pojawia się ograniczanie zapytań. Uwaga: proxy datacenter bywa blokowane przez OLX.
## `searchUrls` (type: `array`):

Dla power-userów. Wklej gotowe linki wyszukiwania z OLX.pl, jeśli podasz, NADPISUJĄ filtry z UI powyżej. Aktor odczyta z nich kategorię, lokalizację i wszystkie filtry automatycznie.

## Actor input object example

```json
{
  "subcategory": "mieszkania",
  "transaction": "sprzedaz",
  "city": "Warszawa",
  "radiusKm": "0",
  "market": "",
  "furniture": "",
  "ownerType": "",
  "onlyWithPhoto": false,
  "postedWithin": "all",
  "monitorNew": false,
  "detectPriceChanges": true,
  "maxItems": 500,
  "uzyjProxy": false
}
````

# Actor output Schema

## `listings` (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": "Warszawa"
};

// Run the Actor and wait for it to finish
const run = await client.actor("klevio/olx-nieruchomosci-pl").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": "Warszawa" }

# Run the Actor and wait for it to finish
run = client.actor("klevio/olx-nieruchomosci-pl").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": "Warszawa"
}' |
apify call klevio/olx-nieruchomosci-pl --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "OLX Nieruchomości: Mieszkania, Domy, Działki + Monitoring",
        "description": "Scraper OLX.pl dla nieruchomości: mieszkania, domy, działki, garaże, biura. Pełne filtry OLX (kategoria, miasto, promień, cena, m², pokoje, piętro) oraz monitoring nowych ogłoszeń dla leadgenu agencji. Ustrukturyzowany JSON/CSV. Bez klejenia URL. Od Klevio, polski specjalista e-commerce.",
        "version": "1.0",
        "x-build-id": "6A3WtBiXKKPtXRhcd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/klevio~olx-nieruchomosci-pl/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-klevio-olx-nieruchomosci-pl",
                "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/klevio~olx-nieruchomosci-pl/runs": {
            "post": {
                "operationId": "runs-sync-klevio-olx-nieruchomosci-pl",
                "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/klevio~olx-nieruchomosci-pl/run-sync": {
            "post": {
                "operationId": "run-sync-klevio-olx-nieruchomosci-pl",
                "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": {
                    "subcategory": {
                        "title": "Kategoria",
                        "enum": [
                            "mieszkania",
                            "domy",
                            "dzialki",
                            "biura-lokale",
                            "garaze-parkingi",
                            "stancje-pokoje"
                        ],
                        "type": "string",
                        "description": "Rodzaj nieruchomości.",
                        "default": "mieszkania"
                    },
                    "transaction": {
                        "title": "Typ oferty",
                        "enum": [
                            "sprzedaz",
                            "wynajem",
                            "zamiana"
                        ],
                        "type": "string",
                        "description": "Sprzedaż, wynajem lub zamiana (jeśli kategoria obsługuje).",
                        "default": "sprzedaz"
                    },
                    "city": {
                        "title": "Miasto",
                        "type": "string",
                        "description": "Nazwa miasta, np. Warszawa, Kraków, Gdańsk. Puste = cała Polska."
                    },
                    "radiusKm": {
                        "title": "Promień od miasta",
                        "enum": [
                            "0",
                            "5",
                            "10",
                            "15",
                            "30",
                            "50",
                            "75",
                            "100"
                        ],
                        "type": "string",
                        "description": "Rozszerz wyszukiwanie o okoliczne miejscowości w promieniu wybranej liczby kilometrów od miasta, tak jak na OLX. Świetne dla domów i działek. Wymaga podanego miasta.",
                        "default": "0"
                    },
                    "district": {
                        "title": "Dzielnica (opcjonalnie)",
                        "type": "string",
                        "description": "Dzielnica w obrębie miasta, na przykład Mokotów (działa dla większych miast). Nie łącz z promieniem."
                    },
                    "priceMin": {
                        "title": "Cena od (zł)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Dolny próg ceny."
                    },
                    "priceMax": {
                        "title": "Cena do (zł)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Górny próg ceny."
                    },
                    "areaMin": {
                        "title": "Powierzchnia od (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Powierzchnia mieszkalna/użytkowa, dolny próg."
                    },
                    "areaMax": {
                        "title": "Powierzchnia do (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Powierzchnia mieszkalna/użytkowa, górny próg."
                    },
                    "plotAreaMin": {
                        "title": "Powierzchnia działki od (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Dla domów i działek, dolny próg powierzchni działki."
                    },
                    "plotAreaMax": {
                        "title": "Powierzchnia działki do (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Dla domów i działek, górny próg powierzchni działki."
                    },
                    "rooms": {
                        "title": "Liczba pokoi",
                        "type": "array",
                        "description": "Dla mieszkań i domów (można wybrać kilka).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "one",
                                "two",
                                "three",
                                "four"
                            ],
                            "enumTitles": [
                                "Kawalerka (1)",
                                "2 pokoje",
                                "3 pokoje",
                                "4 i więcej"
                            ]
                        }
                    },
                    "buildingType": {
                        "title": "Rodzaj zabudowy",
                        "type": "array",
                        "description": "Dla mieszkań (można wybrać kilka).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "blok",
                                "kamienica",
                                "apartamentowiec",
                                "loft",
                                "pozostale"
                            ],
                            "enumTitles": [
                                "Blok",
                                "Kamienica",
                                "Apartamentowiec",
                                "Loft",
                                "Pozostałe"
                            ]
                        }
                    },
                    "floor": {
                        "title": "Piętro",
                        "type": "array",
                        "description": "Poziom (można wybrać kilka).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "floor_0",
                                "floor_1",
                                "floor_2",
                                "floor_3",
                                "floor_4",
                                "floor_5",
                                "floor_6",
                                "floor_7",
                                "floor_8",
                                "floor_9",
                                "floor_10",
                                "floor_11",
                                "floor_17"
                            ],
                            "enumTitles": [
                                "Parter",
                                "1",
                                "2",
                                "3",
                                "4",
                                "5",
                                "6",
                                "7",
                                "8",
                                "9",
                                "10",
                                "Powyżej 10",
                                "Poddasze"
                            ]
                        }
                    },
                    "market": {
                        "title": "Rynek",
                        "enum": [
                            "",
                            "primary",
                            "secondary"
                        ],
                        "type": "string",
                        "description": "Pierwotny (deweloperski) lub wtórny.",
                        "default": ""
                    },
                    "furniture": {
                        "title": "Umeblowanie (dla wynajmu)",
                        "enum": [
                            "",
                            "yes",
                            "no"
                        ],
                        "type": "string",
                        "description": "Czy oferta jest umeblowana.",
                        "default": ""
                    },
                    "ownerType": {
                        "title": "Typ sprzedawcy",
                        "enum": [
                            "",
                            "private",
                            "business"
                        ],
                        "type": "string",
                        "description": "Ogłoszenia prywatne, firmowe (biura/deweloperzy) czy wszystkie.",
                        "default": ""
                    },
                    "onlyWithPhoto": {
                        "title": "Tylko ze zdjęciem",
                        "type": "boolean",
                        "description": "Pomiń ogłoszenia bez żadnego zdjęcia.",
                        "default": false
                    },
                    "postedWithin": {
                        "title": "Opublikowane w ciągu",
                        "enum": [
                            "all",
                            "24h",
                            "7d",
                            "30d"
                        ],
                        "type": "string",
                        "description": "Ogranicz do ogłoszeń dodanych w wybranym okresie.",
                        "default": "all"
                    },
                    "monitorNew": {
                        "title": "🔔 Monitoruj NOWE ogłoszenia (leadgen na świeżo)",
                        "type": "boolean",
                        "description": "Killer feature dla agencji: aktor pamięta, co już widział (per wyszukiwanie), i przy kolejnych uruchomieniach zwraca WYŁĄCZNIE nowe ogłoszenia. Pierwszy run buduje bazę. Ustaw harmonogram (co godzinę/dzień) w zakładce Schedules.",
                        "default": false
                    },
                    "detectPriceChanges": {
                        "title": "📉 Wykrywaj zmiany cen",
                        "type": "boolean",
                        "description": "W trybie monitoringu zwracaj również ogłoszenia, w których zmieniła się cena (z polem poprzedniej ceny). Idealne do wyłapywania obniżek.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Maks. liczba ogłoszeń na run",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Bezpiecznik kosztów, górny limit ogłoszeń przeskanowanych w jednym uruchomieniu.",
                        "default": 500
                    },
                    "uzyjProxy": {
                        "title": "Użyj proxy Apify (rotacja IP)",
                        "type": "boolean",
                        "description": "Domyślnie wyłączone. OLX działa najlepiej przy bezpośrednim połączeniu. Włącz tylko przy bardzo dużych wolumenach, jeśli pojawia się ograniczanie zapytań. Uwaga: proxy datacenter bywa blokowane przez OLX.",
                        "default": false
                    },
                    "searchUrls": {
                        "title": "🔧 Zaawansowane: URL-e wyszukiwania OLX",
                        "type": "array",
                        "description": "Dla power-userów. Wklej gotowe linki wyszukiwania z OLX.pl, jeśli podasz, NADPISUJĄ filtry z UI powyżej. Aktor odczyta z nich kategorię, lokalizację i wszystkie filtry automatycznie.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
