# OLX Real Estate Scraper Poland – Mieszkania, Domy, Działki (`flarewow/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.

- **URL**: https://apify.com/flarewow/olx-nieruchomosci-pl.md
- **Developed by:** [FlareWOW](https://apify.com/flarewow) (community)
- **Categories:** Real estate, Lead generation, MCP servers
- **Stats:** 24 total users, 5 monthly users, 100.0% runs succeeded, 1 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# 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).

### Przykładowe dane wejściowe

```json
{
  "city": "Warszawa"
}
```

Wszystkie pola są opisane w zakładce **Input**.

### Integracje i API

- **API**: uruchamiaj aktora i pobieraj wyniki przez [Apify API](https://docs.apify.com/api/v2) (Python, JavaScript, cURL).
- **Make, Zapier, n8n, Google Sheets, Slack, webhooki**: wysyłaj wyniki automatycznie dalej.
- **AI**: używaj aktora z Claude, ChatGPT lub Cursor przez [Apify MCP server](https://mcp.apify.com).

### FAQ

**Czy to legalne?** Aktor pobiera wyłącznie publicznie dostępne dane. Dane osobowe przetwarzaj zgodnie z RODO.

**Coś nie działa?** Zgłoś problem w zakładce **Issues** i podaj ID uruchomienia – zwykle poprawiamy w ciągu doby.

### Więcej narzędzi

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

***

### 🌐 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. More scrapers: apify.com/liveclaude.

# 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("flarewow/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("flarewow/olx-nieruchomosci-pl").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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 flarewow/olx-nieruchomosci-pl --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,flarewow/olx-nieruchomosci-pl"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/naLolkSveLb5vNfxk/builds/STM2JY8WwbY1SN2ck/openapi.json
