Skip to content

Sreality Scraper – Czech Real Estate Listings

Try for free

Scrape Sreality.cz, the largest Czech real estate portal: flats, houses, land and commercial property for sale or rent. Paste search URLs or use filters and get price, CZK/m², layout, area, address, GPS, photos and agency, plus optional full details with seller contacts.

🏠 Sreality Scraper – Czech Real Estate Listings

Scrape Sreality.cz, the largest real estate portal in the Czech Republic. Paste any search URL (or pick filters) and get clean rows for flats, houses, land and commercial property, for sale or rent: price, price per m², layout, area, full address, GPS, photos and agency. Turn on full details to add the description, every listing parameter and the seller's contacts. No login, no browser, thousands of listings per minute.

✨ Why use Sreality Scraper?

  • ⚡ Fast — reads Sreality's own JSON, 100 listings per request. 10,000 listings take well under a minute.
  • 🔎 Any search works — paste a /hledani/ URL with your filters (price, layout, area, locality, condition, ownership…) and every filter is kept. Or use the built-in filters without visiting the site.
  • 📈 Past the 10,000 cap — Sreality shows at most 10,000 results per search; the scraper splits big searches by offer type, property type and region so you still get them all.
  • 📇 Seller contacts on demand — full details add the broker's name, phone and email, the agency name and website, the full description and all parameters.
  • 📊 Spreadsheet-ready — flat columns (address_city, params_floorNumber…) by default, or nested JSON if you prefer.
  • 💸 Cheap — pay per listing, datacenter proxy only, no browser costs.

🎯 Use cases

  • 🏙️ Market research — track asking prices and CZK/m² across Prague, Brno, Ostrava or any district.
  • 💰 Investment analysis — find underpriced flats, compare rent vs. sale prices, monitor price drops (oldPriceCzk).
  • 📞 Lead generation — collect agencies and brokers active in a region, with contacts when details are on.
  • 🔔 Monitoring — schedule a daily run on a search sorted by newest and get new listings first.
  • 🗺️ Mapping and data products — GPS coordinates and geohashes on every row.

🚀 How to use

  1. Run a search on sreality.cz with your filters and copy the URL, e.g. https://www.sreality.cz/hledani/prodej/byty/praha. Paste one or more URLs into Sreality URLs. (Or leave it empty and use the Filters section.)
  2. Set Maximum listings (0 = no limit).
  3. Optionally turn on Fetch full listing details for descriptions, parameters and seller contacts.
  4. Click Start and export the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
startUrlsSreality search URLs (/hledani/..., also /en/search/...) or listing URLs (/detail/...).
maxItemsTotal listings to save across all URLs. Default 20; 0 = no limit.
transactionType, propertyTypeFilters used when no URL is given: sale/rent/auction/share and flat/house/land/commercial/other.
regions, districtsCzech regions (kraje) and district names (okresy), e.g. Brno-město, Praha 5.
dispositionsFlat layouts such as 2+kk, 3+1, 6+.
priceMin, priceMax, areaMin, areaMaxPrice in CZK and area in m².
sortBynewest, cheapest or mostExpensive.
fetchDetailsAdd description, all parameters, seller name/phone/email, agency, videos, listing date.
includeNearbyPoisWith details (on by default): nearby shops, schools, stops and doctors with distances.
flattenFlat CSV-friendly columns (default) or nested JSON.
{
  "startUrls": [
    "https://www.sreality.cz/hledani/prodej/byty/praha?velikost=2%2Bkk,3%2Bkk&cena-do=8000000",
    "https://www.sreality.cz/hledani/pronajem/domy/jihomoravsky-kraj"
  ],
  "maxItems": 500,
  "fetchDetails": true
}

Filters only:

{
  "transactionType": "rent",
  "propertyType": "flat",
  "districts": ["Brno-město"],
  "dispositions": ["2+kk", "2+1"],
  "priceMax": 25000,
  "sortBy": "newest",
  "maxItems": 100
}

📤 Output

One row per listing.

