Otodom Scraper – Polish Real Estate Listings (Sale & Rent) avatar

Otodom Scraper – Polish Real Estate Listings (Sale & Rent)

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Otodom Scraper – Polish Real Estate Listings (Sale & Rent)

Otodom Scraper – Polish Real Estate Listings (Sale & Rent)

Extract sale and rental listings from Otodom.pl, Poland's #1 property portal. Price, m² price, rooms, area, floor, owner vs agency, agent contact, coordinates & more.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract sale (sprzedaż) and rental (wynajem) property listings from Otodom.pl — Poland's largest and most-used real estate marketplace. Pull clean, structured JSON, CSV, or Excel data with prices in PLN, price per m², rooms, area, floor, location, agent contact, and a private-owner vs. agency flag for lead generation.

Whether you are building a property search product, tracking the Polish housing and rental market, sourcing owner (FSBO) leads, or feeding a valuation model — this scraper turns Otodom into a reliable, on-demand data feed. No code, no infrastructure, no maintenance.

🇵🇱 Covers all of Poland — every voivodeship and city, for both sale and rent, across apartments, houses, plots, commercial units, garages and rooms.


⭐ Why this Otodom scraper?

  • Sale & rent in one actor — scrape sprzedaż or wynajem with the same simple input.
  • Owner vs. agency detection — a built-in isPrivateOwner flag, or scrape private owners only for direct FSBO lead generation.
  • Nationwide coverage — target a single city, a full region path, or all of Poland (cala-polska).
  • Powerful filters — price range, area (m²), number of rooms, and listing source (private / agency).
  • 20+ structured fields — price, PLN/m², rent fee, area, rooms, floor, market type, location breakdown, coordinates and agent contact.
  • Reliable at scale — automatic pagination and de-duplication across thousands of listings.
  • Any format — export to JSON, CSV, Excel, XML, or pull via API.

📋 Table of contents

  1. What is Otodom?
  2. What data can you extract?
  3. Use cases
  4. How to use the Otodom scraper
  5. Input examples
  6. Output example
  7. Output fields reference
  8. Tips for best results
  9. FAQ
  10. Integrations

🏠 What is Otodom?

Otodom is Poland's #1 real estate portal — the main marketplace where Poles buy, sell and rent property. It lists millions of properties across all 16 voivodeships and every major city, including:

  • 🏢 Mieszkanie (apartments)
  • 🏡 Dom (houses)
  • 🌳 Działka (plots of land)
  • 🏬 Lokal (commercial units)
  • 🏭 Hala / magazyn (warehouses)
  • 🚗 Garaż (garages)
  • 🛏️ Pokój (rooms)

Otodom is the single richest source of Polish residential and rental market data. This scraper unlocks it for analysis, automation, lead generation and product building.


📦 What data can you extract?

For every listing the scraper returns a clean, structured record:

  • Pricing — total price (PLN), price per square meter, and rent fee for rentals.
  • Property specs — area (m²), number of rooms, floor, property type and market type (primary/secondary).
  • Location — city, district, province, street and GPS coordinates.
  • Seller — whether the listing is from a private owner or an agency, plus agency/agent name.
  • Meta — listing title, direct URL, publish date, promotion flag and thumbnail.

This combination is ideal for market analysis, price benchmarking, and — thanks to the owner/agency flag — direct lead generation.


🎯 Use cases — who is this for?

🏦 Real estate investors & analysts

Track asking prices and price-per-m² across cities and districts to spot opportunities and benchmark the market.

🏘️ Real estate agencies & brokers

Find private-owner (FSBO) listings to win new mandates, and monitor competitor pricing in your area.

💼 PropTech & startups

Power your search product, valuation model, or comparison site with fresh Polish listing data — without building and maintaining a scraper yourself.

📊 Market researchers & journalists

Analyze rent vs. buy trends, price-per-m² by region, and supply across Poland over time.

🎯 Lead generation

Scrape private owners only and feed direct seller/landlord leads straight into your CRM.

🤖 Data products & AI

Build training datasets and feeds for real-estate machine learning models, chatbots, and analytics dashboards.


🚀 How to use the Otodom scraper

You don't need any coding skills. Just configure the input and click Start.

  1. Choose a deal typeFor sale (sprzedaż) or For rent (wynajem).
  2. Choose a property type — apartment, house, plot, commercial, etc.
  3. Set the region — a city like warszawa, a full path like mazowieckie/warszawa/warszawa, or cala-polska for all of Poland.
  4. (Optional) filter — by price, area, rooms, and listing source (private owners only / agencies only).
  5. Set Max items, then click Start.
  6. Export to JSON, CSV, Excel, or pull via the API.

💡 Prefer full control? Set up your exact search on otodom.pl, copy the URL, and paste it into Start URLs — the scraper crawls it directly and handles pagination.


📝 Input examples

Example 1 — Apartments for sale in Warsaw

{
"dealType": "sprzedaz",
"propertyType": "mieszkanie",
"region": "warszawa",
"maxItems": 200
}

Example 2 — Apartments for rent in Kraków, private owners only 🎯

