Otodom Commercial Scraper - Offices, Warehouses & Plots
Pricing
from $20.00 / 1,000 result scrapeds
Otodom Commercial Scraper - Offices, Warehouses & Plots
Scrape commercial real estate from Otodom.pl: commercial premises (lokale użytkowe), offices, retail units, warehouses and plots for sale or rent across Poland. Prices, price per m2, surfaces, locations and agency details.
Pricing
from $20.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Otodom Commercial Scraper
Extract commercial real estate listings from Otodom.pl, Poland's largest property portal. This scraper covers the commercial branches of the site: lokale użytkowe (commercial premises), biura (offices), lokale handlowo-usługowe (retail and service units), hale i magazyny (warehouses and industrial halls) and działki (plots of land, a common investment category in Poland).
For each listing you get the price, price per square meter, surface, location down to district level, agency details and photos, as structured JSON.
What data does it extract?
| Field | Description |
|---|---|
| title | Listing title |
| segment | Commercial segment: premises, office, retail, warehouse, plot |
| propertyType | Otodom category slug: lokal, haleimagazyny, dzialka |
| listingType | sale or rent |
| price | Price in PLN. Null when the advertiser hides it (price on application) |
| currency | PLN |
| priceUnit | What the price means: PLN/miesiąc for rent (total per month), PLN for sale |
| pricePerSqm | Price per square meter where quoted |
| pricePerSqmUnit | PLN/m2/miesiąc for rent, PLN/m2 for sale |
| additionalRent | Additional monthly charge (czynsz) where quoted |
| priceHidden | True when the price is on application |
| surface | Area in m2 (plot area for działki) |
| terrainSurface | Separate land area in m2 where quoted |
| floor | Floor code as reported by Otodom (GROUND, SECOND, ...) |
| street, city, district, province | Location, down to district level |
| latitude, longitude | GPS coordinates (detail pages) |
| imageUrl, imageUrls | Listing photos |
| agencyName, agencyUrl | Listing agency |
| isPrivateOwner | True for private (non-agency) listings |
| datePublished | First publication date |
| url | Full listing URL |
| source, scrapedAt | Provenance |
A note on prices: hidden prices are normal in commercial real estate. When an advertiser quotes no price, the scraper reports price: null and priceHidden: true. It never invents a number.
How to scrape Otodom commercial real estate data
- Set Search Location to a Polish city or region, for example
Warszawa,KrakóworTrójmiasto. The scraper resolves the name through Otodom's own location search, so results are scoped to that place, not a free-text match. - Pick a Segment:
premises— all lokale użytkowe (about 7,800 listings countrywide)office— offices (biura), a use-type filter within premisesretail— retail and service units (handlowo-usługowe)warehouse— hale i magazynyplot— działki (land)
- Pick a Listing Type:
rent(wynajem) orsale(sprzedaż). - Set Max Results and run. Results land in the dataset as structured JSON and can be exported as JSON, CSV or Excel.
You can also paste Otodom URLs directly into Start URLs — both search-result pages and individual listing pages work. Start URLs override the search inputs.
Example: offices for rent in Warsaw
{"searchQuery": "Warszawa","segment": "office","listingType": "rent","maxResults": 100}
Example: plots for sale in Kraków
{"searchQuery": "Kraków","segment": "plot","listingType": "sale","maxResults": 200}
Example output item
{"title": "Lokal użytkowy 32 m² w Ursusie","segment": "premises","propertyType": "lokal","listingType": "rent","price": 2400,"currency": "PLN","priceUnit": "PLN/miesiąc","pricePerSqm": 75,"pricePerSqmUnit": "PLN/m2/miesiąc","additionalRent": null,"priceHidden": false,"surface": 32,"terrainSurface": null,"floor": "SECOND","street": "ul. Gilarska","city": "Warszawa","district": "Targówek","province": "mazowieckie","agencyName": "Example Nieruchomości","url": "https://www.otodom.pl/pl/oferta/lokal-uzytkowy-32-m-w-ursusie-ID4CdXf","source": "otodom.pl","scrapedAt": "2026-08-18T14:00:00.000Z"}
Who is this for?
- Investors and analysts tracking commercial rents and land prices per city or district
- Brokers and agencies monitoring competing supply in a market
- Proptech and data teams feeding Polish commercial supply into models and dashboards
- Site-selection teams comparing retail and office availability across locations
Plots (działki) deserve a mention: land is a mainstream investment asset in Poland, and this scraper returns plot listings with price per m2, which makes cross-city comparisons straightforward.
Cost of usage
Pricing is per result: you pay a small fixed amount per listing extracted, plus a small actor-start fee. A run of 100 listings typically completes in a few minutes. The scraper uses a real browser with Polish residential proxies (Otodom sits behind Cloudflare), which is included in the per-result price.
One thing to know: a run's usage cost only settles after the run has SUCCEEDED. Failed runs are not charged per result.
Tips
- Keep the default proxy settings (Polish RESIDENTIAL). Otodom blocks datacenter IPs.
premisesis the widest segment; useofficeorretailwhen you want the use-type filter applied server-side instead of filtering afterwards.- The scraper reads Otodom's embedded JSON payloads, not the rendered HTML, so fields arrive typed and stable.
- District-level filtering: pass a district name as the location (for example
Mokotów) — Otodom's location search resolves districts too. - For monitoring, schedule the actor and dedupe on
urldownstream;datePublishedtells you what is new.
Limitations
- Coordinates are only available when scraping listing detail URLs; search results carry location names without GPS.
- Otodom quotes commercial rents as total PLN per month. Per-m2 rents appear in
pricePerSqmwhere the advertiser provides the surface. - The
maxResultscap is a hard stop; the run finishes as soon as the cap is reached.
Is scraping Otodom.pl legal?
This scraper extracts publicly available listing data only. It collects no personal data beyond the agency name the advertiser publishes with the listing. You are responsible for how you use the data; check Otodom's terms of service and applicable law for your use case.
Support
Found an issue or missing a field? Open an issue on the actor's Issues tab and it will be looked at quickly.