🇵🇱 Otodom Poland Scraper | Property Prices avatar

🇵🇱 Otodom Poland Scraper | Property Prices

Pricing

$3.00 / 1,000 property scrapeds

Go to Apify Store
🇵🇱 Otodom Poland Scraper | Property Prices

🇵🇱 Otodom Poland Scraper | Property Prices

Scrape Otodom.pl apartment listings, real estate prices, rent costs, location data, and agency contacts across Poland. Fast Polish property market scraper.

Pricing

$3.00 / 1,000 property scrapeds

Rating

0.0

(0)

Developer

Alexandru Afanasiuc

Alexandru Afanasiuc

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Otodom.pl Scraper — Poland Apartments, Houses, Prices & Agencies

Extract structured property listings from Otodom.pl, Poland's largest real-estate portal. Choose sale or rental, pick a property type and a city (or all of Poland), and get clean JSON/CSV with prices, price per m², areas, rooms, locations, agencies and photo URLs.

Why use this scraper

  • Verified location filter — a city Otodom does not recognise returns zero rows (hard 404 check, no fallback to the national feed). You are never billed for listings you did not ask for.
  • Price per m² included — the field Polish property analysis actually runs on, extracted per listing.
  • Sale and rentalsprzedaz or wynajem, same schema either way.
  • Agency vs privateagency is null on private listings, so separating the two is one filter.
  • Photos included — image URLs per listing, ready for previews or ML datasets.
  • Pure HTTP — no browser, fast and cheap.

What data you get

{
"id": "65432100",
"title": "Mieszkanie 3-pokojowe, Mokotów",
"url": "https://www.otodom.pl/pl/oferta/mieszkanie-3-pokojowe-mokotow-ID4abc",
"transaction": "SELL",
"estateType": "FLAT",
"price": { "value": 899000, "currency": "PLN" },
"pricePerM2": { "value": 14983, "currency": "PLN" },
"areaInM2": 60,
"rooms": "THREE",
"floor": "FLOOR_2",
"location": {
"street": "ul. Puławska",
"city": "Warszawa",
"province": "mazowieckie",
"fullAddress": "Warszawa, Mokotów, ul. Puławska"
},
"agency": { "name": "Example Nieruchomości", "url": "https://www.otodom.pl/pl/agencje/example" },
"images": ["https://ireland.apollo.olxcdn.com/v1/files/..."],
"shortDescription": "Jasne mieszkanie po remoncie...",
"dateCreated": "2026-08-01 10:22:15",
"scrapedAt": "2026-08-11T10:00:00.000Z"
}

Fields the listing does not include are null — this Actor never invents data. price is null on "ask for price" listings, exactly as the portal shows them.

How to run it

  1. Pick transaction: sprzedaz (sale) or wynajem (rental).
  2. Pick propertyType: mieszkanie, dom, dzialka or lokal.
  3. Set location to a city slug (warszawa, krakow, gdansk...) or keep cala-polska for country-wide.
  4. Click Start and export the dataset as JSON, CSV or Excel.

Works out of the box: the default input (apartments for sale, all Poland, 100 items) runs successfully with no changes.

Input parameters

FieldTypeDefaultDescription
transactionstringsprzedazsprzedaz (sale) or wynajem (rent).
propertyTypestringmieszkaniemieszkanie, dom, dzialka, lokal.
locationstringcala-polskaCity/region slug as used in Otodom URLs.
maxItemsinteger100Cap on returned listings.

Pricing

$3.00 per 1,000 listings (pay per event, no subscription). Examples:

  • 100 listings → $0.30
  • 500 listings → $1.50
  • Zero results (unrecognised location) → $0.00.

Use cases

  • Price monitoring — track asking prices and PLN/m² by district, weekly.
  • Investment screening — filter by price per m² against the city median to spot underpriced listings.
  • Market research — measure supply per city, property type and agency.
  • Lead generation for agencies — private listings (agency: null) are potential clients.
  • AI agents — call this Actor as a tool through the Apify MCP server.

Limitations

  • Returns what Otodom publishes on the results feed; visiting each listing page for full descriptions is out of scope.
  • location must be an Otodom URL slug (lowercase, hyphens: nowy-sacz, not Nowy Sącz).
  • "Ask for price" listings have price: null — that is the portal's data, not a gap in the scraper.

FAQ

How do I scrape Otodom without coding? Run this Actor from the Apify Console — pick transaction, type and city, press Start, export CSV.

Does it cover rentals? Yes — set transaction: "wynajem".

What happens on a typo'd city? Zero rows, zero cost. The location check is a hard 404 — there is no silent fallback to all-Poland results.

Can I schedule daily price tracking? Yes — use Apify Schedules and export to Google Sheets, or read the dataset from the API.


If this Actor saved you time, a short review on its Store page helps other people find it. If something looks wrong, open an issue on the Issues tab — issues get answered.