Otodom.pl Scraper - Polish Real Estate Data
Pricing
from $3.50 / 1,000 results
Otodom.pl Scraper - Polish Real Estate Data
Otodom.pl scraper & unofficial API alternative. Scrape Polish real estate listings without login and export property data to CSV or JSON.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
2
Monthly active users
7 days ago
Last modified
Categories
Share
Otodom.pl Scraper — Polish Real Estate Data, Prices & Leads (No API)

Scrape property listings from Otodom.pl, Poland's #1 real estate portal (OLX Group) with 200K+ active listings — apartments, houses, plots, commercial space, warehouses, garages and rooms, for sale or rent. Get price, price/m², GPS coordinates, full Polish address, agency name & image galleries in clean structured JSON, straight from the site's __NEXT_DATA__ payload. Fast, no browser, no API key, no login.
🏆 Why this Otodom scraper?
60+ fields per listing · thousands of listings per run · direct HTTP + JSON (no browser) · residential-proxy ready · export to JSON / CSV / Excel. The unofficial Otodom API alternative for real-estate market research, investment screening and lead generation.
✨ What this Actor does / Key features
- 🏠 7 property types — apartments, houses, plots/land, commercial, warehouses, garages and rooms, for sale or rent.
- 📍 Nationwide targeting — scrape all of Poland, any of the 16 voivodeships, cities or sub-districts via location slugs.
- 💰 Powerful filters — price range (PLN), area range (m²), room range, market (primary/secondary), owner type and distance radius.
- 🔀 Flexible sorting — by latest, price, price/m² or area, ascending or descending.
- 🗺️ Full address & GPS — province, city, district, subdistrict, street, postcode + latitude/longitude for every listing.
- 🏢 Agency lead data — agency name, ID, slug, logo and type, plus exclusivity, featured and promoted flags.
- 🖼️ Image galleries — main image URL plus the full list of image URLs and image count.
- ⚡ Direct HTTP + JSON extraction — parses Otodom's
__NEXT_DATA__payload; no browser, no DOM walking, no GraphQL token. - 🛡️ Proxy support — Apify Proxy integration; residential + country=PL strongly recommended to avoid blocks.
🚀 Quick start (3 steps)
- Configure — paste one or more location slugs (e.g.
mazowieckie/warszawa) and picksaleorrent. Add price/area/room filters if you want. - Run — click Start. The Actor paginates the search results and streams listings into your dataset.
- Get your data — open the Output tab and export to JSON, CSV, Excel or XML, or pull it via the Apify API.
📥 Input
Give the Actor at least one locationSlugs value. Everything else is optional.
Example — apartments for sale in Warsaw & Kraków
{"locationSlugs": ["mazowieckie/warszawa", "malopolskie/krakow"],"transaction": "sale","propertyType": "apartment","priceMin": 500000,"priceMax": 1500000,"areaMin": 40,"sort": "latest","maxListings": 500,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "PL" }}
Example — private-owner rentals nationwide (lead generation)
{"locationSlugs": ["cala-polska"],"transaction": "rent","propertyType": "apartment","ownerType": "PRIVATE","sort": "latest","maxListings": 1000}
Example — new-build developer offers in Wrocław
{"locationSlugs": ["dolnoslaskie/wroclaw"],"transaction": "sale","market": "PRIMARY","maxListings": 300}
| Field | Type | Description |
|---|---|---|
locationSlugs | array | Otodom URL location paths. Each slug becomes its own task (e.g. mazowieckie/warszawa, cala-polska). Required. |
transaction | string | sale (sprzedaż) or rent (wynajem). |
propertyType | string | apartment, house, plot, commercial, warehouse, garage or room. |
priceMin / priceMax | integer | Price range in PLN. 0 = no bound. |
areaMin / areaMax | integer | Surface area range in m². 0 = no bound. |
roomsMin / roomsMax | integer | Room-count range (1–10). 0 = no bound. |
market | string | ALL, PRIMARY (new build) or SECONDARY (resale). |
ownerType | string | ALL, PRIVATE or BUSINESS (agency). |
sort | string | latest, price_asc/desc, price_per_m_asc/desc, area_asc/desc. |
distanceRadius | integer | Expand to nearby areas: 0, 5, 10, 15, 25, 50 or 75 km. |
limit | integer | Listings per page: 24, 36, 48 or 72. |
maxListings | integer | Total cap across all location tasks. 0 = unlimited. |
maxPagesPerTask | integer | Pagination depth per location (Otodom caps around page 50). |
requestDelay | integer | Delay between page requests in ms (keep ≥ 600 ms). |
maxRetries | integer | Retries per request on HTTP errors (rotates proxy IP). |
proxyConfiguration | object | Apify Proxy settings. Residential + country=PL strongly recommended. |
Finding a location slug: browse otodom.pl, apply a location filter, and copy the path between
/wyniki/{txn}/{type}/and?from the URL. Usecala-polskafor all of Poland, a voivodeship slug likemazowieckie, or a deeper path likemazowieckie/warszawa.
📤 Output
One row per listing — 60+ fields, exportable to JSON, CSV, Excel or XML. Here is a trimmed sample record:
{"adId": 66412873,"detailUrl": "https://www.otodom.pl/pl/oferta/nowoczesne-2-pokoje-mokotow-ID4qXyZ","title": "Nowoczesne 2 pokoje | Mokotów | balkon","transactionType": "sale","propertyType": "apartment","advertType": "AGENCY","isPrivate": false,"market": "SECONDARY","price": 899000,"priceCurrency": "PLN","pricePerSqm": 16648,"monthlyRent": null,"areaSqm": 54,"rooms": 2,"floor": "FLOOR_3","totalFloors": 5,"province": "mazowieckie","city": "Warszawa","district": "Mokotów","street": "ul. Puławska","postalCode": "02-566","latitude": 52.1937,"longitude": 21.0246,"mainImageUrl": "https://ireland.apollo.olxcdn.com/v1/files/…/image.jpeg","imageUrls": ["https://…/1.jpeg", "https://…/2.jpeg", "…"],"imageCount": 14,"agencyName": "Premium Estate Sp. z o.o.","agencyId": 39215,"agencyType": "AGENCY","isExclusive": true,"dateCreated": "2026-07-02T09:14:00Z","labels": ["Wyróżnione"],"searchLocation": "mazowieckie/warszawa","scrapedAt": "2026-07-06T12:00:00Z"}
💡 Use cases
- Market research — build PLN/m² heatmaps by voivodeship, city and district.
- Investment screening — calculate rental yield (monthly rent vs. sale price) per area.
- Lead generation — use
ownerType: PRIVATEto find direct-owner listings, or cluster agency listings byagencyId. - Price tracking — re-run on a schedule and diff against prior datasets using
dateCreatedandpushedUpAt. - Primary-market monitoring — use
market: PRIMARYto track new developer offers. - Cross-city comparison — pass multiple
locationSlugsin one run to benchmark prices across Polish cities.
👥 Who uses it
Real-estate agencies & proptech teams · property investors & flippers · mortgage and valuation analysts · market researchers & data journalists · lead-gen agencies building owner/agency contact lists.
💰 Pricing
This Actor runs on a simple pay-per-result model — you pay for the listings you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.
❓ Frequently Asked Questions
Is it legal to scrape Otodom.pl? The Actor only collects publicly available property listing data. You are responsible for using the data in compliance with Otodom's terms and applicable laws such as GDPR.
Does Otodom.pl have a public API?
Otodom does not offer an open public data API for listings, so this Actor reads the site's own embedded __NEXT_DATA__ JSON instead — giving you structured Polish real estate data without any API key.
Do I need an API key or a login? No. There is no Otodom account, login or API key required — only an Apify account.
Do I need a proxy? Otodom deploys mild bot protection. Datacenter proxies often get blocked, so residential Apify Proxy with country=PL is strongly recommended; the Actor runs cleanly with it at a ≥600 ms request delay.
How much data can I get? You can scrape thousands of listings per run. Otodom caps pagination around page 50 (~3,600 listings per filter set), so narrow with price and area filters to reach deeper inventory across multiple locations.
Does it return rental czynsz separately?
Yes. For rental listings, the recurring monthly rent is returned in the monthlyRent field, separate from the main price.
Is this an Otodom API alternative?
Yes. Otodom has no open public listings API, so this Actor works as an unofficial Otodom API alternative — it reads the site's embedded __NEXT_DATA__ JSON and returns structured Polish real estate data with no API key.
Can I scrape Otodom without an API or login?
Yes. No Otodom account, login or API key is needed — only an Apify account. The Actor pulls publicly available property listings over direct HTTP.
How do I export Otodom data to CSV or JSON?
Run the Actor, then export the resulting dataset as CSV, JSON, Excel or XML from the Apify console or via the Apify API.
Can I calculate rental yield from Otodom data?
Yes. Scrape sale and rent listings for the same area: sale rows carry price and price/m², while rental rows carry monthlyRent, so you can compute gross rental yield per district.
🔗 More real estate scrapers by logiover
Building a cross-country property dataset? Pair Otodom with the rest of the European real-estate suite:
| Country | Actor |
|---|---|
| 🇪🇸 Spain | Habitaclia Scraper · Pisos.com Scraper |
| 🇨🇿 Czechia | Sreality.cz Scraper |
| 🇬🇷 Greece | Spitogatos Scraper |
| 🇮🇹 Italy | Casa.it Scraper · Subito Scraper |
| 🇩🇪 Germany | ImmobilienScout24 Scraper |
| 🇵🇹 Portugal | Imovirtual Scraper |
| 🇫🇷 France | Bien'ici Scraper |
| 🇷🇴 Romania | Storia.ro Scraper |
| 🇳🇱 Netherlands | Funda Scraper |
| 🇮🇪 Ireland | Daft.ie Scraper · MyHome.ie Scraper |
| 🇩🇰 Denmark | Boliga Scraper |
| 🇧🇬 Bulgaria | Imot.bg Scraper |
👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media and B2B data.
⏰ Scheduling & integration
Schedule this Actor on Apify to track the Polish property market daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated real-estate pipelines.
⭐ Support & feedback
Found a bug or need an extra field? Open an issue on the Issues tab — response is usually fast. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏
⚖️ Legal
This Actor extracts only publicly available data and is intended for legitimate research, analytics and lead-generation use. You are responsible for complying with Otodom's terms of service, GDPR and any applicable local laws.
📝 Changelog
2026-07-06
- ✨ README overhaul: richer output sample, ready-to-run example scenarios, cross-country real-estate suite links, and clearer quick-start.
2026-07-01
- Maintenance pass: re-verified end-to-end on live data within the 5-minute quality window; sharpened Store SEO metadata and expanded the FAQ with high-intent long-tail questions.
2026-06-05
- 🛡️ Reliability fix: results are no longer dropped by strict output validation — runs complete cleanly even at high volume (thousands of results).
2026-06-01
- Maintenance & reliability pass: rebuilt on the current base image; build verified.