Otodom Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
Otodom Scraper (Cheap)
Otodom property scraper that extracts detailed real estate listings, prices, and high-resolution images, giving you structured market data without the hassle of manual copying.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Otodom Property Scraper

Watching the Polish housing market usually means clicking through otodom.pl and copying details off one advert at a time: price, area, location, agency. This scraper does it for you. Paste an otodom.pl search URL and every listing comes back as a clean row, with the price, size, location, and photos already split into fields and ready for a spreadsheet or a model. It is fast, cheap, and code-free, and you only pay for what you scrape.
What you get
Each listing comes back as one row with three kinds of data:
- Identity and link —
listingId,listingTitle,listingUrl,propertyKind,dealType - Price and size —
priceValue,currencyCode,pricePerSqm,areaSqm,roomCount,floorLevel - Detail and context —
publishedAt,summary,locationDetails,imageLinks,agencyTitle,featureTags
Quick start
- Open otodom.pl, set your filters (city, price, rooms), and copy the URL from the address bar.
- Hit Try for free and paste that URL into Search URLs.
- Set a Results limit to control how many listings you pull per URL.
- Press Start, then export the results as JSON, CSV, Excel, or XML.

Use cases
- Price tracking — follow asking prices and price per m² across Warsaw, Krakow, or Gdansk
- Investment sourcing — gather for-sale or rental stock to score against your buy criteria
- Agency monitoring — see which agencies list what, where, and at what price
- Market dashboards — feed live otodom.pl data into your own sheet, BI tool, or app
- Dataset building — collect photos and descriptions for valuation or research models
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchUrls | array of objects | Yes | otodom.pl search URLs to scrape; each one runs with full pagination. Prefilled with a Warsaw for-sale search. |
resultsLimit | integer | No | How many listings to pull per search URL. Default 50. |
timeoutSeconds | integer | No | Seconds to wait on each request before it times out. Default 45. |
Example input
{"searchUrls": [{"url": "https://www.otodom.pl/pl/wyniki/sprzedaz/mieszkanie/mazowieckie/warszawa/warszawa/warszawa?limit=36"}],"resultsLimit": 50,"timeoutSeconds": 45}
Output
Every listing on the search results becomes one row, paginated automatically up to your limit. Fields that otodom.pl does not publish for a given advert come back absent rather than guessed.
Example output
{"listingId": 55325476,"listingTitle": "MIESZKANIE Z WIDOKIEM NA PARK KASPROWICZA","listingUrl": "https://www.otodom.pl/pl/oferta/mieszkanie-z-widokiem-na-park-kasprowicza-ID3K8Go","propertyKind": "FLAT","dealType": "RENT","priceValue": 3600,"currencyCode": "PLN","pricePerSqm": 37,"areaSqm": 96.12,"roomCount": "THREE","floorLevel": "FOURTH","publishedAt": "2026-05-29 10:41:13","summary": "Oferuję do wynajęcia przestronne mieszkanie o powierzchni 96,12 m². Znajduje się na 4. piętrze w kamienicy z cegły, w bardzo dobrym stanie.","locationDetails": {"address": {"street": { "name": "ul. Juliusza Słowackiego", "number": "" },"city": { "name": "Szczecin" },"province": { "name": "zachodniopomorskie" }}},"imageLinks": ["https://ireland.apollo.olxcdn.com/v1/files/example-1/image;s=1280x1024;q=80","https://ireland.apollo.olxcdn.com/v1/files/example-2/image;s=1280x1024;q=80"],"agencyTitle": null,"featureTags": ["AIR_CONDITIONING","TOP_FLOOR","SECURE_BUILDING"]}
Output fields
| Field | Type | Description |
|---|---|---|
listingId | integer | Otodom identifier for the advert |
listingTitle | string | Headline the advertiser gave the listing |
listingUrl | string | Direct link to the advert on otodom.pl |
propertyKind | string | Category of real estate, e.g. FLAT or HOUSE |
dealType | string | RENT or SELL |
priceValue | number | Full asking price as a number |
currencyCode | string | Currency the price is quoted in, usually PLN |
pricePerSqm | number | Worked-out price per square metre |
areaSqm | number | Floor area in square metres |
roomCount | string | How many rooms the property has |
floorLevel | string | Which floor the property sits on |
publishedAt | string | Date and time the advert went live |
summary | string | Short blurb describing the property |
locationDetails | object | Nested location data: city, province, street |
imageLinks | array | URLs of the listing photos |
agencyTitle | string | Name of the estate agency, when there is one |
featureTags | array | Amenity and feature labels on the listing |
Tips for best results
- Filter on otodom.pl first. The tighter your search URL (city, price band, property type), the cleaner your dataset.
- Use
resultsLimitfor test runs. Start with 50 to confirm the output fits your pipeline, then raise it for the full pull. - Both rent and sale work. A sprzedaz URL returns for-sale stock and a wynajem URL returns rentals;
dealTypetells them apart. - Some fields are sparse. Private sellers leave
agencyTitleempty and a few adverts skip the floor or price; those rows still carry everything else. - Raise
timeoutSecondsif you see timeouts on broad searches that page through many results.
How can I use Otodom property data?
How can I use the Otodom Property Scraper to track Polish house prices?
Paste an otodom.pl search URL for your target city and run it on a schedule. Each row carries priceValue, pricePerSqm, listingTitle, and publishedAt, so you can chart asking prices over time and spot fresh adverts the day they land.
How can I compare Otodom neighbourhoods by price per square metre?
Pull listings for several areas, then read pricePerSqm straight off each row. With areaSqm, roomCount, and locationDetails alongside, you get a side-by-side view of where the value sits.
How can I build a Poland real estate dataset for investment research?
Feed in one or more search URLs, set resultsLimit to the volume you need, and export to CSV or Excel. The result is a structured property database (title, price, area, location, photos, agency) you can score against your own criteria.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.