FieldDescription
id, urlSreality listing id and page
transactionType / transactionTypeCzsale, rent, auction, share (+ Czech label)
category / categoryCzflat, house, land, commercial, other (+ Czech label)
dispositionLayout or subtype (2+kk, 3+1, Rodinný…)
nameListing title
priceCzk, pricePerSqmCzk, priceTextPrice, price per m², price unit (za nemovitost, za měsíc…)
oldPriceCzk, priceNotePrevious price after a drop, price note (details)
surfaceArea in m²
address_*street, streetNumber, houseNumber, cityPart, district, city, region, country
latitude, longitude, geoHashLocation
photos, photoCountPhoto URLs
hasVideo, hasMatterport, isExclusiveListing flags
agency, agencyId, agencyLogoListing agency
agencyName, agencyWebsiteAgency name and website (details)
descriptionFull description (details)
params_*All parameters: floor, building type and condition, energy rating, ownership, furnishing, balcony, cellar, heating… (details)
sellerName, sellerPhone, sellerPhones, sellerEmailBroker contacts (details)
matterportUrl, videoUrlsVirtual tour and videos (details)
listedAt, updatedAtListing and last edit date (details)
nearbyPoisNearby places with distance and rating (details + nearby places)
scrapedAtScrape time

Example (with details, trimmed; contact data is fictional):

{
  "portal": "sreality",
  "id": "3374256204",
  "url": "https://www.sreality.cz/detail/pronajem/byt/2+1/brno-trnita-skorepka/3374256204",
  "transactionType": "rent",
  "category": "flat",
  "disposition": "2+1",
  "name": "Pronájem bytu 2+1 74 m²",
  "priceCzk": 25000,
  "pricePerSqmCzk": 338,
  "priceText": "za měsíc",
  "priceNote": "+ energie dle spotřeby. + provize RK. Kauce.",
  "surface": 74,
  "address_street": "Skořepka",
  "address_cityPart": "Trnitá",
  "address_district": "Brno-město",
  "address_city": "Brno",
  "address_region": "Jihomoravský kraj",
  "latitude": 49.19264,
  "longitude": 16.61706,
  "geoHash": "u2ezf5hpvt",
  "photos": ["https://d18-a.sdn.cz/d_18/c_img_qG_A/nCR9NVflLBkdq1GADIBHs6e/04ab.jpeg"],
  "photoCount": 15,
  "isExclusive": true,
  "agency": "example-reality",
  "agencyName": "Example Reality s.r.o.",
  "agencyWebsite": "https://www.example-reality.cz",
  "listedAt": "2026-10-08",
  "detailFetched": true,
  "params_buildingCondition": "Po rekonstrukci",
  "params_buildingType": "Cihlová",
  "params_floorNumber": 2,
  "params_ownership": "Osobní",
  "params_usableArea": 74,
  "sellerName": "Jan Novák",
  "sellerPhone": "+420600000000",
  "sellerEmail": "jan.novak@example-reality.cz",
  "scrapedAt": "2026-10-14T21:30:12.000Z"
}

💰 Pricing

Pay per event, no subscription:

  • $0.70 per 1,000 listings (result-item, $0.0007 each).
  • +$0.50 per 1,000 listings with full details (listing-details, $0.0005 each), only when Fetch full listing details is on and the details were found.

Examples: 1,000 listings ≈ $0.70; 1,000 listings with full details ≈ $1.20. Platform usage (compute and datacenter proxy traffic) is billed separately and is tiny for this actor, typically well under $0.01 per 1,000 listings. The run's maximum total charge is respected: the scraper stops cleanly before going over it.

❓ FAQ

Is it legal? The scraper reads publicly available listing data, the same as any visitor sees. You are responsible for using it in line with Sreality's terms and data-protection law (GDPR), especially for seller contacts.

Do I need a login or my own proxy? No. No account is needed and the default datacenter proxy works.

How many listings can I get? Everything a search matches. Sreality returns at most 10,000 per search, so large searches without a region are split automatically. A search that is already narrowed to a single region and type and still has more than 10,000 results stops at 10,000 with a note in the status message.

Why is a field empty? Fields marked details need Fetch full listing details. Some listings simply don't publish a value (e.g. no street number, or price on request).

Can I scrape one listing? Yes, paste its /detail/... URL. Listing URLs always include full details and are billed as a listing plus details.

Can I schedule it or use the API? Yes. Schedule a daily run on a "newest first" search, or start runs and download datasets through the API.

Moving from another Sreality scraper? startUrls, maxItems, fetchDetails and flatten keep the same names and the output columns match.

⚠️ Limits

  • Sreality caps one search at 10,000 results. Splitting covers all Czech regions; foreign listings in an unsplittable search beyond 10,000 are not reached.
  • The page number in a pasted URL (?strana=3) is ignored; the scraper always starts from the first page.
  • Seller contacts come from the listing itself; developer projects and some private listings publish fewer contact fields.
  • Agency email discovery from third-party websites is not included.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.