Otodom.pl Scraper | 2$/1k
Pricing
$2.00 / 1,000 results
Otodom.pl Scraper | 2$/1k
Scrape Otodom.pl listings with 30+ fields: price, area, rooms, location, GPS, seller info. Supports sale & rent for apartments, houses, plots. No browser needed.
Pricing
$2.00 / 1,000 results
Rating
0.0
(0)
Developer
Paweł
Maintained by CommunityActor stats
5
Bookmarked
150
Total users
41
Monthly active users
14 days ago
Last modified
Categories
Share
Otodom.pl Real Estate Scraper
Fast and efficient Apify Actor that scrapes property listings from Otodom.pl - Poland's largest real estate portal. Extracts comprehensive property data including prices, locations, areas, rooms, building details, seller information, and more.
Features
- Scrapes sale and rent listings for apartments, houses, plots, commercial properties, warehouses, and garages
- Supports both listing pages (search results) and property detail pages
- 30+ data fields per property including price, area, rooms, floor, building type, heating, parking, and more
- Full location data with city, district, street, province, and GPS coordinates
- Seller/agency information with name, phone, and license number
- Image URLs extraction
- Pagination with configurable
maxItemslimit - Proxy support with session pool rotation
- Configurable search filters: price range, area range, rooms, market type, build year
- Deduplication using URL-based tracking
- Two modes: fast listing-only or detailed (visits each property page)
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | [] | Direct Otodom.pl URLs to scrape (search or detail pages) |
searchType | string | sprzedaz | Search type: sprzedaz (sale) or wynajem (rent) |
propertyType | string | mieszkanie | Property type: mieszkanie, dom, dzialka, lokal, haleimagazyny, garaz |
location | string | "" | Path copied from an Otodom URL, e.g. mazowieckie/warszawa/warszawa/warszawa; a bare city name (warszawa) is a 404 |
districts | array | [] | Districts of the city in location, e.g. ["Mokotów", "Wola"]; several run as one search sharing maxItems; an unknown name 404s the whole search |
priceMin | integer | - | Minimum price in PLN |
priceMax | integer | - | Maximum price in PLN |
areaMin | integer | - | Minimum area in m2 |
areaMax | integer | - | Maximum area in m2 |
roomsMin | integer | - | Minimum number of rooms |
roomsMax | integer | - | Maximum number of rooms |
buildYear | integer | - | Minimum construction year |
market | string | ALL | Market type: ALL, PRIMARY, SECONDARY |
postedDate | string | "" | Posted within last N days: 1, 3, 7, 14 (empty = any time) |
maxItems | integer | 50 | Maximum properties to scrape (0 = unlimited) |
extractDetails | boolean | true | Visit each property page for full details |
maxConcurrency | integer | 5 | Max parallel requests |
maxRequestRetries | integer | 3 | Max retries per request |
maxRequestsPerMinute | integer | 60 | Rate limit |
proxyConfiguration | object | - | Proxy settings |
Output Fields
Listing Mode (extractDetails: false) - Fast
Basic property data extracted from search result pages:
| Field | Type | Description |
|---|---|---|
id | string | Otodom internal property ID |
title | string | Property listing title |
price | number | Price in PLN |
priceCurrency | string | Currency code (PLN) |
priceFormatted | string | Formatted price with currency |
pricePerM2 | number | Price per square meter |
pricePerM2Formatted | string | Formatted price per m2 |
area | number | Area in square meters |
rooms | number | Number of rooms |
floor | string | Floor number |
totalFloors | number | Total floors in building |
market | string | Market type (PRIMARY/SECONDARY) |
location | string | Full location string |
city | string | City name |
province | string | Province (voivodeship) |
district | string | District name |
street | string | Street name |
latitude | number | GPS latitude |
longitude | number | GPS longitude |
mainImage | string | Main image URL |
imageCount | number | Number of images |
sellerType | string | Seller type (agency/private) |
agencyName | string | Agency name |
dateCreated | string | Listing creation date |
propertyUrl | string | Direct URL to property |
scrapedAt | string | Scraping timestamp |
Detail Mode (extractDetails: true) - Comprehensive
All listing fields above, plus:
| Field | Type | Description |
|---|---|---|
rentPrice | number | Monthly rent (for rental listings) |
buildingType | string | Building type (block, tenement, etc.) |
buildingMaterial | string | Construction material |
buildYear | number | Year of construction |
heating | string | Heating type |
ownershipType | string | Ownership form |
condition | string | Property condition |
parkingType | string | Parking availability |
elevator | string | Elevator availability |
windowsType | string | Window type |
subdistrict | string | Subdistrict name |
description | string | Full property description |
features | array | Property features and amenities |
additionalFeatures | array | Additional property information |
images | array | All image URLs |
agencyLicenseNumber | string | Agency license number |
agencyUrl | string | Agency profile URL |
sellerPhone | string | Seller phone number |
Example Output
{"id": "12345678","title": "Mieszkanie 3-pokojowe, Mokotow, 65 m2","price": 850000,"priceCurrency": "PLN","priceFormatted": "850 000 PLN","pricePerM2": 13077,"pricePerM2Formatted": "13 077 PLN/m2","area": 65,"rooms": 3,"floor": "4","totalFloors": 10,"buildingType": "blok","buildingMaterial": "cegla","market": "SECONDARY","buildYear": 2015,"heating": "miejskie","ownershipType": "pelna wlasnosc","condition": "do zamieszkania","parkingType": "garaz podziemny","elevator": "tak","windowsType": "plastikowe","location": "Warszawa, Mokotow, ul. Pulawska","city": "Warszawa","province": "mazowieckie","district": "Mokotow","subdistrict": "Stary Mokotow","street": "Pulawska","latitude": 52.1935,"longitude": 21.0035,"description": "Oferuje do sprzedazy piekne 3-pokojowe mieszkanie...","features": ["balkon", "piwnica", "winda", "monitoring"],"additionalFeatures": ["Media: internet, telewizja kablowa"],"images": ["https://ireland.apollo.olxcdn.com/v1/files/abc123/image;s=1280x1024","https://ireland.apollo.olxcdn.com/v1/files/def456/image;s=1280x1024"],"imageCount": 15,"mainImage": "https://ireland.apollo.olxcdn.com/v1/files/abc123/image;s=1280x1024","sellerType": "agency","agencyName": "ABC Nieruchomosci","agencyId": "98765","agencyLicenseNumber": "1234","agencyUrl": "https://www.otodom.pl/biuro/abc-nieruchomosci-98765","sellerPhone": "+48123456789","dateCreated": "2026-03-10T10:30:00Z","dateModified": "2026-03-14T15:45:00Z","isPromoted": false,"isExclusiveOffer": false,"isPremium": false,"propertyUrl": "https://www.otodom.pl/pl/oferta/mieszkanie-3-pokojowe-mokotow-65-m2-ID12345678","scrapedAt": "2026-03-16T12:00:00Z"}
Usage Examples
Search for apartments for sale in Warsaw
{"searchType": "sprzedaz","propertyType": "mieszkanie","location": "mazowieckie/warszawa","priceMax": 1000000,"roomsMin": 2,"maxItems": 100,"extractDetails": true}
Only selected districts of Warsaw
{"searchType": "sprzedaz","propertyType": "mieszkanie","location": "mazowieckie/warszawa/warszawa/warszawa","districts": ["Mokotów", "Praga-Południe"],"maxItems": 100}
District names are matched without Polish diacritics or case. All districts go into one Otodom search, so results come from all of them rather than the first one filling maxItems. An entry containing / is used as a full Otodom location path.
Scrape rental listings in Krakow
{"searchType": "wynajem","propertyType": "mieszkanie","location": "malopolskie/krakow","priceMax": 4000,"maxItems": 50,"extractDetails": true}
Fast listing-only scrape (no detail pages)
{"searchType": "sprzedaz","propertyType": "mieszkanie","location": "mazowieckie/warszawa","maxItems": 500,"extractDetails": false,"maxConcurrency": 10}
Scrape specific URLs
{"startUrls": ["https://www.otodom.pl/pl/wyniki/sprzedaz/mieszkanie/mazowieckie/warszawa?priceMax=800000","https://www.otodom.pl/pl/oferta/mieszkanie-2-pokojowe-mokotow-ID12345"],"maxItems": 200,"extractDetails": true}
Houses on secondary market
{"searchType": "sprzedaz","propertyType": "dom","location": "mazowieckie","market": "SECONDARY","areaMin": 100,"priceMax": 2000000,"maxItems": 100}
URL Structure
Otodom.pl follows this URL pattern:
https://www.otodom.pl/pl/wyniki/{searchType}/{propertyType}/{voivodeship}/{city}?filters
- Search types:
sprzedaz(sale),wynajem(rent) - Property types:
mieszkanie,dom,dzialka,lokal,haleimagazyny,garaz - Detail pages:
https://www.otodom.pl/pl/oferta/{slug}