Bezrealitky Property Scraper - Czech Real Estate Listings
Pricing
from $1.32 / 1,000 property searches
Bezrealitky Property Scraper - Czech Real Estate Listings
Scrape bezrealitky.cz, the Czech property portal where owners list without an agent. Flats, houses, land and cottages for rent or sale: price, monthly charges, deposit, floor area, layout, energy class, GPS, full description and every photo.
Pricing
from $1.32 / 1,000 property searches
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Bezrealitky Scraper: Czech Owner Listings for Rent & Sale 🏠
🎉 Every owner listing on bezrealitky.cz, with rent, charges, deposit, photos and GPS in one row
For Prague renters, relocation desks, investors and analysts who want the part of the Czech market agencies never list
🔎 What is the Bezrealitky Scraper — and when should you use it?
The Bezrealitky Scraper turns public Czech property listings from bezrealitky.cz, the portal where owners rent and sell without an agent into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: flats, houses, land, garages, offices or cottages in the Czech Republic for rent or for sale, and especially the owner-posted listings that agency portals do not carry. Every row has the price or monthly rent, with service charges, utilities and deposit in their own columns. It also carries the floor area, the Czech layout (1+kk, 2+1), furnished status, floor, energy class, the address with GPS, the full description and every photo. A flag says whether the owner posted it on the site or it came in from a partner feed.
Use something else when: you need agency listings or the whole Czech market. Use Sreality Scraper for the largest Czech portal, with agency stock and private sellers. This actor covers bezrealitky.cz listings only. Owners are contacted through the site's own messaging, so no phone number or e-mail is returned, and asking prices are not sold prices.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/bezrealitky-property-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want Czech rental and sale listings posted by owners on bezrealitky.cz using the Apify Actor `sian.agency/bezrealitky-property-scraper`.Use it when I need: flats, houses, land, garages, offices or cottages in the Czech Republic for rent or for sale, and especially the owner-posted listings that agency portals do not carry. Every row has the price or monthly rent, with service charges, utilities and deposit in their own columns. It also carries the floor area, the Czech layout (1+kk, 2+1), furnished status, floor, energy class, the address with GPS, the full description and every photo. A flag says whether the owner posted it on the site or it came in from a partner feed.Don't use it when: you need agency listings or the whole Czech market — use sreality-property-scraper instead.How to call it: set `operation` to `search`, pick `dealType` (`pronajem` for rent, `prodej` for sale) and `propertyType` (`byt`, `dum`, `pozemek`, `garaz`, `kancelar`, `nebytovy-prostor`, `chata-chalupa`), then choose `locations` from the list (`praha`, `brno`, `jihomoravsky-kraj`, `ceska-republika` and so on). Narrow with `dispositions`, `minPrice`, `maxPrice`, `minArea`, `maxArea`, `ownership`, `buildingTypes`, `furnished` and `postedDirectlyOnly`. For a town or Prague quarter that is not in the list, paste its bezrealitky.cz results page into `searchUrls`. To look up listings you already have, set `operation` to `detail` and pass `listingUrls`.Start with this input:{"operation": "search","dealType": "pronajem","propertyType": "byt","locations": ["praha"],"dispositions": ["2+kk","2+1"],"maxPrice": 30000,"postedDirectlyOnly": true,"maxResults": 200}Ask me which place and whether they want rentals or sales, and the rent or price ceiling, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- List every furnished 2+kk flat for rent in Prague under 30,000 CZK that an owner posted, with the deposit and monthly charges.
- Pull all owner-listed flats for sale in Brno and rank them by price per square metre.
- Find Prague rentals whose price was cut, sorted by the biggest cut, with days on the market.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/bezrealitky-property-scraper.md.
📋 Overview
Bezrealitky.cz is where Czech owners rent and sell without an agent. This actor turns its listings into clean rows you can filter, export or feed to a spreadsheet, a database or an AI agent.
What you get:
- ✅ The full listing in every search row: description, every photo and every parameter come back with the search itself, so there is no second lookup to pay for
- 🧾 The true monthly cost of a rental: rent, service charges, utilities and deposit sit in separate columns
- 🙋 Owner stock, flagged: each row says whether the owner posted it on bezrealitky.cz or it arrived from a partner feed, and one checkbox keeps owners only
- 🎯 Every filter the site has: layout (1+kk, 2+1…), price, floor area, panel or brick, ownership, furnished, sort order
- 🗺️ Places by name: all 14 regions, the main cities and the Prague and Brno commuter districts are in a dropdown, and any other town works by pasting its page
- 💰 Pay per listing: you are charged for listings returned, never for a search that matched nothing or a URL we could not read
✨ Features
- 🏢 Flats, houses, land, garages, offices, commercial space and cottages, for rent or for sale
- 🧾 Rent, charges, utilities, deposit and price per m² as numbers, not text
- 🛋️ Furnished, floor, lift, balcony, terrace, cellar, parking and garage on every row that states them
- ⚡ Energy class, building type, condition and ownership (personal, cooperative or municipal)
- 📍 Street, city district, ZIP, RÚIAN address code and GPS for mapping and geocoding
- 🗓️ Days listed, view count, available from and a price-cut flag with the original price
- 🖼️ Every photo URL, the main photo as a thumbnail, and video links when the listing has them
- 🇬🇧 English title and description whenever the owner wrote one
- 🔗 Listing lookup by URL for listings you already track
🎬 Quick Start
Pick rent or sale, a property type and one or more places, then press Start. The run reads bezrealitky.cz's listings for those places and saves one row per listing. Use Max listings to decide how many you pay for.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~bezrealitky-property-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"operation": "search", "dealType": "pronajem", "propertyType": "byt", "locations": ["praha"], "maxResults": 100}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose what to search
Pick For rent or For sale, a property type, and the places you care about.
Step 2: Narrow it down (optional)
Add layouts, a price or area band, furnished, building type, or tick Posted directly on Bezrealitky only.
Step 3: Run and export
Press Start, then download the dataset as JSON, CSV or Excel, or open the Processing Report.
That's it. In under a minute you'll have:
- Every matching listing with price, charges and floor area
- The address, district and GPS of each one
- The full description and photo set, ready to review
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| operation | string | No | search (default) or detail for listing URLs you already have |
| dealType | string | No | pronajem (rent, default) or prodej (sale) |
| propertyType | string | No | byt, dum, pozemek, garaz, kancelar, nebytovy-prostor, chata-chalupa |
| locations | array | No | Places from the list, e.g. praha, brno, jihomoravsky-kraj, ceska-republika |
| dispositions | array | No | Layouts such as 1+kk, 2+1, 3+kk |
| minPrice / maxPrice | integer | No | Price band in CZK (monthly rent for rentals) |
| minArea / maxArea | integer | No | Floor-area band in m² |
| ownership | string | No | any, osobni, druzstevni, obecni |
| buildingTypes | array | No | panel, brick, wood, stone, prefab, skeleton, mixed |
| furnished | string | No | any, vybaveny, castecne, nevybaveny |
| postedDirectlyOnly | boolean | No | Keep only listings people posted on bezrealitky.cz themselves |
| sort | string | No | newest, price_asc, price_desc, area_desc, area_asc, discount |
| maxResults | integer | No | Stop after this many listings across the run (default 100); Property Detail ignores it |
| searchUrls | array | No | bezrealitky.cz results pages; place and the page's own filters are read from the address |
| listingUrls | array | No | Listing URLs for the Property Detail operation |
Example: owner-posted 2+kk rentals in Prague under 30,000 CZK
{"operation": "search","dealType": "pronajem","propertyType": "byt","locations": ["praha"],"dispositions": ["2+kk"],"maxPrice": 30000,"postedDirectlyOnly": true,"maxResults": 200}
Example: a Prague quarter that is not in the list
{"operation": "search","searchUrls": [{ "url": "https://www.bezrealitky.cz/vypis/nabidka-pronajem/byt/praha-chodov" }]}
Example: listings you already have
{"operation": "detail","listingUrls": [{ "url": "https://www.bezrealitky.cz/nemovitosti-byty-domy/1071664-nabidka-prodej-bytu-steinerova-praha" }]}
📤 Output
Each listing is one row with 65+ fields. The most useful ones:
| Field | Type | Description |
|---|---|---|
| thumbnail | string | Main photo |
| propertyTitle | string | Listing title as shown on the site |
| price | number | Asking price, or monthly rent without charges |
| currency | string | CZK for Czech listings (EUR for the German partner listings) |
| monthlyCharges | number | Service charges plus utilities per month |
| deposit | number | Deposit asked by the owner |
| areaM2 | number | Floor area in m² |
| pricePerM2 | number | Price divided by floor area |
| disposition | string | Czech layout: 1+kk, 2+1, studio… |
| cityDistrict | string | City and district, e.g. "Praha - Nusle" |
| latitude / longitude | number | GPS position |
| furnished | string | furnished, partly furnished or unfurnished |
| energyClass | string | Energy label A to G |
| daysOnMarket | number | Days since the listing went up |
| postedDirectly | boolean | true when the owner posted it on bezrealitky.cz |
| partnerSource | string | Which partner feed the listing came from, if any |
| propertyText | string | Full description |
| imageUrls | array | Every photo |
| listingUrl | string | Link to the listing |
Example row (trimmed):
{"listingId": "1064210","listingUrl": "https://www.bezrealitky.cz/nemovitosti-byty-domy/1064210-nabidka-pronajem-bytu-lomnickeho-praha","propertyTitle": "Pronájem bytu 2+kk 70 m²","dealType": "rent","propertyType": "flat","disposition": "2+kk","price": 16000,"currency": "CZK","originalPrice": 18000,"isDiscounted": true,"monthlyCharges": 8000,"serviceCharges": 2000,"utilityCharges": 6000,"deposit": 24000,"areaM2": 70,"pricePerM2": 229,"floor": 5,"buildingType": "brick","furnished": "unfurnished","energyClass": "G","cityDistrict": "Praha - Nusle","street": "Lomnického","zip": "140 00","latitude": 50.0568146,"longitude": 14.4327211,"availableFrom": "2026-09-16","daysOnMarket": 20,"viewCount": 1159,"imageCount": 5,"postedDirectly": true,"status": "success"}
A search that matches nothing returns no rows and costs nothing beyond the run start. A listing URL we cannot read gets an error row with the reason, and error rows are never charged.
💼 Use Cases & Examples
1. Prague rental market tracking
Relocation agencies and analysts see the true monthly cost of a Prague flat.
Input: For rent, Flats, Praha, sorted by newest. Output: Rent, charges, deposit, m² and district for every listing. Use: Rent per m² by district, updated weekly on a schedule.
2. Owner-direct deal sourcing
Buyers and small investors see owner sales the day they go up.
Input: For sale, Flats, Brno, Posted directly on Bezrealitky only, Max listings 50, run daily. Output: New owner listings with price per m², condition, ownership and photos. Use: Contact owners before the listing collects a hundred messages.
3. Tenant shortlists for relocation desks
HR and relocation teams build shortlists without opening a single listing page.
Input: For rent, Flats, Praha, 2+kk and 3+kk, Furnished, max 35,000 CZK. Output: Furnished flats with availability date, deposit, floor and lift. Use: A shortlist sent to the incoming employee the same afternoon.
4. Price-cut and time-on-market signals
Negotiators spot owners who are ready to move on price.
Input: For sale, Flats, Praha, sorted by biggest price cut. Output: Original price, current price, days listed and views. Use: A call list of owners who have already cut once.
5. Proptech and research datasets
Researchers get a clean, geocoded owner-market sample.
Input: All of Czechia, For rent and For sale in two runs. Output: Rows with RÚIAN address codes and GPS, ready to join with public data. Use: Compare owner asking prices against agency portals such as Sreality.
6. Holiday cottage inventory
Travel and rental businesses map cottages for rent by region.
Input: For rent, Cottages, Liberecký kraj. Output: Cottages with GPS, description and photos. Use: A regional supply map for the holiday season.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/bezrealitky-property-scraper').call({operation: 'search',dealType: 'pronajem',propertyType: 'byt',locations: ['praha'],maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/bezrealitky-property-scraper').call(run_input={'operation': 'search', 'dealType': 'prodej', 'propertyType': 'byt', 'locations': ['brno'], 'maxResults': 100})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['propertyTitle'], item.get('price'), item.get('cityDistrict'))
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~bezrealitky-property-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "search", "dealType": "pronajem", "propertyType": "byt", "locations": ["praha"], "maxResults": 50}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: a daily schedule
- HTTP Request: run the actor with Newest first and a small Max listings
- Process: keep rows you have not seen, by
listingId - Action: post them to Slack, a sheet or your CRM
📊 Performance & Pricing
FREE plan (try it now)
- 25 listings per run with every field included
- 10 free runs a day on this actor (30 in total), reset at midnight UTC
- No credit card required
PAID plans (production)
- Unlimited listings per run
- Discounts on higher Apify plans
- Pay per listing returned; errors and empty searches are never charged
A run of 100 listings finishes in well under a minute, because one request returns 100 full listings.
❓ Frequently Asked Questions
Q: Do I need an account or an API key? A: No. Pick rent or sale, a property type and a place, then press Start.
Q: Is this the same data as Sreality? A: Largely not. When we compared the same Prague, Brno and Ostrava searches on both sites, about four in five owner-posted rentals and roughly half of the owner-posted sales on bezrealitky.cz were not on Sreality. Our Sreality Scraper returns the same kind of row if you need both.
Q: Why do some rows have no price? A: Some listings, mostly holiday cottages, are marked price on request, and a few carry a symbolic price under 100 CZK. Both come back with an empty price and priceOnRequest set to true, rather than a misleading number.
Q: Why are some listings in Germany? A: The site also carries German owner listings from a partner. They appear only when you pick Germany, or paste a results page that names no place. Tick Posted directly on Bezrealitky only to leave out every partner feed.
Q: Can I search a single Prague quarter such as Chodov? A: Yes. Open that quarter on bezrealitky.cz and paste the address of its results page into Search page URLs. Every row also carries the city district, so a whole-Prague run can be split afterwards.
Q: Does it return the owner's phone number? A: No. Owners are contacted through bezrealitky.cz's own messaging, and their contact details are not public.
Q: What does Property Detail cost compared with a search? A: A search row is already the full record. Property Detail is only for listing URLs you already have, and bills one Property Detail event per listing.
Q: What export formats are available? A: JSON, CSV, Excel, XML and HTML, straight from the Apify dataset.
🐛 Troubleshooting
The run returned no listings
- The filters may be too narrow for that place: widen the price or area band, or remove a layout.
- Small towns have few owner listings; try the region instead of the city.
A place I need is not in the list
- Open it on bezrealitky.cz, copy the address of the results page and paste it into Search page URLs. Price, area, layout, building and furnished filters set on that page come along.
A listing URL came back as an error row
- The listing has been rented, sold or withdrawn. Error rows are not charged.
I got fewer listings than I expected
- Max listings applies to the whole run, across every place. Raise it, or run one place per run.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Bezrealitky is a trademark of its owner. This actor is not affiliated with, endorsed by, or sponsored by Bezrealitky.
🤝 Support
Join our active support community
- For issues or questions, open an issue on the Issues tab
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools