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

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Pull real-estate listings from Otodom.pl at scale — prices in PLN, exact lat/lon coordinates, full Polish-language descriptions, agent phone numbers, agency contacts, and 20+ photos per listing for every for-sale and rental property across Poland. Built for real-estate investors, relocation services, proptech platforms, and market analysts who need fresh Otodom data without manually clicking through a Polish-language portal one voivodeship at a time.

Why This Scraper?

  • All 16 Polish voivodeships in one actor — search Mazowieckie, Małopolskie, Pomorskie, Wielkopolskie, Śląskie, Dolnośląskie, or any of the 16 regions by name and the scraper expands to every city inside.
  • Nine property types under one input — apartments (mieszkanie), studios (kawalerka), houses (dom), plots (działka), commercial premises, halls & warehouses, garages, rooms, and new-build developments (Inwestycje) — flip a single dropdown to switch.
  • Sale and rent in the same run — toggle dealType between sale and rent without rewriting your URL list; the deal-type and monthly rent both land in clearly labelled fields.
  • Exact lat/lon coordinates on every detail page — decimal-degree latitude and longitude pulled per listing, not the city-centroid approximation other Otodom scrapers settle for.
  • Pre-revealed phone numbers and agency contacts — agent and agency phone numbers come back attached to every row when listing details are on, no "Pokaż numer" click-through required.
  • Seven sort orders and seven search radii — newest, oldest, price ascending/descending, area ascending/descending, plus the Otodom default, paired with a 0/5/10/15/25/50/75-km radius expansion around any city.
  • Granular filter stack — price range in PLN, area range in m², construction-year range, six room-count buckets (1/2/3/4/5/6+), and search radius all combine in a single call.
  • Paste any Otodom URL — drop a /pl/oferty/, /pl/wyniki/, or /pl/oferta/ link straight from your browser; the scraper reads every filter the URL carries and replicates exactly what you see on the site.
  • Two-stage enrichment with a cost switch — leave includeListingDetails on for the full description, coordinates, year built, and phones, or flip it off for faster, cheaper search-only runs.

Use Cases

Real-Estate Investment Research

  • Compare price per m² across Warszawa, Kraków, Wrocław, and Gdańsk to spot under-priced markets
  • Track newly listed properties under a price ceiling to find investment-grade flats
  • Build comp sets by district using exact lat/lon coordinates and area filters
  • Monitor distressed sale signals by sorting newest with a tight price ceiling

Market Analysis & Trends

  • Map inventory by voivodeship, city, or district to size each regional market
  • Compare apartments vs houses vs commercial premises across the same city
  • Pull recently bumped listings (pushedUpAt) to gauge active seller behaviour
  • Build PLN price-per-m² time series from repeated daily or weekly runs

Lead Generation for Agents

  • Build agency-and-agent contact lists with names, phone numbers, and agency URLs
  • Target private sellers (ownerType: "private") for direct buyer-side outreach
  • Filter for exclusive offers (isExclusiveOffer) to surface premium-listing agencies
  • Identify new-build developers via the Inwestycje (investment) property type

Relocation & Expat Services

  • Pull rental apartments in Warszawa, Kraków, or Wrocław with full Polish descriptions
  • Filter by district within a city (Ursynów, Mokotów, Kazimierz) for neighborhood briefs
  • Surface listings within a 25 km radius for car-commute relocation candidates
  • Combine searchRadiusKm with construction year to target modern buildings only

Proptech & Comparison Engines

  • Power Polish property aggregators with daily-refreshed Otodom inventory
  • Enrich existing property records with coordinates, photos, and tag arrays
  • Feed pricing dashboards with PLN, price-per-m², area, and rooms in flat schema
  • Build alerting systems on new listings under specific price/area filters

Academic & Government Research

  • Assemble PLN housing-price datasets for Polish urban-planning research
  • Quantify regional supply by voivodeship for affordability studies
  • Track construction year to map building-stock age across cities
  • Power journalism on rental-market squeeze with verifiable per-listing data

Getting Started

Quick Start — One City

The simplest possible run — apartments for sale in Warszawa:

{
"locations": ["Warszawa"],
"maxResults": 100
}

Filtered Search — Mid-Market Apartments

Apartments for sale in Warszawa, 40–80 m², priced between 500k and 1M PLN, with 2 or 3 rooms:

{
"locations": ["Warszawa"],
"dealType": "sale",
"propertyType": "apartment",
"minPrice": 500000,
"maxPrice": 1000000,
"minArea": 40,
"maxArea": 80,
"roomsCount": ["2", "3"],
"maxResults": 200
}

Paste an Otodom URL

Drop any Otodom search or listing URL directly — every filter in the URL is preserved:

{
"startUrls": [
"https://www.otodom.pl/pl/oferty/sprzedaz/mieszkanie/sopot?priceMin=500000&priceMax=2000000",
"https://www.otodom.pl/pl/oferta/przepiekne-mieszkanie-3-pokojowe-ID4xY7w"
],
"maxResults": 300
}

