e-chalupy APIe-chalupy.cz ↗
Search cottages, cabins, apartments and guesthouses on e-chalupy.cz by destination, dates, capacity and amenities. Returns price, rating, GPS and listing URL.
What is the e-chalupy API?
The e-chalupy.cz API exposes 2 endpoints for querying holiday accommodation listings on one of the Czech Republic's largest cottage and cabin rental platforms. The search_properties endpoint returns up to 60 properties per page with fields including price, rating, GPS coordinates, capacity, and listing URL. A companion suggest_destinations endpoint resolves free-text place names — towns, lakes, ski resorts, regions — to the destination identifiers the search endpoint accepts.
curl -X GET 'https://api.parse.bot/scraper/d68b5396-6677-4bd9-8877-c171cdfab17f/search_properties?filters=pool&keywords=%C5%A0umava' \ -H 'X-API-Key: $PARSE_API_KEY'
Searches accommodation listings and returns one row per property (id, name, type, price as displayed with parsed amount and currency, price_label naming the unit the price refers to, rating 0-100 with review count, location as 'locality, region', GPS, capacity in persons parsed from the site's capacity labels, tags, short description and the listing URL). Destination is given either as free-text keywords (resolved to the first area/place the site suggests for them — the resolved destination is echoed in resolved_keywords; when nothing matches the result is empty with total 0) or as destination_ids produced by suggest_destinations; both may be combined. filters restrict to properties carrying every listed amenity/type filter; an unknown filter key is rejected. check_in/check_out (together) restrict to properties available for the stay and switch price to the stay's from-price; persons/bedrooms restrict by group size. Results are paged with limit (1-60) and offset; total is the site's count of matching properties and has_more says whether offset+limit reaches beyond it. Without any destination or filter the whole catalogue is returned (site caps total at 10000). One round trip, plus one when keywords are supplied. price is null when the site shows no price for a listing.
| Param | Type | Description |
|---|---|---|
| limit | integer | Rows per page, 1-60. |
| offset | integer | Zero-based index of the first row to return; advance by limit to page through results. |
| filters | string | Comma-separated filter keys from the FilterKey enum (accommodation type, amenities, surroundings, suitability, payment). All listed filters must match. Do NOT pass an array. |
| persons | integer | Minimum number of guests the property must accommodate. Omitted = no restriction. |
| bedrooms | integer | Minimum number of bedrooms. Omitted = no restriction. |
| check_in | string | Arrival date, ISO YYYY-MM-DD. Must be supplied together with check_out. |
| keywords | string | Free-text destination keywords (region, town, lake, ski resort, e.g. one shape: a region name). Resolved to the first area/place suggestion the site returns; property-name matches are ignored. |
| check_out | string | Departure date, ISO YYYY-MM-DD, after check_in. Must be supplied together with check_in. |
| destination_ids | string | Comma-separated destination identifiers of the form area_<n> or place_<n>, taken unchanged from suggest_destinations.suggestions[*].destination_id (property_<n> ids are not accepted). |
{
"type": "object",
"fields": {
"limit": "page size applied",
"total": "site's count of properties matching the query",
"offset": "offset applied",
"message": "present only on the empty result when keywords matched no destination",
"results": "array of property rows: id (integer), name, type (accommodation type label), price (display string, null when not shown), price_amount (integer parsed from price), currency (CZK/EUR), price_label (unit the price applies to, e.g. per object per night), rating (0-100), reviews (count), location ('locality, region'), locality, region, latitude, longitude, capacity (persons, parsed from capacity_labels; null when the site shows none), capacity_labels (site's capacity strings), tags, description, url",
"has_more": "true when more rows exist beyond this page",
"resolved_keywords": "destination the keywords resolved to (destination_id, title, type, subtype, category), or null when keywords were not supplied"
},
"sample": {
"data": {
"limit": 5,
"total": 67,
"offset": 0,
"results": [
{
"id": 5986,
"url": "https://www.e-chalupy.cz/penzion-frymburk-ubytovani-farma-nahlov-o5986",
"name": "Farma Náhlov",
"tags": [
"bazén",
"vířivka",
"pro děti",
"na samotě",
"krb",
"koupací sud",
"u lesa"
],
"type": "Penzion",
"price": "od 2 000 Kč",
"rating": 99,
"region": "Šumava",
"reviews": 9,
"capacity": 21,
"currency": "CZK",
"latitude": 48.671155278,
"locality": "Frymburk",
"location": "Frymburk, Šumava",
"longitude": 14.19788,
"description": "Farma Náhlov se nachází 3 km od městyse Frymburk...",
"price_label": "apartmán za noc",
"price_amount": 2000,
"capacity_labels": [
"3 apartmány + 2 objekty",
"21 osob"
]
}
],
"has_more": true,
"resolved_keywords": {
"type": "area",
"title": "Šumava",
"subtype": "recreation",
"category": "Oblast",
"subtitle": null,
"category_id": "area_recreation",
"destination_id": "area_19647"
}
},
"status": "success"
}
}About the e-chalupy API
What the API covers
e-chalupy.cz lists cottages (chalupa), cabins, apartments, and guesthouses across Czech and Slovak destinations. The search_properties endpoint accepts destination keywords, check-in/check-out dates (ISO YYYY-MM-DD), minimum persons count, minimum bedrooms, and a filters string of comma-separated keys covering accommodation type, amenities, surroundings, and suitability. Results are paginated via limit (1–60) and offset.
Response fields
Each item in the results array carries: id, name, type (accommodation type label), price (display string), price_amount and price_currency (parsed from the display string), price_label (the unit the price refers to, e.g. per night or per stay), rating (0–100 scale), review_count, location (formatted as locality, region), gps (latitude/longitude), capacity in persons, and a direct url to the listing. The top-level response also includes total (site's match count), has_more, and resolved_keywords — a structured object showing which destination (destination_id, title, type, subtype, category) the keyword resolved to.
Destination resolution
Before calling search_properties with a free-text location, you can use suggest_destinations to see what the platform's search autocomplete returns for a query string. Each suggestion includes destination_id (prefixed area_, place_, or property_), title, subtitle, type (area, place, or property), and subtype values such as recreation, city, city_part, water, ski, or golf. This lets you confirm the exact destination identifier and avoid zero-result searches. When search_properties receives keywords that match no destination, the response includes a message field instead of results.
Pagination and filtering
Page through results by incrementing offset by the value of limit. The total field tells you the full match count so you can calculate how many pages exist. Filters are applied as a comma-separated string; available keys span accommodation type, on-site amenities, surrounding environment, and guest suitability — consult the FilterKey enum in the endpoint spec for the full set.
The e-chalupy API is a managed, monitored endpoint for e-chalupy.cz — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when e-chalupy.cz changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official e-chalupy.cz API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Czech holiday rental search with date availability, group size and amenity filters using
search_properties. - Aggregate nightly or per-stay price data across cottage types and Czech regions for market analysis.
- Power a location autocomplete widget for Czech vacation destinations using
suggest_destinations. - Map GPS-tagged rental properties across Bohemia and Moravia for a geo-visualisation tool.
- Track average
ratingandreview_counttrends for cottages in specific Czech ski or lake areas over time. - Filter properties by minimum
bedroomsandpersonscapacity to surface group-suitable rentals for a travel planning app. - Compare
price_amountby accommodationtype(chalupa vs. apartment vs. pension) for a given destination and date range.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does e-chalupy.cz have an official public developer API?+
How does keyword-to-destination resolution work in `search_properties`?+
keywords string (e.g. a region name, lake, or ski resort), the endpoint attempts to resolve it to the site's internal destination identifiers. The top-level resolved_keywords field in the response shows the matched destination including its destination_id, title, type, and subtype. If no destination matches, results will be empty and a message field is included. Use suggest_destinations first if you need to validate or explore possible matches before searching.Are individual property detail pages — photos, full amenity lists, host contact info — available?+
url field each result returns.What is the maximum number of results I can retrieve per request?+
limit parameter accepts values from 1 to 60. To retrieve more than 60 results, increment offset by your chosen limit value on each subsequent call. The total field in every response gives the full count of matching properties, and has_more is true while further pages exist.Does the API cover Slovak or other non-Czech destinations listed on e-chalupy.cz?+
suggest_destinations endpoint will surface Slovak place names and regions where they exist in the site's autocomplete. However, coverage depth for Slovakia may be lower than for Czech destinations, and no separate country filter parameter is exposed. You can fork this API on Parse and revise it to add an explicit country or region filter if your use case needs it.