Sreality scraper
Pricing
$15.00/month + usage
Sreality scraper
Fast and efficient sreality.cz actor. The script get all offers (according to the selected input). Reworked and updated to new version
Pricing
$15.00/month + usage
Rating
2.2
(4)
Developer
ALi
Maintained by CommunityActor stats
5
Bookmarked
55
Total users
2
Monthly active users
10 days ago
Last modified
Categories
Share
Sreality API Scraper
Scrape real estate listings from Sreality.cz into a structured Apify dataset.
This actor reads Sreality search data from the site, follows pagination, normalizes listing fields, and can optionally enrich each listing with detail-page data such as description, seller, premise, videos, and listing parameters.
What You Can Scrape
- Flats, houses, land, commercial properties, and other real estate
- Sale, rental, auction, and share listings
- Listings by Czech region
- Detailed property types such as apartment layouts, family houses, building plots, offices, warehouses, garages, and more
- English or Czech Sreality URL variants
- Optional detail data from individual listing pages
Common Use Cases
- Track real estate prices across Czech regions
- Build a dataset of active Sreality listings
- Monitor sale and rental inventory by category
- Enrich market analysis with location, price, image, and seller data
- Validate listing detail URLs during scraper QA runs
Input
The actor accepts slug-based inputs. Empty arrays mean "all supported values".
Basic Example
{"AREA": ["praha"],"CATEGORIES": ["for-sale"],"SUBCATEGORIES": ["apartments"],"PROPERTY_TYPES": ["1+kt", "2+kt"],"maxPages": 5,"LANGUAGE_EN": true,"GET_DETAILS": false,"IGNORE": ["raw", "images", "pagination", "searchUrl", "searchPage"],"TEST_URL_DETAIL": false,"DEBUG": false}
Scrape All Supported Searches For One Page for every area
{"AREA": [],"CATEGORIES": [],"SUBCATEGORIES": [],"PROPERTY_TYPES": [],"maxPages": 1,"LANGUAGE_EN": true,"GET_DETAILS": false,"IGNORE": ["pagination","searchPage","searchUrl","raw","images","premiseLogo","hasMatterport","hasVideo","discountShow","seller.image","premise.retargetingId","premise.askId","premise.isSosCustomAdvertCard","premise.logo","premise.webVisibleUrl","premise.premisePaidFirmy","premise.companySubjectId","videos"]}
Czech Example
{"AREA": ["praha", "jihomoravsky-kraj"],"CATEGORIES": ["prodej", "pronajem"],"SUBCATEGORIES": ["byty", "domy"],"PROPERTY_TYPES": ["1+kk", "2+kk"],"maxPages": 3,"LANGUAGE_EN": false}
Input Fields
| Field | Type | Description |
|---|---|---|
AREA | array | Region slugs to scrape. Leave empty to scrape all supported regions. |
CATEGORIES | array | Listing categories. Supports English and Czech slugs. Leave empty for all categories. |
SUBCATEGORIES | array | Main real estate categories. Supports English and Czech slugs. Leave empty for all subcategories. |
PROPERTY_TYPES | array | Detailed property types such as apartment layouts, family houses, building plots, offices, or garages. Supports English and Czech slugs. Leave empty for all supported property types. |
maxPages | integer | Maximum number of search result pages per generated search. Use 0 to scrape all available pages reported by Sreality. |
LANGUAGE_EN | boolean | true requests English Sreality pages and outputs English detail URLs. false requests Czech pages and outputs Czech detail URLs. |
GET_DETAILS | boolean | Fetch each listing detail JSON and append detail fields. |
IGNORE | array | Dot-separated output paths to remove from each dataset item before saving. |
Supported Values
Areas
prahastredocesky-krajjihocesky-krajjihomoravsky-krajkarlovarsky-krajkralovehradecky-krajliberecky-krajmoravskoslezsky-krajolomoucky-krajpardubicky-krajplzensky-krajustecky-krajvysocina-krajzlinsky-kraj
Categories
| English | Czech |
|---|---|
for-sale | prodej |
to-rent | pronajem |
auction | drazby |
shares | podily |
Subcategories
| English | Czech |
|---|---|
apartments | byty |
houses | domy |
lands | pozemky |
commercial-properties | komercni |
other-real-estates | ostatni |
Property Types
PROPERTY_TYPES supports both English and Czech Sreality slugs. Examples:
1+kt / 1+kk2+kt / 2+kkfamily-houses / rodinne-domybuilding-plots / stavebni-parcelyoffice-spaces / kancelarewarehouses / skladygarages / garazeparking-places / garazova-stani
Leave PROPERTY_TYPES empty to include all supported detailed property types for the selected subcategories.
Output
The actor saves one dataset item per listing. The exact fields depend on IGNORE and whether GET_DETAILS is enabled.
Example Output Item
{"id": 1896579148,"date": "2026-06-13","url": "https://www.sreality.cz/en/detail/sale/land/field/oslavicka-oslavicka-/1896579148","name": "For sale farm lands 7413 m2","priceCzk": 363237,"priceCzkPerSqM": 49,"priceSummaryCzk": 363237,"priceUnit": "per property","priceSummaryUnit": "per property","categoryType": "Sale","categoryTypeValue": 1,"categoryMain": "Land","categoryMainValue": 3,"categorySub": "Fields","categorySubValue": 20,"city": "Oslavicka","cityPart": "Oslavicka","district": "Zdar nad Sazavou","region": "Vysocina region","street": "","houseNumber": null,"streetNumber": null,"latitude": 49.3154067822499,"longitude": 15.9668425899982,"premiseId": 33825,"imageUrls": ["https://d18-a.sdn.cz/d_18/c_img_qB_E/kQMlcCt5zmBDp4maqGuWudT/be45.jpeg?fl=res,1200,1200,1|wrm,/watermark/sreality.png,10|shr,,20|webp,80"]}
Main Output Fields
id,date,url,namepriceCzk,priceCzkPerSqM,priceSummaryCzk,priceUnit,priceSummaryUnitcategoryType,categoryMain,categorySuband their numeric valuescity,cityPart,district,region,street,houseNumber,streetNumberlatitude,longitude,localitypremiseId,premiseLogoimages,imageUrlssearchPage,searchUrl,paginationraw, containing the original listing object from Sreality
When GET_DETAILS is enabled, the actor can also append:
dataUpdatedAtdescriptionpremisesellerrusvideosisExclusivelyparams
Field Filtering With IGNORE
Use IGNORE to remove fields from the dataset before saving.
Examples:
rawremoves the original Sreality listing object.imagesremoves normalized image objects while keepingimageUrlsif you do not ignore it.paginationremoves pagination metadata.seller.imageremoves only the nested seller image whenGET_DETAILSis enabled.premise.logoremoves only the nested premise logo.
If a rule enters an array, the remaining path is applied to every object in that array.
Pagination And Empty Searches
Missing arrays and empty arrays mean all supported values. For broad searches, the actor splits requests by area and subcategory instead of sending one huge combined search. This helps avoid Sreality result limits and keeps pagination more predictable.
maxPages applies per generated search. For example, AREA: [], SUBCATEGORIES: [], and maxPages: 1 can still produce many requests because the actor creates separate searches for each area and subcategory pair.
Detail Enrichment Notes
GET_DETAILS gives richer data but increases request volume. If Sreality rate-limits or blocks detail requests, reduce GET_DETAILS_CONCURRENCY.
When detail fetching is enabled, listings whose detail JSON request fails are skipped instead of being saved without details.
Migration Notes
Version v1.3 uses the current Sreality and a new slug-based input model.
Legacy fields such as CITY, PROPERTY_TYPE, APARTMENTS, HOUSES, LANDS, SELLING, LANGUAGE_CZ, DATASET_NAME, DROP_DATASET, SAVE_ALL_TEXTS, and ENRICHER_TEXTS are not part of the current Store input. Use AREA, CATEGORIES, SUBCATEGORIES, PROPERTY_TYPES, LANGUAGE_EN, IGNORE, and GET_DETAILS instead.
Legacy output fields such as Hash_id, Datum, Cena, and URL_AD were replaced with normalized API-oriented fields such as id, date, priceCzk, and url.
Notes And Limitations
- The actor scrapes data available from Sreality web.
- Available fields can vary by listing category and by what Sreality returns for a specific ad.
- Broad searches can create many page requests. Use
maxPagesfor sampling or controlled runs. - URL validation is intended for debugging and QA. It adds extra network requests.
Legal
This actor is not affiliated with Sreality.cz. Use it responsibly and make sure your usage complies with applicable laws, Sreality's terms, and Apify's platform rules.


