Otodom Poland Real Estate Listings & Agent Contacts Scraper
Scrape Otodom Poland property listings for sale or rent with price in PLN, price per m2, area, rooms, floor, district and city, geo coordinates and the advertiser agency, agent name and phone. Filter by transaction, property type and location. Export to JSON, CSV or Excel.
{ "id": 68079271, "title": "36 m²/ 2 pokoje/ ogródek 34 m² - gotowe do zam…", "transaction": "sprzedaz", "propertyType": "apartment", "price": 599000, "priceCurrency": "PLN", "rentPrice": 650, "pricePerM2": 16638.89, "area": 36 }
Every run returns clean, typed records, ready for your CRM, spreadsheet or database.
- One clean record per result, deduped and normalized
- Stable schema in JSON, CSV or Excel, or read it via the Apify API
- Pay per use in the cloud, nothing to install or maintain
A real example record, exactly the shape you receive.
| Id | Title | Transaction | Property Type |
|---|---|---|---|
| 68079271 | 36 m²/ 2 pokoje/ ogródek 34 m² - … | sprzedaz | apartment |
| 66348349 | 3-pokojowe mieszkanie 55m2 + balk… | sprzedaz | apartment |
| 68195561 | Bohdanowicza Os. Oświata _Ochota_… | sprzedaz | apartment |
| 66343233 | 2-pokojowe mieszkanie 39m2 + balk… | sprzedaz | apartment |
{ "id": 68079271, "title": "36 m²/ 2 pokoje/ ogródek 34 m² - gotowe do zam…", "transaction": "sprzedaz", "propertyType": "apartment", "price": 599000, "priceCurrency": "PLN", "rentPrice": 650, "pricePerM2": 16638.89, "area": 36 }
Frequently asked questions
How do I target a specific city or district?
Use the location slug. It follows province, county, commune, city and optionally a district, for example `mazowieckie/warszawa/warszawa/warszawa/mokotow`. You can also pass just a province like `mazowieckie` for a wider search.
Do I get the agent phone number?
Yes. With enrichment on, each record includes the advertiser phone, the agent phone and the agency phone where the listing exposes them, plus the agency name and address.
Can I scrape rentals as well as sales?
Yes. Set the transaction to wynajem for rentals or sprzedaz for sales. The rent price is captured separately for rental listings.
How fresh is the data?
Listings are read live at run time, so each record reflects what is published at the moment of the run (see observedAt).
Ready when you are.
Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.