Gov APInahlizenidokn.cuzk.gov.cz ↗
Query the Czech cadastre by address or code. Retrieve parcel area, land type, LV numbers, cadastral territory codes, and map previews via 5 endpoints.
What is the Gov API?
This API exposes 5 endpoints for querying the Czech Land Registry (Nahlížení do katastru nemovitostí, operated by ČÚZK). Use search_building_by_address to resolve a Czech address string into cadastral data including parcel number, area in square meters, land type, and a map preview URL. Other endpoints cover parcel lookups, land registry sheet (LV) searches by cadastral territory code, object detail retrieval via encrypted tokens, and cadastral territory code discovery.
curl -X GET 'https://api.parse.bot/scraper/409de72d-4782-4f17-9d12-b4704f010a72/search_building_by_address?query=V%C3%A1clavsk%C3%A9+n%C3%A1m%C4%9Bst%C3%AD+1%2C+Praha' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace nahlizenidokn-cuzk-gov-cz-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.czech_land_registry_cuzk_api import CzechLandRegistry, Property, CadastralTerritory, AddressNotFound
client = CzechLandRegistry()
# Search for a property by address
prop = client.properties.search_by_address(query="Václavské náměstí 1, Praha")
print(prop.title, prop.vymera_m2, prop.druh_pozemku)
# Look up cadastral territories to find a territory code
for territory in client.cadastralterritories.search(query="Žižkov"):
print(territory.data, territory.value)
# Search for a land registry sheet using the found code
lv = client.registrysheets.search(ku="727415", lv="2008")
print(lv.title, lv.cislo_lv, lv.katastralni_uzemi)
# Get object details using a token/URL from previous results
detail = client.properties.get(token=prop.url)
print(detail.title, detail.obec)
Search for property (parcel/building) details by Czech address string. Uses the ČÚZK address autocomplete to find the best match, then retrieves the property detail page. Returns comprehensive cadastral data including parcel number, area, land type, building information, and map URL. The result combines parcel and building data for the address location.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Czech-format address string with street, number, and city (e.g. 'Václavské náměstí 1, Praha', 'Náměstí Republiky 1, Praha'). |
{
"type": "object",
"fields": {
"url": "string, URL of the detail page on ČÚZK",
"obec": "object with text and url for the municipality",
"title": "string, page title (e.g. 'Informace o pozemku')",
"map_url": "string, URL to map preview image",
"cislo_lv": "object with text and url for the LV number",
"vymera_m2": "string, area in square meters",
"druh_pozemku": "string, type of land",
"parcelni_cislo": "object with text and url for the parcel number",
"stavebni_objekt": "object with text and url for the construction object",
"katastralni_uzemi": "object with text and url for the cadastral territory",
"stavba_stoji_na_pozemku": "object with text and url for the building on this parcel"
},
"sample": {
"data": {
"url": "https://nahlizenidokn.cuzk.gov.cz/ZobrazObjekt.aspx?encrypted=NAHL~...",
"obec": {
"url": "https://vdp.cuzk.gov.cz/vdp/ruian/obce/554782",
"text": "Praha [554782]"
},
"title": "Informace o pozemku",
"map_url": "https://sgi-nahlizenidokn.cuzk.gov.cz/marushka/handlers/vratlokalizacninahled.ashx?ThemeID=3&MarWidth=320&MarHeight=240&MarQueryID=2EDA9E08&MarQParam0=2070190101&MarQParamCount=1",
"cislo_lv": {
"url": "https://nahlizenidokn.cuzk.gov.cz/ZobrazObjekt.aspx?encrypted=NAHL~...",
"text": "384"
},
"vymera_m2": "2710",
"druh_pozemku": "zastavěná plocha a nádvoří",
"parcelni_cislo": {
"url": "https://vdp.cuzk.gov.cz/vdp/ruian/parcely/2070190101",
"text": "582"
},
"stavebni_objekt": {
"url": "https://vdp.cuzk.gov.cz/vdp/ruian/stavebniobjekty/21654671",
"text": "č. p. 846"
},
"katastralni_uzemi": {
"url": "https://nahlizenidokn.cuzk.gov.cz/VyberKatastrInfo.aspx?encrypted=NAHL~...",
"text": "Nové Město [727181]"
},
"stavba_stoji_na_pozemku": {
"url": "https://nahlizenidokn.cuzk.gov.cz/ZobrazObjekt.aspx?encrypted=NAHL~...",
"text": "p. č.582"
}
},
"status": "success"
}
}About the Gov API
Address-Based Property Lookup
search_building_by_address and search_parcel_by_address both accept a Czech-format address string via the query parameter (e.g. 'Václavské náměstí 1, Praha'). Both return a url pointing to the ČÚZK detail page, an obec object with municipality name and URL, parcelni_cislo with the parcel identifier, vymera_m2 (area in m²), druh_pozemku (land use type), katastralni_uzemi with territory name and URL, and a map_url for a map preview image. search_building_by_address additionally returns stavebni_objekt and cislo_lv for the associated construction object and land registry sheet number.
Land Registry Sheet (LV) Search
search_lv looks up a registry sheet by two required parameters: ku (cadastral territory numeric code, e.g. '727415' for Žižkov) and lv (the LV number). It returns the LV detail page url, title, cislo_lv, and a katastralni_uzemi object. If the LV is not found, the response indicates stale_input. To find the correct ku code before calling search_lv, use get_cadastral_territory_info with a keyword such as 'Vinohrady'; it returns a suggestions array where each item carries a numeric data code and a human-readable value.
Token-Based Object Detail
get_object_details accepts either a bare NAHL~ encrypted token or a full ČÚZK URL containing one — both sourced from the url or linked fields returned by the other endpoints. It returns the detail page url, a title indicating the object type (parcel, building, unit, or LV), and a map_url where available. This makes it straightforward to follow references returned by address or LV searches without manually constructing URLs.
Coverage Constraints
Ownership names, rights, and full LV content listings require government-issued identity verification (NIA login) on the ČÚZK portal and are not accessible through this API. The API covers publicly visible cadastral attributes: geometry, land classification, parcel identifiers, building references, and territorial metadata.
The Gov API is a managed, monitored endpoint for nahlizenidokn.cuzk.gov.cz — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nahlizenidokn.cuzk.gov.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 nahlizenidokn.cuzk.gov.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?+
- Resolve a Czech property address to its parcel number and cadastral territory code for title search workflows
- Retrieve land use type (
druh_pozemku) and area (vymera_m2) for a set of addresses to support urban planning analysis - Look up an LV sheet by territory code and LV number to confirm a property's registry entry exists before deeper due diligence
- Discover the numeric cadastral territory code for a Prague district using
get_cadastral_territory_infobefore constructing LV queries - Fetch map preview URLs for a list of parcels to display location thumbnails in a real estate application
- Follow
cislo_lvorstavebni_objektreference links from address results intoget_object_detailsto retrieve related object data - Automate batch cadastral lookups across multiple addresses to enrich property datasets with official ČÚZK identifiers
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ČÚZK offer an official developer API for Nahlížení do katastru nemovitostí?+
What does `get_cadastral_territory_info` return and how do I use it with `search_lv`?+
get_cadastral_territory_info takes a keyword query (e.g. 'Žižkov') and returns a suggestions array. Each suggestion has a data field containing the numeric territory code and a value field with the human-readable name including that code. Pass the data value as the ku parameter in search_lv alongside your lv number.Does the API return ownership or rights information from the land registry sheet?+
Does the API cover land registry data outside Bohemia and Moravia, or historical cadastral records?+
What happens if `search_lv` cannot find the requested LV number?+
stale_input indicator rather than a detail page. This typically means the combination of ku (cadastral territory code) and lv number did not match a registry sheet. Verify the territory code using get_cadastral_territory_info and confirm the LV number independently before retrying.