justice APIjustice.cz ↗
Access official Czech company data from ARES and the Insolvency Register. Search by IČO or name, retrieve legal status, representatives, and insolvency proceedings.
What is the justice API?
This API exposes 6 endpoints for querying official Czech business registry data from ARES and the ISIR insolvency portal. Use get_economic_subject_by_ico to pull a full company profile — address, legal form, NACE codes, and cross-register statuses — by an 8-digit IČO. Other endpoints surface representative lists, public register filings, legal status flags, and active insolvency proceedings for any registered Czech economic subject.
curl -X POST 'https://api.parse.bot/scraper/70e4b767-5c28-4851-8d3e-2edef33556c3/search_economic_subjects' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"ico": "27082440",
"pocet": "5",
"start": "0",
"obchodni_jmeno": "Alza.cz"
}'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 justice-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.
"""Walkthrough: Czech Company Registry (ARES) SDK — bounded, re-runnable."""
from parse_apis.czech_company_registry_ares_insolvency_api import (
Ares, SubjectNotFound
)
client = Ares()
# Search for companies by name — limit caps total items fetched.
for subject in client.economicsubjects.search(name="Alza.cz", limit=3):
print(subject.obchodni_jmeno, subject.ico, subject.datum_vzniku)
# Fetch full details of one company by IČO.
company = client.economicsubjects.get(ico="27082440")
print(company.obchodni_jmeno, company.sidlo.textova_adresa)
# Instance methods: legal status, representatives, insolvency check.
status = company.legal_status()
print(status.name, status.status.stav_zdroje_vr, status.status.stav_zdroje_ir)
for rep in company.representatives.list(limit=3):
print(rep.jmeno, rep.prijmeni, rep.organ)
insolvency = company.check_insolvency()
print(insolvency.found, insolvency.count)
# Typed error handling for a non-existent IČO.
try:
client.economicsubjects.get(ico="99999999")
except SubjectNotFound as exc:
print(f"Not found: {exc.ico}")
print("exercised: search / get / legal_status / representatives.list / check_insolvency")
Search for economic subjects (companies) by name, IČO, address, etc. across all ARES registers. Returns paginated results. The upstream API limits results to 1000 total; overly broad queries return an error.
| Param | Type | Description |
|---|---|---|
| ico | string | Registration number (IČO) of the subject. Comma-separated list for multiple values (e.g. '27082440,60193336'). |
| pocet | integer | Number of results per page. |
| start | integer | Offset for pagination (0-based). |
| obchodni_jmeno | string | Business name or part of it to search for. |
{
"type": "object",
"fields": {
"pocetCelkem": "integer total count of matching subjects",
"ekonomickeSubjekty": "array of economic subject objects with ico, obchodniJmeno, sidlo, seznamRegistraci"
},
"sample": {
"data": {
"pocetCelkem": 1,
"ekonomickeSubjekty": [
{
"dic": "CZ27082440",
"ico": "27082440",
"sidlo": {
"textovaAdresa": "Jankovcova 1522/53, Holešovice, 17000 Praha 7"
},
"datumVzniku": "2003-08-26",
"pravniForma": "121",
"obchodniJmeno": "Alza.cz a.s.",
"seznamRegistraci": {
"stavZdrojeVr": "AKTIVNI",
"stavZdrojeRes": "AKTIVNI"
}
}
]
},
"status": "success"
}
}About the justice API
Company Search and Lookup
search_economic_subjects accepts a comma-separated list of IČO values, a partial business name (obchodni_jmeno), or address fragments, and returns a paginated result set with pocetCelkem (total match count) alongside an ekonomickeSubjekty array. Each array entry includes the ico, obchodniJmeno, sidlo (registered address), and seznamRegistraci (registration status summary). Pagination is controlled with pocet (page size) and start (0-based offset). get_economic_subject_by_ico returns the same core fields plus richer detail — NACE activity codes and per-register status values like stavZdrojeVr and stavZdrojeRes — for a single IČO.
Legal Status and Public Register Records
get_company_legal_status returns a compact status object whose fields (stavZdrojeVr, stavZdrojeRes, stavZdrojeRzp, and others) map each ARES sub-register to a value such as AKTIVNI, NEEXISTUJICI, or Z. This is useful for quickly flagging whether a company is still active without parsing a full profile. get_subject_from_public_register_vr goes deeper: it returns zaznamy, an array of Public Register (Veřejný rejstřík) records containing statutarniOrgany (statutory organs), ostatniOrgany, akcie (shares), and zakladniKapital (registered capital), including historical entries.
Representatives and Insolvency
get_company_representatives processes VR data and returns a structured representatives array. Each entry carries typ, jmeno, prijmeni, funkce (role), organ (board), adresa, and datum_narozeni. This is the most direct path to a list of current executives or board members without parsing raw register records yourself. search_insolvency_register queries the ISIR portal by ico or nazev (at least one required) and returns a found boolean, a count of proceedings, and the url of the results page — sufficient to check whether a company has any active or historical insolvency filings.
The justice API is a managed, monitored endpoint for justice.cz — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when justice.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 justice.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?+
- Automated KYC pipeline that checks a supplier's legal status via
get_company_legal_statusbefore onboarding - Due diligence tool that pulls representative names and birth dates from
get_company_representativesfor sanctions screening - Credit risk workflow that flags companies with active insolvency proceedings using
search_insolvency_register - Business directory enrichment that resolves a Czech company name to a full address and IČO via
search_economic_subjects - Legal research application that retrieves historical share structure and registered capital from
get_subject_from_public_register_vr - Compliance dashboard that monitors a watchlist of IČO values for changes in ARES registration status flags
- Vendor verification service that cross-checks submitted IČO against official ARES data to confirm business name and address
| 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 justice.cz have an official developer API?+
What does `get_company_representatives` return, and does it include historical representatives?+
representatives array derived from Public Register (VR) data. Each entry includes the person's name, role (funkce), organ (organ), address, and date of birth. The underlying VR data via get_subject_from_public_register_vr does contain historical zaznamy records, but get_company_representatives surfaces the structured list as parsed from those records — whether historical entries appear depends on what the VR record includes for that IČO.IČO values in Czech records sometimes have leading zeros — does the API handle that?+
ico parameter require exactly 8 digits, and leading zeros are significant. For example, 00177041 and 177041 are treated as different values. Always zero-pad IČO values to 8 characters before querying.Does the API return financial statements or annual report data for Czech companies?+
Can I search for sole traders (OSVČ) or non-profit organizations, or only companies?+
search_economic_subjects and get_economic_subject_by_ico endpoints query ARES, which covers all registered economic subjects — including sole traders, associations, and public institutions — not just companies. However, the get_subject_from_public_register_vr and get_company_representatives endpoints draw from the Veřejný rejstřík, which covers entities required to register there (primarily companies and certain other legal persons). Sole traders not enrolled in VR will return no data from those two endpoints. You can fork the API on Parse and revise it to target the Živnostenský rejstřík endpoint for richer sole trader data.