Multi-City Rentals with Full Filters

Rent apartments across Warszawa and Kraków, newest first, within 10 km of each centre, including the full detail enrichment:

{
"locations": ["Warszawa", "Kraków"],
"dealType": "rent",
"propertyType": "apartment",
"maxPrice": 6000,
"minArea": 35,
"roomsCount": ["2", "3"],
"searchRadiusKm": "10",
"sortBy": "newest",
"includeListingDetails": true,
"maxResults": 500
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
startUrlsstring[][]Otodom.pl search or listing URLs. The scraper auto-detects deal type, property type, location, and any filters embedded in the URL. When URLs are present, the filter settings below are ignored.
locationsstring[]["Warszawa"]Cities, districts, regions, or voivodeships to search (e.g. "Warszawa", "Kraków", "Ursynów", "mazowieckie"). Polish names work best.

Search Filters

These apply to the locations list. When using startUrls, every filter comes from the URL itself.

ParameterTypeDefaultDescription
dealTypeselectFor SaleFor Sale or For Rent.
propertyTypeselectApartmentsApartments, Studio apartments, Houses, New-build developments, Rooms, Plots / Land, Commercial premises, Halls and warehouses, or Garages.
minPriceintegernullLowest listing price in PLN.
maxPriceintegernullHighest listing price in PLN.
minAreaintegernullSmallest floor area in m².
maxAreaintegernullLargest floor area in m².
minYearBuiltintegernullEarliest construction year (1800–2100).
maxYearBuiltintegernullLatest construction year (1800–2100).
roomsCountselect[][]1 room, 2 rooms, 3 rooms, 4 rooms, 5 rooms, or 6+ rooms. Leave empty for any.
searchRadiusKmselectExact area only (0 km)Expand each location by 0, 5, 10, 15, 25, 50, or 75 km.
sortByselectOtodom defaultDefault, Newest first, Oldest first, Price lowest first, Price highest first, Area smallest first, or Area largest first.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Maximum total listings across all URLs and locations. Set to 0 for unlimited (capped at 50,000 for safety).
includeListingDetailsbooleantrueWhen on, every listing is enriched with full description, agent phone numbers, exact lat/lon coordinates, district, year built, and the complete photo gallery. Turn off for faster, thinner search-only runs.

Output

Every row is a single flat listing. With includeListingDetails on, you get the full per-property record below:

{
"id": "76498234",
"url": "https://www.otodom.pl/pl/oferta/przepiekne-mieszkanie-3-pokojowe-ID4xY7w",
"title": "Przepiękne 3-pokojowe mieszkanie z balkonem | Mokotów",
"slug": "przepiekne-mieszkanie-3-pokojowe-ID4xY7w",
"dealType": "sale",
"propertyType": "apartment",
"transaction": "SELL",
"estate": "FLAT",
"price": 849000,
"priceFormatted": "849 000 zł",
"currency": "PLN",
"pricePerSqm": 14150,
"rentPrice": null,
"hidePrice": false,
"areaSqm": 60,
"terrainAreaSqm": null,
"rooms": 3,
"floor": "4",
"yearBuilt": 2018,
"street": "ul. Puławska",
"district": "Mokotów",
"city": "Warszawa",
"province": "mazowieckie",
"latitude": 52.1956,
"longitude": 21.0344,
"locationPath": ["Polska", "mazowieckie", "Warszawa", "Mokotów"],
"description": "Do sprzedaży przepiękne 3-pokojowe mieszkanie zlokalizowane w sercu Mokotowa. Powierzchnia 60 m², 4. piętro z windą, balkon...",
"shortDescription": "3 pokoje, 60 m², Mokotów — gotowe do wprowadzenia.",
"images": [
"https://ireland.apollo.olxcdn.com/v1/files/large/abc123.jpg",
"https://ireland.apollo.olxcdn.com/v1/files/large/def456.jpg"
],
"imagesCount": 24,
"tags": ["balkon", "winda", "klimatyzacja", "miejsce parkingowe"],
"ownerName": "Anna Kowalska",
"ownerType": "agency",
"ownerContacts": {
"phone": "+48 600 123 456",
"phones": ["+48 600 123 456"]
},
"agencyName": "Premium Real Estate Warszawa",
"agencyUrl": "https://www.otodom.pl/pl/firmy/biura-nieruchomosci/premium-real-estate",
"agencyAddress": "Złota 44/402, 00-120, Warszawa, mazowieckie",
"agencyPhone": "+48 22 123 45 67",
"agencyPhones": ["+48 22 123 45 67"],
"agencyLicenseNumber": "12345",
"isPrivateOwner": false,
"isExclusiveOffer": true,
"isPromoted": false,
"publishedAt": "2026-04-12T09:34:21Z",
"pushedUpAt": "2026-05-11T07:12:00Z",
"scrapedAt": "2026-05-16T14:30:00Z"
}

Core Fields

FieldTypeDescription
idstringStable Otodom listing ID
urlstringPublic listing URL on otodom.pl
titlestringListing title as shown on the site (Polish)
slugstringURL-safe identifier from the listing path
dealTypestringsale or rent
propertyTypestringOne of the nine supported types
transactionstringRaw transaction code (SELL, RENT)
estatestringRaw estate code (FLAT, HOUSE, TERRAIN, etc.)
scrapedAtstringISO 8601 timestamp when the row was collected

Price & Sizing

FieldTypeDescription
pricenumberListing price as a number
priceFormattedstringPrice as shown ("849 000 zł")
currencystringAlways PLN for housing listings; may differ on some commercial premises
pricePerSqmnumberComputed price per m² (PLN/m²)
rentPricenumberMonthly rent when dealType=rent (PLN)
hidePricebooleanTrue when the seller hides the price
areaSqmnumberFloor area in m²
terrainAreaSqmnumberPlot area in m² (houses, plots)
roomsintegerRoom count
floorstringFloor designation (e.g. "3", "ground", "attic")
yearBuiltintegerConstruction year

Location

FieldTypeDescription
streetstringStreet name
districtstringDistrict / neighborhood
citystringCity name
provincestringVoivodeship (Polish region)
latitudenumberLatitude in decimal degrees
longitudenumberLongitude in decimal degrees
locationPathstring[]Hierarchy from country → voivodeship → city → district

Description & Media

FieldTypeDescription
descriptionstringFull listing description (Polish, can be long)
shortDescriptionstringSnippet shown in search results
imagesstring[]Large-resolution image URLs
imagesCountintegerTotal number of images on the listing
tagsstring[]Feature tags (e.g. "balkon", "winda", "klimatyzacja")

Contact & Agency

FieldTypeDescription
ownerNamestringAgent or private-owner name
ownerTypestringagency, private, or developer
ownerContactsobject{ phone, phones } when published. Otodom does not publish email addresses, so no email field is included.
agencyNamestringAgency name when applicable
agencyUrlstringAgency profile URL on Otodom
agencyAddressstringAgency office address (Polish postal format)
agencyPhonestringPrimary agency phone number
agencyPhonesstring[]All agency phone numbers (line + mobile, when published)
agencyLicenseNumberstringPolish real-estate license number (verification signal)
isPrivateOwnerbooleanTrue when listed by a private owner

Metadata

FieldTypeDescription
isExclusiveOfferbooleanTrue for exclusive listings
isPromotedbooleanTrue for promoted / sponsored slots
publishedAtstringWhen the listing was first published (ISO 8601)
pushedUpAtstringWhen the listing was last bumped to the top (ISO 8601)

When includeListingDetails is off, description, latitude, longitude, district, yearBuilt, ownerContacts, and the full photo gallery come back empty — the run is noticeably faster and cheaper.

Tips for Best Results

  • Use Polish voivodeship names for region-wide pulls — typing mazowieckie or małopolskie in locations expands to every city in that region. Polish spellings with diacritics work fine; the scraper normalises them.
  • Combine searchRadiusKm with a tight city for commuter belts — set locations: ["Warszawa"] plus searchRadiusKm: "25" to pull every flat within 25 km of central Warszawa, including Legionowo, Józefów, and other suburbs.
  • Turn off includeListingDetails for inventory scans — when you only need price, area, rooms, and city for trend analysis, the search-only mode is ~40% faster and skips the per-listing detail fetch entirely.
  • Use sortBy: "newest" for daily monitoring — combined with a small maxResults (50–100), it surfaces only the listings posted since your last run.
  • Paste a filtered URL from your browser — set up the search visually on otodom.pl, copy the URL, and drop it into startUrls. Every filter — price, area, rooms, even map polygons — is preserved.
  • For rentals, pair dealType: "rent" with maxPrice in PLN — typical Warszawa rental ceiling is 4,000–8,000 PLN/month; use maxPrice: 6000 to get the mid-market band.
  • Start with maxResults: 100 to verify your filters — Otodom's filter URL encoding is strict; a 100-row test run confirms the price/area/rooms filters actually fired before you scale to 10,000.

Pricing

$0.95 per 1,000 results — flat per-result pricing for the largest Polish real-estate portal, including full descriptions, lat/lon coordinates, and agent phone numbers.

ResultsEstimated Cost
100$0.10
1,000$0.95
10,000$9.50
100,000$95.00

No compute charges — you only pay per result returned. A "result" is one listing row in the output dataset.

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 listings
  • Webhooks — Trigger custom APIs on run completion
  • Power BI / Tableau / Looker — Property analyst dashboards
  • Apify API — Full programmatic access

This actor is designed for legitimate real-estate research, market analysis, relocation services, and lead generation. Users are responsible for complying with applicable laws, GDPR for any personal data captured, and Otodom.pl's Terms of Service. Do not use extracted data for spam, harassment, or any illegal purpose. Phone numbers and agent contacts are published by the listing party — use them only for legitimate property inquiries.