Otodom Data Parser & API
Otodom is Poland’s largest real-estate portal — ~16.4M monthly visits and the country’s runaway market leader — and PropAPIS extracts its sale, rental and new-build listings through a single REST API. Owned by OLX Group, Otodom exposes clean structured data (geo, area, rooms, building year, agent), making it the highest-value parsing target in Eastern Europe.
| Country | Poland |
|---|---|
| Type | Portal |
| Owner | OLX Group |
| Listing types | new-build, resale, rental, commercial, land |
| Monthly visits | ~16.4M / mo |
| Active listings | Very large (PL leader) |
| API access | No public API (parse-only) |
| Parse priority | ★★★★★ |
| Official site | www.otodom.pl |
Platform Overview
Market Position
Otodom is the runaway leader of the Polish real-estate market, drawing ~16.4M monthly visits (Semrush, Mar 2026) — by far the largest dedicated RE audience in the region. It operates as part of OLX Group (Prosus/Naspers), alongside OLX Nieruchomości and the primary-market platform Obido.
The publicly available Otodom Analytics product (aggregate market data, price-per-area indices) signals a clean, consistent underlying listing schema — a strong indicator for structured extraction.
OLX Group cluster
Otodom shares an owner and platform lineage with Storia.ro (Romania) and Otodim (Ukraine). A single PropAPIS integration spans this OLX/Storia portal family across Poland and Romania, so the same field model and extraction pattern carry across both markets.
Coverage
- Nationwide Poland coverage (all voivodeships and major cities)
- New-build (primary market), resale, long- and short-term rental
- Commercial property and land
- Agent and agency attribution on listings
Data Fields Available
PropAPIS extracts the structured listing data Otodom exposes:
Property Information
- Address and location
- Price (asking price or rent)
- Area (m²)
- Rooms: number of rooms
- Floor and total floors
- Building year
- Property type
- Energy class (where published)
Listing Details
- Description: full listing text
- Photos: image URLs
- Geo: latitude and longitude
- Listing type: sale, rental, new-build
Agent Information
- Agent name
- Agency name
- Contact details (where exposed)
API Endpoints
Get Property Details
from propapis import PropAPIS
api = PropAPIS(api_key='your_api_key')
# Get a single Otodom listing by ID or URL
listing = api.platforms.otodom.get_listing(
url='https://www.otodom.pl/pl/oferta/...'
)
print(f"Price: {listing.price:,} PLN")
print(f"Area: {listing.area} m²")
print(f"Rooms: {listing.rooms}")
print(f"City: {listing.city}")Search Listings
# Search Otodom listings
results = api.platforms.otodom.search(
city='Warszawa',
listing_type='sale',
min_price=400000,
max_price=900000,
min_rooms=2,
)
for item in results[:10]:
print(f"{item.address} - {item.price:,} PLN ({item.area} m²)")Quick Start
from propapis import PropAPIS
api = PropAPIS(api_key='your_api_key')
listing = api.platforms.otodom.get_listing(
url='https://www.otodom.pl/pl/oferta/...'
)
print(f"Price: {listing.price:,} PLN")
print(f"Area: {listing.area} m²")
print(f"Rooms: {listing.rooms}")import { PropAPIS } from 'propapis';
const api = new PropAPIS({ apiKey: 'your_api_key' });
const listing = await api.platforms.otodom.getListing({
url: 'https://www.otodom.pl/pl/oferta/...',
});
console.log(`Price: ${listing.price} PLN`);
console.log(`Area: ${listing.area} m²`);
console.log(`Rooms: ${listing.rooms}`);curl https://api.propapis.com/v1/platforms/otodom/listing \
-H "Authorization: Bearer your_api_key" \
-G --data-urlencode "url=https://www.otodom.pl/pl/oferta/..."