Otodom.pl Scraper avatar

Otodom.pl Scraper

Pricing

from $0.95 / 1,000 results

Go to Apify Store
Otodom.pl Scraper

Otodom.pl Scraper

[💰 $0.95 / 1K] Extract real-estate listings from Otodom.pl. Get prices, area, rooms, addresses, photos, agent contacts, and full descriptions for apartments, houses, plots, and commercial properties — both for sale and for rent — across Poland.

Pricing

from $0.95 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

11 days ago

Last modified

Share

Pull real-estate listings from Otodom.pl — Poland's largest property portal — at scale, with prices in PLN, GPS coordinates, full image galleries, and listing-agent phone numbers on every row. Cover all 32 major Polish cities plus an all-of-Poland sweep, across apartments, houses, studios, rooms, plots, garages, commercial premises, halls/warehouses, and new-build investments — for sale or for rent. Built for lead-generation agencies prospecting Polish real-estate agents, expat and international buyers researching Warszawa or Kraków apartment prices, and market analysts tracking price-per-m² trends without wrestling with Otodom's filter URLs or stitching paginated results by hand.

Why This Scraper?

  • Lead-generation ready — every listing returns the seller's phone number in plaintext E.164 format (e.g. +48573582897), plus agency name and Otodom agency URL. Typical population rate is 90%+ across active sale and rent listings.
  • 9 property types in one actor — Apartment (Mieszkanie), Studio (Kawalerka), House (Dom), Room (Pokój), Plot/Land (Działka), Commercial premises (Lokal użytkowy), Hall/Warehouse (Hala/magazyn), Garage (Garaż), and Investment (Inwestycja — new-build developments). Flip a single dropdown to switch.
  • 32 Polish cities covered out of the box — from Warszawa, Kraków, Wrocław, Gdańsk, Poznań, and Łódź down to Płock, Elbląg, and Bytom, plus an all-of-Poland (cała Polska) sweep when you want everything in one run.
  • GPS coordinates + voivodeship → district hierarchy on every detail page — latitude, longitude, postal code, voivodeship, county, city, district, and street arrive map-ready, no separate geocoding step.
  • Up to ~30 photos per listing pulled at full resolution — straight from the source CDN at 1280×1024, not thumbnail crops.
  • Multi-room selection — pick exactly the room counts you want (e.g. 2 + 3 + 4) instead of an awkward "minimum 2 rooms" range filter. Six options including a "6 or more" bucket.
  • Primary vs secondary market filter — split new-build developer listings from resale stock with one dropdown, then sort by lowest price-per-m² to surface undervalued primary launches.
  • PLN-native pricing throughoutprice and pricePerSquareMeter are computed and exposed as separate fields. No currency conversion guesswork; price-per-m² is ready to sort, filter, and chart.
  • Build-year filtering with min/max — bracket your search to e.g. 2010–2024 for newer construction, or 1900–1939 for pre-war Warszawa townhouses. Pairs naturally with apartments and houses.

Use Cases

Lead Generation for Polish Real Estate

  • Build call lists of listing agents and developers — name, mobile phone, agency, agency profile URL
  • Target by city, property type, and price band to focus outreach
  • Identify new-build developers (primary market) actively selling inventory
  • Pull every active rental agent in Warszawa, Kraków, or Wrocław for a single SMS or call campaign

Market Research & Price Analysis

  • Track median and percentile price-per-m² across the 32 covered cities
  • Compare apartment pricing in Warszawa vs Kraków vs Wrocław over time
  • Map inventory levels by voivodeship, county, and district
  • Separate primary (new-build) from secondary (resale) market pricing to measure premium

Investment & Underwriting

  • Sort by lowest price-per-m² to surface undervalued listings in a target district
  • Filter by build year (2010+) to focus on newer construction with lower capex
  • Pull rental yields by combining for-sale and for-rent runs on the same district
  • Identify investment developments (Inwestycja) for buy-to-let or off-plan strategies

Relocation & Expat Search

  • Search Warszawa, Kraków, Gdańsk, or Wrocław by district and price band
  • Pre-filter by build year, room count, and area before reaching out
  • Compare rentals across multiple cities with one run for relocation decisions
  • Collect photos and full descriptions to shortlist before scheduling viewings

Listings Aggregation & Competitor Tracking

  • Feed real-time Otodom inventory into a property portal or comparison site
  • Monitor competitors' developer projects (primary listings) launching new buildings
  • Track price changes by re-running and diffing against your last dataset
  • Power Polish-market dashboards with structured, deduplicated rows

Getting Started

Simple — All Apartments for Sale in Warszawa

Just a city and a deal type:

{
"location": "Warszawa",
"dealType": "sale",
"propertyType": "apartment",
"maxResults": 100
}

Filtered — Two- and Three-Room Kraków Apartments, 300–800k PLN

