icon

Otodom Scraper

Scrape Listings and Prices from Otodom

Extract property listings, asking prices, and price-per-square-meter from Poland's leading real estate portal. Otodom sits behind CloudFront and returns a 403 block to bots. Scrape.do handles it automatically.

START SCRAPING FOR FREE

Start scraping today with 1000 free credits. No Credit Card Required

Otodom screenshot

20.2M Monthly Visits. #1 in Poland. One API.

Otodom is the #1 real estate portal in Poland with over 20 million monthly visits, listing apartments, houses, plots, and commercial property for sale and rent nationwide. Owned by OLX Group (Naspers/Prosus), it shows asking prices in złoty and price-per-square-meter on every listing, making it the primary source for Polish property-market pricing intelligence.

With Scrape.do you can track asking prices and price-per-m² trends by city and district, monitor new-development and agency listings, capture rental rates and listing volume, and feed valuation models and market analytics. All through a single API call.

20.2M Monthly Visits. #1 in Poland. One API.

CloudFront. 403 Block. Handled.

Otodom is fronted by CloudFront, which returns a 403 ERROR — The request could not be satisfied / Request blocked page to any request that is not a real browser, including Python requests, cURL, and datacenter proxies. Scrape too quickly from a single IP and the block trips immediately, cutting off bulk extraction with standard tools.

Scrape.do rotates high-quality residential IPs with full browser fingerprints, clears the CloudFront block automatically, and returns fully rendered listing and search HTML. You get clean pricing and area data without maintaining proxy pools or handling 403s by hand.

CloudFront. 403 Block. Handled.

How to Scrape Otodom

1

Select a Target

Property Listing screenshot
2

Send API Request

import requests
import urllib.parse

token = "<SDO-token>"
targetUrl = "https://www.otodom.pl/pl/oferta/sloneczne-trzypokojowe-mieszkanie-klimatyzacja-ID4APu2"
render = "false"  # set to "true" to enable JavaScript rendering
super = "false"  # set to "true" to enable residential proxies
geoCode = "pl"

encodedUrl = urllib.parse.quote(targetUrl)
url = f"https://api.scrape.do/?token={token}&url={encodedUrl}&render={render}&super={super}&geoCode={geoCode}"

response = requests.get(url)

print(response.text)
3

Get HTML

HTML
<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="utf-8">
  <title>3 pokoje, mieszkanie na sprzedaż - Kraków, Dębniki - Otodom</title>
</head>
<body>
  <h1 data-cy="adPageAdTitle">Słoneczne trzypokojowe mieszkanie / klimatyzacja</h1>
  <div class="price-block">
    <strong class="price" data-cy="adPageHeaderPrice">870 000 zł</strong>
    <span class="price-per-m">12 116,99 zł/m²</span>
  </div>
  <div class="params">
    <span class="rooms">3 pokoje</span>
    <span class="area">71,80 m²</span>
  </div>
  <div class="location">Kobierzyńska, Ruczaj, Dębniki, Kraków, małopolskie</div>
  <div class="gallery" data-photos="13"></div>
  <!-- ... remaining page content ... -->
</body>
</html>

Scrape.do has been a game-changer with powerful scraping tools, but what truly sets them apart is their excellent customer support.

user avatar
Rogerio C.

CTO

timertimer
capterra best customer support
< 5 min

Average Response Time

No tickets connect with expert engineers.

like changelike change
99.98%

Success rate

hierarchyhierarchy
110 Million

Proxies

trellotrello
+40%

Faster gateway than the closest competitor.

  • Trustpilot Reviews
  • G2 Reviews
  • Capterra Reviews
  • scrapedo capterra most recommended
  • scrapedo capterra best ease of use
  • scrapedo capterra best value
  • capterra best customer support
  • scrapedo capterra front runners

Reliable, Scalable,Unstoppable Web Scraping

START SCRAPING FOR FREE

Sounds great, but I have a few questions..

Yes. otodom.pl is fronted by CloudFront, which returns a 403 ERROR — The request could not be satisfied page to any request that is not a real browser, including Python requests, cURL, and datacenter proxies. Scrape.do rotates real residential IPs with full browser fingerprints, clears the CloudFront block automatically, and returns fully rendered listing and search HTML. Success rates exceed 95% on listing and search pages.

You can extract property titles, asking prices (in złoty), price-per-square-meter, area, number of rooms, location down to city and district, listing photos, agency and agent details, and full search-result grids across for-sale and for-rent listings nationwide.

Otodom organizes listings by transaction, property type, and location in the URL (for example /pl/wyniki/sprzedaz/mieszkanie/mazowieckie/warszawa). Request the search URL for the city you want with Scrape.do, and set geoCode=pl so the request routes through a Polish IP and returns the same listings and prices a local user would see.