🇵🇱 Otodom Poland Scraper | Property Prices
Pricing
$3.00 / 1,000 property scrapeds
🇵🇱 Otodom Poland Scraper | Property Prices
Scrape Otodom.pl apartment listings, real estate prices, rent costs, location data, and agency contacts across Poland. Fast Polish property market scraper.
Pricing
$3.00 / 1,000 property scrapeds
Rating
0.0
(0)
Developer
Alexandru Afanasiuc
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Otodom.pl Scraper — Poland Apartments, Houses, Prices & Agencies
Extract structured property listings from Otodom.pl, Poland's largest real-estate portal. Choose sale or rental, pick a property type and a city (or all of Poland), and get clean JSON/CSV with prices, price per m², areas, rooms, locations, agencies and photo URLs.
Why use this scraper
- Verified location filter — a city Otodom does not recognise returns zero rows (hard 404 check, no fallback to the national feed). You are never billed for listings you did not ask for.
- Price per m² included — the field Polish property analysis actually runs on, extracted per listing.
- Sale and rental —
sprzedazorwynajem, same schema either way. - Agency vs private —
agencyisnullon private listings, so separating the two is one filter. - Photos included — image URLs per listing, ready for previews or ML datasets.
- Pure HTTP — no browser, fast and cheap.
What data you get
{"id": "65432100","title": "Mieszkanie 3-pokojowe, Mokotów","url": "https://www.otodom.pl/pl/oferta/mieszkanie-3-pokojowe-mokotow-ID4abc","transaction": "SELL","estateType": "FLAT","price": { "value": 899000, "currency": "PLN" },"pricePerM2": { "value": 14983, "currency": "PLN" },"areaInM2": 60,"rooms": "THREE","floor": "FLOOR_2","location": {"street": "ul. Puławska","city": "Warszawa","province": "mazowieckie","fullAddress": "Warszawa, Mokotów, ul. Puławska"},"agency": { "name": "Example Nieruchomości", "url": "https://www.otodom.pl/pl/agencje/example" },"images": ["https://ireland.apollo.olxcdn.com/v1/files/..."],"shortDescription": "Jasne mieszkanie po remoncie...","dateCreated": "2026-08-01 10:22:15","scrapedAt": "2026-08-11T10:00:00.000Z"}
Fields the listing does not include are null — this Actor never invents data. price is null on "ask for price" listings, exactly as the portal shows them.
How to run it
- Pick
transaction:sprzedaz(sale) orwynajem(rental). - Pick
propertyType:mieszkanie,dom,dzialkaorlokal. - Set
locationto a city slug (warszawa,krakow,gdansk...) or keepcala-polskafor country-wide. - Click Start and export the dataset as JSON, CSV or Excel.
Works out of the box: the default input (apartments for sale, all Poland, 100 items) runs successfully with no changes.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
transaction | string | sprzedaz | sprzedaz (sale) or wynajem (rent). |
propertyType | string | mieszkanie | mieszkanie, dom, dzialka, lokal. |
location | string | cala-polska | City/region slug as used in Otodom URLs. |
maxItems | integer | 100 | Cap on returned listings. |
Pricing
$3.00 per 1,000 listings (pay per event, no subscription). Examples:
- 100 listings → $0.30
- 500 listings → $1.50
- Zero results (unrecognised location) → $0.00.
Use cases
- Price monitoring — track asking prices and PLN/m² by district, weekly.
- Investment screening — filter by price per m² against the city median to spot underpriced listings.
- Market research — measure supply per city, property type and agency.
- Lead generation for agencies — private listings (
agency: null) are potential clients. - AI agents — call this Actor as a tool through the Apify MCP server.
Limitations
- Returns what Otodom publishes on the results feed; visiting each listing page for full descriptions is out of scope.
locationmust be an Otodom URL slug (lowercase, hyphens:nowy-sacz, notNowy Sącz).- "Ask for price" listings have
price: null— that is the portal's data, not a gap in the scraper.
FAQ
How do I scrape Otodom without coding? Run this Actor from the Apify Console — pick transaction, type and city, press Start, export CSV.
Does it cover rentals?
Yes — set transaction: "wynajem".
What happens on a typo'd city? Zero rows, zero cost. The location check is a hard 404 — there is no silent fallback to all-Poland results.
Can I schedule daily price tracking? Yes — use Apify Schedules and export to Google Sheets, or read the dataset from the API.
Related Actors
- Pracuj.pl Scraper — Poland's largest job board
- StepStone NL/BE/AT/UK Scraper — four job markets, one input
- eJobs.ro Scraper — Romania's largest job board
If this Actor saved you time, a short review on its Store page helps other people find it. If something looks wrong, open an issue on the Issues tab — issues get answered.