{
"location": "Kraków",
"dealType": "sale",
"propertyType": "apartment",
"rooms": ["2", "3"],
"priceMin": 300000,
"priceMax": 800000,
"maxResults": 500
}

Advanced — New-Build Wrocław Apartments Built Since 2018, Cheapest €/m² First

{
"location": "Wrocław",
"dealType": "sale",
"propertyType": "apartment",
"marketType": "primary",
"buildYearMin": 2018,
"buildYearMax": 2026,
"areaMin": 40,
"areaMax": 90,
"sortBy": "price_lowest",
"radius": "10",
"maxResults": 1000
}

Power-User — Paste an Otodom Search URL Directly

Skip the guided fields and use a pre-filtered Otodom search you already have open in your browser:

{
"startUrls": [
"https://www.otodom.pl/pl/wyniki/sprzedaz/mieszkanie/mazowieckie/warszawa/warszawa/warszawa?priceMin=500000&priceMax=1200000&roomsNumber=%5B%22TWO%22%2C%22THREE%22%5D"
],
"maxResults": 300
}

Input Reference

Search Targeting

ParameterTypeDefaultDescription
dealTypeselectFor Sale (Sprzedaż)Are you looking for properties to buy or to rent? Options: For Sale (Sprzedaż), For Rent (Wynajem).
propertyTypeselectApartment (Mieszkanie)Property category. Options: Apartment (Mieszkanie), Studio (Kawalerka), House (Dom), Room (Pokój) — rent only, Plot / Land (Działka), Commercial premises (Lokal użytkowy), Hall / Warehouse (Hala / magazyn), Garage (Garaż), Investment / New development (Inwestycja).
locationstringWarszawaPolish city, voivodeship, or "cała Polska" for the entire country. Polish characters accepted and recommended.
radiusselectExact area only (0 km)Expand the search beyond the selected location. Options: 0, +5, +10, +15, +25, +50, +75 km.
startUrlsURL[][]Power-user input. Paste Otodom search-result URLs or individual listing URLs. When provided, overrides the guided fields.

Filters

ParameterTypeDefaultDescription
priceMinintegeremptyMinimum price in Polish złoty (PLN). Leave empty for no minimum.
priceMaxintegeremptyMaximum price in Polish złoty (PLN). Leave empty for no maximum.
areaMinintegeremptyMinimum floor area in square metres.
areaMaxintegeremptyMaximum floor area in square metres.
roomsstring[][]Multi-select room count. Options: 1 room, 2 rooms, 3 rooms, 4 rooms, 5 rooms, 6 or more. Ignored for plots, garages, and commercial.
buildYearMinintegeremptyMinimum build year (1800–2100). Most useful for apartments and houses.
buildYearMaxintegeremptyMaximum build year (1800–2100).
marketTypeselectAny marketPrimary (new build) vs Secondary (resale) vs Any market. Most useful on sale listings.

Sorting & Limits

ParameterTypeDefaultDescription
sortByselectDefault (recommended)Result order. Options: Default, Newest first, Oldest first, Lowest price first, Highest price first, Smallest area first, Largest area first.
maxResultsinteger100Maximum listings to collect across all searches and URLs. Set to 0 for no cap (internal safety limit of 100,000 applies). Results arrive in full pages of ~36, so the final page may overshoot by a few rows.

Output

One flat row per Otodom listing. Here's a representative sale-side result for a new-build development in Kraków:

{
"url": "https://www.otodom.pl/pl/oferta/mista-krakow-ID4zTk9",
"id": 67659493,
"title": "Mista Kraków",
"dealType": "sale",
"propertyType": "investment",
"price": 489258,
"pricePerSquareMeter": 15782,
"currency": "PLN",
"area": 31,
"rooms": 1,
"floor": 2,
"totalFloors": 5,
"buildYear": 2025,
"location": {
"voivodeship": "małopolskie",
"county": "Kraków",
"city": "Kraków",
"district": "Mistrzejowice",
"street": "ul. Mistrzejowicka",
"postalCode": "31-641",
"latitude": 50.099307,
"longitude": 20.023872
},
"description": "1, 2, 3 i 4-pokojowe mieszkania od 31 m2 do 77 m2 od dewelopera Victoria Dom...",
"images": [
"https://ireland.apollo.olxcdn.com/v1/files/eyJmbiI6Im.../image;s=1280x1024;q=80",
"https://ireland.apollo.olxcdn.com/v1/files/eyJmbiI6Mj.../image;s=1280x1024;q=80"
],
"features": [
"Miejsce parkingowe podziemne",
"Balkon",
"Windy",
"Strefa wypoczynku",
"Przyjazny dla osób niepełnosprawnych"
],
"agent": {
"name": "Biuro Sprzedaży",
"phone": "+48573582897",
"email": null,
"agencyName": "Victoria Dom",
"agencyUrl": "https://www.otodom.pl/pl/firmy/deweloperzy/victoria-dom-ID10556508"
},
"marketType": "PRIMARY",
"addedAt": "2026-01-30T11:23:15+01:00",
"updatedAt": "2026-05-22T11:56:00+02:00",
"scrapedAt": "2026-05-23T12:23:32.319635+00:00",
"sourceListUrl": "https://www.otodom.pl/pl/wyniki/sprzedaz/mieszkanie/malopolskie/krakow/krakow/krakow"
}