{
"dealType": "wynajem",
"propertyType": "mieszkanie",
"region": "krakow",
"ownerType": "PRIVATE",
"maxItems": 300
}

Example 3 — Houses for sale nationwide under 1,500,000 PLN

{
"dealType": "sprzedaz",
"propertyType": "dom",
"region": "cala-polska",
"priceMax": 1500000,
"maxItems": 1000
}

Example 4 — Crawl a ready-made Otodom search URL

{
"startUrls": [
{ "url": "https://www.otodom.pl/pl/wyniki/wynajem/mieszkanie/mazowieckie/warszawa/warszawa" }
],
"maxItems": 300
}

📤 Output example

{
"dealType": "sale",
"id": "66012345",
"url": "https://www.otodom.pl/pl/oferta/przestronne-2-pokoje-mokotow-ID4abcd",
"title": "Przestronne 2 pokoje, Mokotów",
"price": 899000,
"currency": "PLN",
"pricePerSquareMeter": 18729,
"rentFee": null,
"area": 48,
"rooms": 2,
"floor": "2",
"propertyType": "APARTMENT",
"transactionType": "SELL",
"market": "SECONDARY",
"city": "Warszawa",
"district": "Mokotów",
"province": "mazowieckie",
"street": "ul. Puławska",
"latitude": 52.1924,
"longitude": 21.0312,
"isPrivateOwner": false,
"agencyName": "Example Nieruchomości",
"isPromoted": true,
"dateCreated": "2026-05-21",
"thumbnail": "https://ireland.apollo.olxcdn.com/v1/files/...",
"scrapedAt": "2026-06-03T10:00:00.000Z"
}

📚 Output fields reference

FieldDescription
dealTypesale or rent
idOtodom listing ID
urlDirect link to the listing
titleListing title
pricePrice in PLN (monthly rent for rentals)
currencyCurrency (usually PLN)
pricePerSquareMeterPrice per square meter (PLN/m²)
rentFeeAdditional rent fee / czynsz (when present)
areaLiving area in m²
roomsNumber of rooms
floorFloor
propertyTypeApartment, house, plot, etc.
transactionTypeSell / rent
marketPrimary (new) or secondary market
city / district / province / streetLocation breakdown
latitude / longitudeGPS coordinates
isPrivateOwnertrue for private owners, false for agencies
agencyNameAgency name (when posted by an agency)
agentNameAgent contact name (when available)
isPromotedWhether the listing is a promoted/featured ad
dateCreatedWhen the listing was published
thumbnailPrimary image URL
scrapedAtWhen the record was collected (ISO 8601)

💡 Tips for best results

  • 📍 Narrow by region for faster, more focused runs — a single city like warszawa returns far quicker than cala-polska.
  • 🎯 Use ownerType: PRIVATE to collect only owner/FSBO listings — perfect for lead generation.
  • 🏷️ Property type slugs: mieszkanie (apartment), dom (house), dzialka (plot), lokal (commercial), haleimagazyny (warehouse), garaz (garage), pokoj (room).
  • 🔗 Use Start URLs for complex searches. Build your filters on otodom.pl, copy the URL, and paste it in — the scraper handles the rest.
  • 🔢 Set Max items to keep runs fast and predictable, especially for nationwide searches.

❓ Frequently asked questions

Can I scrape both sale and rental listings?

Yes. Set dealType to sprzedaz for sale or wynajem for rent. Each run focuses on one deal type; run the actor twice to get both.

Can I get only private-owner (FSBO) listings?

Yes — set ownerType to PRIVATE. Every record also carries an isPrivateOwner flag so you can filter afterwards too. This is ideal for agencies and lead-gen teams looking for direct sellers and landlords.

How do I target a specific city or district?

Set the region field to a city slug (e.g. warszawa, krakow, wroclaw) or a full path (e.g. mazowieckie/warszawa/warszawa). For anything more specific, build the search on otodom.pl and paste the URL into Start URLs.

How many listings can I scrape?

As many as you need. Use Max items to cap a run, and narrow by region to keep runs fast.

What formats can I export to?

JSON, CSV, Excel, XML, RSS, or programmatically via the Apify API. The data also includes a clean tabular overview view in the dataset.

Can I run this on a schedule?

Yes. Use Apify Schedules to run the scraper daily or weekly and keep your dataset fresh — great for monitoring new listings and price changes.

Can I get notified of new listings?

Combine scheduled runs with Apify integrations (webhooks, Make, Zapier, Slack, email) to get alerts whenever new properties match your criteria.


🔌 Integrations & exporting your data

This actor works seamlessly with the Apify ecosystem:

  • API — pull results programmatically with a single HTTP request.
  • Webhooks — trigger downstream workflows when a run finishes.
  • Make / Zapier — connect Otodom data to thousands of apps with no code.
  • Google Sheets, Slack, email — push results where your team works.
  • Schedules — automate recurring runs to keep data fresh.

Results can be downloaded as JSON, CSV, Excel, XML, or RSS at any time.


🆘 Support

Found a bug or need a new field or filter? Open an issue on the actor's Issues tab. Feedback and feature requests are welcome — this scraper is actively maintained.

Happy scraping! 🏠🇵🇱