Otodom Scraper — Polish Real Estate Listings & Property Prices avatar

Otodom Scraper — Polish Real Estate Listings & Property Prices

Pricing

Pay per usage

Go to Apify Store
Otodom Scraper — Polish Real Estate Listings & Property Prices

Otodom Scraper — Polish Real Estate Listings & Property Prices

Scrape property listings, prices, photos, and details from Otodom.pl — Poland's largest real estate portal. Supports sale and rental listings.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

3 days ago

Last modified

Categories

Share

Otodom Scraper

Scrape property listings from Otodom.pl — Poland's largest real estate portal — with prices, locations, photos, and full property details for apartments, houses, plots, and commercial properties.

What is Otodom Scraper?

Otodom Scraper extracts structured real estate data from Otodom.pl, Poland's #1 property platform with over 200,000 active listings. Otodom is part of the OLX Group (Prosus/Naspers) and dominates the Polish real estate market for both sale and rental properties.

  • Monitor the Polish property market: track asking prices, listing volumes, and price-per-m2 trends across all 16 voivodeships and major cities (Warsaw, Krakow, Wroclaw, Gdansk, Poznan, Lodz, Katowice)
  • Generate real estate leads: extract agency names, contact details, and listing volumes to identify active agents and agencies in any Polish city
  • Build property datasets: collect comprehensive listing data including GPS coordinates, images, property specifications, and full descriptions for analysis or integration
  • Compare sale and rental markets: run separate scrapes for sale vs. rent to analyze yield potential and market dynamics by location
  • Track new developments: filter by primary market to monitor developer projects, pricing strategies, and inventory levels

The scraper uses Playwright (headless browser) to reliably handle Otodom's anti-bot protection and extracts structured data from the site's Next.js rendering pipeline.

What data does Otodom Scraper extract?

FieldTypeDescription
titleStringListing headline
priceNumberAsking price in PLN
currencyStringCurrency code (PLN)
listingTypeStringsale or rent
propertyTypeStringapartment, house, room, plot, commercial, warehouse, garage
addressStringFull address (street, district, city, province)
cityStringCity name
postalCodeStringPolish postal code
latitudeNumberGPS latitude
longitudeNumberGPS longitude
bedroomsNumberNumber of rooms
bathroomsNumberNumber of bathrooms (detail pages)
surfaceNumberLiving area in m2
landSurfaceNumberPlot/terrain area in m2
buildYearNumberYear of construction
imageUrlStringPrimary listing photo URL
imageUrlsArrayAll listing photo URLs
descriptionStringFull listing description text
agencyNameStringListing agency or seller name
agencyUrlStringAgency profile URL on Otodom
urlStringDirect link to the listing
scrapedAtStringISO timestamp of when the data was collected

Input

FieldTypeRequiredDescription
startUrlsArrayNoSpecific Otodom search or listing URLs to scrape
searchQueryStringNoFree-text search (e.g. 'balkon parking')
locationStringNoCity/region path (e.g. 'mazowieckie/warszawa'). Empty = all Poland
listingTypeStringNosale (default) or rent
propertyTypeStringNoapartment (default), house, room, plot, commercial, warehouse, garage
maxResultsIntegerNoMaximum listings to return (default: 100)
proxyConfigurationObjectNoProxy settings (Apify Proxy enabled by default)

Example output

{
"title": "Mieszkanie 3-pokojowe, Mokotow, 65m2",
"price": 850000,
"currency": "PLN",
"url": "https://www.otodom.pl/pl/oferta/mieszkanie-3-pokojowe-mokotow-65m2-ID4xAbC",
"scrapedAt": "2026-04-03T12:00:00.000Z",
"listingType": "sale",
"propertyType": "apartment",
"address": "Pulawska, Mokotow, Warszawa, mazowieckie",
"city": "Warszawa",
"postalCode": "02-508",
"latitude": 52.1935,
"longitude": 21.0370,
"bedrooms": 3,
"bathrooms": 1,
"surface": 65,
"landSurface": null,
"buildYear": 2018,
"imageUrl": "https://ireland.apollo.olxcdn.com/v1/files/...",
"imageUrls": [
"https://ireland.apollo.olxcdn.com/v1/files/...",
"https://ireland.apollo.olxcdn.com/v1/files/..."
],
"description": "Sprzedam przestronne mieszkanie 3-pokojowe na Mokotowie...",
"agencyName": "ABC Nieruchomosci",
"agencyUrl": "https://www.otodom.pl/pl/biuro/abc-nieruchomosci"
}

Cost estimate

This actor uses Playwright (headless browser), which consumes more compute than HTTP-only scrapers. Approximate costs:

  • ~100 listings: 0.05-0.10 USD (1 search page + pagination)
  • ~1,000 listings: 0.30-0.60 USD (28+ search pages)
  • ~5,000 listings: 1.50-3.00 USD (140+ search pages)

Costs depend on proxy type (datacenter vs. residential) and retry rate.

Tips for best results

  1. Use location filters to narrow results — scraping all of Poland produces huge result sets
  2. Residential proxies give the best success rate if you encounter blocks
  3. Start with a small maxResults (50-100) to validate your filters before running large scrapes
  4. Provide startUrls for maximum control — paste any Otodom search URL with your exact filters applied

Limitations

  • Otodom uses anti-bot protection; occasional retries may be needed
  • Bathroom count and build year are only available when visiting detail pages (not from search results alone)
  • Maximum ~10,000 results per run to stay within reasonable costs
  • Data is scraped from the public website and may change without notice