Core Identity

FieldTypeDescription
urlstringDirect Otodom listing URL
idnumberUnique Otodom listing identifier
titlestringListing title as shown on Otodom
dealTypestringsale or rent
propertyTypestringapartment, studio, house, room, plot, commercial, hall, garage, or investment
marketTypestringPRIMARY (new build), SECONDARY (resale), ALL, or null

Pricing

FieldTypeDescription
pricenumberListing price in PLN. For rentals this is the monthly rent.
pricePerSquareMeternumberPrice per square metre in PLN — ready to sort, filter, and chart
currencystringAlways PLN

Property Details

FieldTypeDescription
areanumberFloor area in square metres
roomsnumberNumber of rooms (1–10, with 6+ rolled into 6)
floornumber / stringFloor number (0 = ground floor); special labels like Garret, Cellar are passed through as strings
totalFloorsnumberTotal floors in the building
buildYearnumberYear the building was constructed
featuresstring[]Amenity and feature labels in Polish (e.g. parking, balcony, lift, storage room)

Location

FieldTypeDescription
location.voivodeshipstringPolish voivodeship (e.g. mazowieckie, małopolskie)
location.countystringCounty (powiat) name
location.citystringCity name
location.districtstringDistrict / neighbourhood
location.streetstringStreet name with ul. prefix when present
location.postalCodestringPolish postal code (e.g. 31-641)
location.latitudenumberLatitude (WGS84)
location.longitudenumberLongitude (WGS84)

Description & Media

FieldTypeDescription
descriptionstringFull plain-text description from the detail page (HTML stripped)
imagesstring[]All listing photo URLs at 1280×1024 from the source CDN

Agent Contact

FieldTypeDescription
agent.namestringSeller / agent name (or "Biuro Sprzedaży" for developer sales offices)
agent.phonestringPhone number in plaintext E.164 format (e.g. +48573582897)
agent.emailstringContact email when published — most listings expose phone only
agent.agencyNamestringAgency or developer name
agent.agencyUrlstringOtodom profile page for the agency / developer

Metadata

FieldTypeDescription
addedAtstringWhen the listing was first published on Otodom (ISO 8601)
updatedAtstringLast update on Otodom (ISO 8601)
scrapedAtstringWhen this row was collected (ISO 8601 UTC)
sourceListUrlstringThe exact search URL this row came from — useful for traceability and debugging

Tips for Best Results

  • Use Polish characters in locationWarszawa, Kraków, Gdańsk, Łódź. The actor folds diacritics automatically, but native spellings match Otodom's own search dictionary most reliably.
  • For sub-district precision, paste a Start URL — Polish cities use a four-level voivodeship/county/city/district hierarchy. The actor resolves city names automatically; for a specific district (e.g. Warszawa-Mokotów), open the search in your browser and paste the URL into startUrls.
  • Use marketType: primary to find new-build developments only — these often appear in pre-sale and are harder to surface on aggregators. Pair with propertyType: investment to list entire development projects.
  • Sort by Lowest price first plus a tight priceMax band — surfaces the best price-per-m² listings in your filter set. Pair with buildYearMin: 2015 to focus on recent stock.
  • Room counts are ignored for plots, garages, commercial, and halls — Otodom does not index them by room count, so leave rooms empty for those property types.
  • Start with maxResults: 50–100 to verify your filter combination — once the result mix looks right, re-run with maxResults: 0 (capped internally at 100,000) for the full sweep.
  • cała Polska is the country-wide fallback — leave location empty or set it to cała Polska to scan every Polish region in one run. Useful for nationwide developer or commercial inventory pulls.

Pricing

$0.95 per 1,000 listings, pay-per-result. You only pay for the rows we return — no compute charges, no per-minute billing. Below the typical $1.00/1,000 market rate for Polish real-estate data.

ListingsCost
100$0.10
1,000$0.95
10,000$9.50
100,000$95.00

A "result" is any listing row in the output dataset. Platform fees (storage, data transfer) are additional and depend on your Apify plan.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access

This actor is designed for legitimate market research, lead generation, relocation research, and personal property search. Users are responsible for complying with applicable laws — including Polish and EU data protection rules (GDPR / RODO) — and with Otodom.pl's Terms of Service. Do not use extracted contact data for spam, unsolicited bulk messaging, or any unlawful purpose. Be mindful of consent and opt-out obligations when contacting individuals identified through this data.