Otodom & OLX Listing Deal Checker – Notarial Deed Prices
Pricing
from $20.00 / 1,000 listing checks
Otodom & OLX Listing Deal Checker – Notarial Deed Prices
Check Polish apartment listings (Otodom, OLX, Morizon, Gratka scrapers) against real sale prices from notarial deeds: fair value, % above or below, deal verdict.
Pricing
from $20.00 / 1,000 listing checks
Rating
0.0
(0)
Developer
Krzysztof Filipiak
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Otodom & OLX Listing Deal Checker – asking prices vs notarial deed prices
Is this listing a bargain or overpriced? Feed the apartment listings you scraped from Otodom, OLX, Morizon, Gratka, Domiporta (or any other source) and get, for every listing, the value of the apartment according to what buyers actually paid in notarial deeds nearby – plus how many percent the asking price is above or below it and a clear verdict.
The values come from Poland's official Real Estate Price Register (Rejestr Cen Nieruchomości, RCN) – the register of notarial deeds kept by Polish counties and published by GUGiK. No other listing scraper gives you this: portals only show asking prices.

What you get for each listing
- deed value of the apartment (PLN) and price per m² from comparable deeds, with a range
- asking vs deed value in % (e.g. +7.4% = asking price 7.4% above what similar apartments sold for)
- typical premium of the other listings from the same city in your input, and the listing's position against it
- a verdict:
great_deal,good_deal,typical,expensiveorvery_expensive– and whether it is reliable - confidence (high / medium / low), number of comparable sales and the search radius
- the 3 most similar sales (
similarSales: date, price, area, price per m², floor, street, distance)
Plus a report with the best deals and a table per city (Output tab → Best deals), and a JSON summary.
How to use it with a scraper
- Run any listings scraper from Apify Store – for example an Otodom, OLX or Morizon scraper.
- Open this Actor and pick that run's dataset in Listings dataset. Start.
- Open Best deals in the Output tab.
Automatically after every scrape: on the scraper's Integrations tab click Add integration, choose this Actor – each finished scrape is then checked without any copying. Prices, areas, rooms, floors, coordinates, cities and streets are recognised automatically from the usual field names (price, area, rooms, floor, market, latitude, longitude, city, district, street, url…). Unusual names can be mapped in fieldMapping, e.g. {"price": "pricing.total", "area": "details.surface"}.
You can also paste listings directly into listings (JSON).
Example
Input (pasted listings – real run from October 2026):
{"listings": [{ "title": "2 pokoje, Kazimierz", "price": 1050000, "area": 52, "rooms": 2, "floor": 2, "market": "SECONDARY","latitude": 50.051, "longitude": 19.9447, "city": "Kraków" },{ "title": "3 pokoje, Mokotów", "price": 1150000, "area": 65, "rooms": 3, "floor": 4, "market": "SECONDARY","latitude": 52.1935, "longitude": 21.0235, "city": "Warszawa" },{ "title": "2 pokoje, Wrzeszcz", "price": 720000, "area": 48, "rooms": 2, "floor": 1, "market": "SECONDARY","latitude": 54.38, "longitude": 18.604, "city": "Gdańsk" }]}
Results:
| Listing | Asking PLN/m² | Deed value PLN/m² | Asking vs deeds | Comparable sales |
|---|---|---|---|---|
| Kraków, Kazimierz · 52 m² · 1,050,000 PLN | 20,192 | 18,800 | +7.4% | 361 within 1 km |
| Warszawa, Mokotów · 65 m² · 1,150,000 PLN | 17,692 | 17,063 | +3.7% | 262 within 1 km |
| Gdańsk, Wrzeszcz · 48 m² · 720,000 PLN | 15,000 | 13,716 | +9.4% | 299 within 1 km |
One record (shortened):
{"recordType": "listing","listing": { "title": "2 pokoje, Kazimierz", "price": 1050000, "areaM2": 52, "rooms": 2, "city": "Kraków", "url": "https://…" },"askingPricePerM2Pln": 20192,"deedValuePln": 978000,"deedPricePerM2Pln": 18800,"deedValueRangePln": { "low": 793000, "high": 1160000 },"priceVsDeedValuePct": 7.4,"verdict": "typical","verdictBasis": "fewer than 12 comparable listings in the input - fixed bands on the raw asking-vs-deed difference","confidence": "medium","comparablesUsed": 361,"searchRadiusM": 1000,"marketUsed": "secondary","similarSales": [{ "date": "2026-06-10", "priceTotalPln": 900000, "areaM2": 59.1, "pricePerM2Pln": 15228.43, "street": "Józefa", "distanceM": 149 }]}
With 12 or more listings from the same city in one run, each record also gets typicalPremiumPct (the median asking premium of those listings) and relativeToTypicalPct, and the verdict is based on them.
How the verdict works
Asking prices are almost always above final sale prices (negotiation, and the register shows sales with a delay). So a listing is judged against the typical premium of other listings from the same city in your input (median of at least 12 listings):
| Listing vs typical premium | Verdict |
|---|---|
| 15 points or more below | great_deal |
| 7–15 points below | good_deal |
| within ±7 points | typical |
| 7–15 points above | expensive |
| 15 points or more above | very_expensive |
With fewer listings from a city, fixed bands on the raw difference are used (≤ −10% great deal, ≤ 0% good deal, < +15% typical, < +25% expensive). Verdicts based on few sales or only a city name are marked verdictReliable: false and left out of Best deals.
How the deed value is calculated
The same method as in Poland Apartment Valuation: apartment sales from notarial deeds within 1 km (2.5 km or 6 km when there are too few), from the last 24 months by default, market sales of full ownership only. Each sale is adjusted to today's price level with the local quarterly trend and weighted by distance, floor area, rooms, floor and recency; the value is the weighted median price per m² × the listing's area. Resale listings are compared with resale deeds, new-build listings with primary-market deeds (both markets when there are too few).
The deed value is an automated estimate from comparable sales, not a formal appraisal (operat szacunkowy): it does not see the condition, view or standard of the apartment.
Who uses it
- Investors and flippers – screen hundreds of listings a day and look only at the real bargains.
- Real estate agents – show sellers how their asking price compares with what was actually paid nearby.
- Proptech and data teams – enrich listing datasets with an official, sourced value per listing.
- Lenders and analysts – monitor how far asking prices run ahead of transaction prices, city by city.
Pricing (pay per event)
| Event | Price |
|---|---|
| Listing check (only when a value is produced) | $0.02 |
Skipped listings – rentals, houses, plots, listings without a price, area or location, or with no comparable sales nearby – are free and listed with the reason. 1,000 checked listings cost $20.
Data sources and privacy
- Notarial deeds: Rejestr Cen Nieruchomości, GUGiK – official bulk export (monthly), optionally topped up with the newest deeds from the live register (
includeNewestDeeds). - The register has no names of buyers or sellers; deed numbers and notaries are not used.
- Your listings are processed only in your run and are not stored anywhere else.
Related Actors
- Poland Apartment Valuation (AVM) – a detailed valuation of one address with 10 comparable sales.
- Poland Real Estate Transaction Prices – area statistics and the full list of deeds.
- Poland Housing Price Gap – developers' asking prices vs deed prices.
- SeLoger & Leboncoin Listing Deal Checker – the same for France, with DVF sale prices.
Po polsku – czy ogłoszenie to okazja? Porównanie cen ofertowych z cenami z aktów notarialnych
Wrzucasz ogłoszenia mieszkań z Otodom, OLX, Morizon, Gratka (np. wyniki scrapera z Apify), a agent przy każdym ogłoszeniu podaje wartość mieszkania według cen transakcyjnych z aktów notarialnych z okolicy (Rejestr Cen Nieruchomości), o ile procent cena ofertowa jest wyższa lub niższa i werdykt: okazja, typowa cena albo za drogo – na tle innych ofert z tego samego miasta. Dostajesz też raport z najlepszymi okazjami. Opłata 0,02 USD za sprawdzone ogłoszenie; pominięte (najem, domy, brak danych) są bezpłatne.