Skip to main content

Data Sources

Czechia uses multiple official registers orchestrated through ARES. For a given entity, data is assembled from ARES as the discovery layer, then enriched from the primary source register indicated by ARES. The primary source takes precedence for overlapping attributes.

Registers

  • ARES (Administrative Register of Economic Subjects) — Operated by the Ministry of Finance (ares.gov.cz), ARES is the central discovery layer for all Czech entities. It aggregates data from over a dozen underlying registers and provides: company name, legal form, registered address, activity codes (CZ-NACE), registration/dissolution dates, tax identifiers (DIC/DPH), and registration statuses across all connected registers (VR, RZP, DPH, IR, etc.). ARES also indicates a primary data source per entity (primarniZdroj), which drives the orchestration strategy.
  • VR (Commercial Register) — The Obchodni rejstrik, operated by the Ministry of Justice (or.justice.cz). Contains detailed data for legal entities registered in the commercial register: legal name, registered address, share capital, legal form, business purpose, legal representatives (Statutarni organ), shareholders (Spolecnici), and dissolution/deletion information. Data is extracted by parsing HTML pages (no structured API is available).
  • RZP (Trade Licensing Register) — The Rejstrik zivnostenskeho podnikani (rzp.gov.cz). Contains business license data primarily for sole traders and licensed businesses: legal name, registered address, registration date, and licensed activities. Accessed via a session-based XML API. Also the source for Trade Register Extract PDF documents.
  • ESM (Evidence of Beneficial Owners) — The Evidence skutecnych majitelu (esm.justice.cz). Contains Ultimate Beneficial Owner (UBO) data: names, birth dates, nationalities, residence addresses, ownership percentages, voting rights, and control nature (direct/indirect). Data is extracted by parsing HTML pages. Currently implemented but not yet exposed as a standalone datapoint (commented out in workflow configuration).
ARES is the orchestration hub. Every company profile request starts with ARES for discovery and base attributes. ARES indicates a primary source per entity (vr, rzp, or others), and the system fetches complementary data from that source. If the primary source fetch fails, available data from ARES alone is used. If no primary source is indicated, both VR and RZP are queried in parallel (best-effort).
  1. ARES is always queried first to discover the entity and get base attributes (name, address, legal form, activity codes, identifiers, status)
  2. ARES indicates a primary source (primarniZdroj):
    • vr — Commercial Register: the system fetches VR data (legal reps, shareholders, capital, status, legal form) and merges it into the ARES base
    • rzp — Trade Licensing Register: the system fetches RZP data (name, address, registration date, activities) and merges it
    • Other/null — both VR and RZP are queried in parallel, and any available data is merged
  3. For overlapping attributes (e.g., legal name, address), the primary source takes precedence over ARES
  4. AI enrichment is applied as a final step: activities get ISIC codes, status gets standardized classification, legal form gets ISO 20275 codes

Company Identifiers

Query Identifiers

Company TypeSourceFormatExampleNotes
All entitiesARES8 digits (ICO)21110365Spaces are stripped (e.g., 19188 889 becomes 19188889)
ICO Format: The ICO (Identifikacni cislo osoby) is always 8 digits. Input with spaces is tolerated — they are automatically stripped before processing.

Identifiers in API Response

Once you retrieve company data, the identifiers object contains all available identifiers for that entity:
Identifier TypeFormatExampleFound In
ico8 digits21110365All entities
dicCZ + 8-10 digitsCZ21110365Tax-registered entities (normalized with CZ prefix)
vatCZ + 8-10 digitsCZ21110365Only when ARES confirms active DPH (VAT) status
VAT vs DIC: The dic (Tax Identification Number) is always returned when available. The vat identifier is only set when ARES confirms the entity has active DPH (VAT) registration status. We do not synthesize VAT from ICO or query the DPH register separately. For sole traders and individuals, the VAT number may have 9-10 digits and can differ from the ICO.

Search Capabilities

Search TypePatternExampleMatch TypeExpected Results
By ICO8 digits21110365ExactSingle company (1 result)
By ICO (with spaces)Digits with spaces19188 889ExactSingle company (spaces stripped)
By NameText string (2-200 chars)"PalmApp Tech s.r.o."Contains/partialMultiple results (up to 30)
Search Performance: Use ICO-based searches for best performance and exact matching. Name searches query ARES and may return up to 30 results. If a name search returns too many results, ARES will return an error suggesting a more specific search term.
Unsupported search inputs: DIC and VAT numbers are not supported as search inputs. Only ICO and company name searches are available.

Company Status

Company status is determined from ARES registration statuses across multiple registers (VR, RES, RZP, DPH, IR). The logic is deterministic — no AI inference is involved for status determination. AI enrichment is applied afterward for standardization only.

Status Determination Logic

ConditionLocal StatusStandardized StatusNotes
Active in any register (VR, RES, DPH, RZP)ActiveActiveAny active registration means the entity is active
In liquidation (VR or RES shows V LIKVIDACI)In LiquidationActiveTreated as active — entity still exists
Insolvency register (IR) active AND entity activeUnder Insolvency ProceedingsUnder Insolvency ProceedingReflects proceedings, not outcome
VR or RES shows ZRUSENY (and not active elsewhere)DissolvedClosedEntity has been removed from register
RES cessation date (datumZaniku) presentDissolvedClosedOverrides all other signals
None of the aboveUnknownUnknownInsufficient data to determine status

Closure Reasons (from VR)

When a company is dissolved, the closure reason is determined by parsing Czech legal text from the Commercial Register:
Czech PatternStandardized Closure Reason
konkurs / konkurz / insolvence / upadekBankruptcy
fuze / slouceni / splynutMerger
prevod jmeni na jedineho spolecnika/akcionareAcquisition
zrusena s likvidaci (rozhodnutim valne hromady)Voluntary Dissolution
zrusena s likvidaci (general)Liquidation
zrusena dle paragrafu / ex legeAdministrative Dissolution
rozhodnutim soudu / usneseni souduCourt Order
Other patternsOther
VR closure reasons are extracted by pattern-matching normalized (diacritics-stripped) Czech text from the Commercial Register’s “Ostatni skutecnosti” (Other facts) and insolvency sections. If no specific pattern matches, the closure reason defaults to “Other.”
Czechia uses a deterministic legal form mapping via the ARES “Právní forma” codelist. The mapping provides the local Czech name and an English translation for each code. For known codes, standardized classification is applied directly; for unrecognized codes, AI-based classification is used as fallback. ISO 20275 (ELF) codes will be populated in a future update.
Legal forms are classified from official registry data. For known codes, standardized classification is applied directly; for unrecognized codes, AI-based classification is used as fallback.

Sole Proprietors (codes 100–110)

CodeLocal NameEnglish TranslationStandardizedISO 20275
100Podnikající fyzická osoba tuzemskáDomestic sole proprietorSole Proprietorship95G8
101Fyzická osoba podnikající dle živnostenského zákonaSole trader under the Trade Licensing ActSole Proprietorship95G8
102Fyzická osoba podnikající dle živnostenského zákona zapsaná v obchodním rejstříkuSole trader under the Trade Licensing Act (Commercial Register)Sole Proprietorship95G8
103Samostatně hospodařící rolník nezapsaný v obchodním rejstříkuSelf-employed farmerSole ProprietorshipAM3T
104Samostatně hospodařící rolník zapsaný v obchodním rejstříkuSelf-employed farmer (Commercial Register)Sole Proprietorship95G8
105Fyzická osoba podnikající dle jiných zákonů než živnostenského a zákona o zemědělstvíSole proprietor under other lawsSole Proprietorship95G8
106Fyzická osoba podnikající dle jiných zákonů než živnostenského a zákona o zemědělství zapsaná v obchodním rejstříkuSole proprietor under other laws (Commercial Register)Sole Proprietorship95G8
107Zemědělský podnikatel - fyzická osobaAgricultural entrepreneur – natural personSole Proprietorship95G8
108Zemědělský podnikatel - fyzická osoba zapsaná v obchodním rejstříkuAgricultural entrepreneur – natural person (Commercial Register)Sole Proprietorship95G8
109Fyzická osoba podnikající v oblasti vodního hospodářstvíNatural person in water managementSole Proprietorship95G8
110Fyzická osoba podnikající v oblasti vodního hospodářství zapsaná v obchodním rejstříkuNatural person in water management (Commercial Register)Sole Proprietorship95G8

Partnerships and Capital Companies (codes 111–121)

CodeLocal NameEnglish TranslationStandardizedISO 20275
111Veřejná obchodní společnostGeneral partnershipPartnership5KU5
112Společnost s ručením omezenýmLimited liability companyLimited Liability Company9HLU
113Společnost komanditníLimited partnershipPartnershipCD28
114Společnost komanditní na akciePartnership limited by sharesPartnership747U
115Společný podnikJoint ventureOtherY18E
116Zájmové sdruženíAssociationNon-profit Organization7OZQ
117NadaceFoundationNon-profit Organization3G3D
118Nadační fondEndowment fundNon-profit OrganizationQS6A
121Akciová společnostJoint-stock companyCorporation6CQN

Cooperatives (codes 131–261)

CodeLocal NameEnglish TranslationStandardizedISO 20275
131Svépomocné zemědělské družstvoSelf-help agricultural cooperativeCooperative1JK6
141Obecně prospěšná společnostPublic benefit companyNon-profit OrganizationBL4B
145Společenství vlastníků jednotekAssociation of unit ownersOtherIQ9O
151Komoditní burzaCommodity exchangeOtherNQHQ
152Garanční fond obchodníků s cennými papírySecurities Traders’ Guarantee FundOther4UB2
161ÚstavInstituteNon-profit OrganizationQJ0F
201Zemědělské družstvoAgricultural cooperativeCooperativeZ3BF
205DružstvoCooperativeCooperative9RVC
211Družstevní podnik zemědělskýAgricultural cooperative enterpriseCooperativeWJ30
231Výrobní družstvoProduction cooperativeCooperativeC7GZ
232Spotřební družstvoConsumer cooperativeCooperative8K5T
233Bytové družstvoHousing cooperativeCooperativeT3Q1
234Jiné družstvoOther cooperativeCooperativeZU32
241Družstevní podnik (s 1 zakladatelem)Cooperative enterprise (single founder)CooperativeRHFQ
242Společný podnik (s více zakladateli)Joint venture (multiple founders)CooperativeNJ87
251Zájmová organizace družstevAssociation of cooperativesCooperative4A26
261Společná zájmová organizace družstevJoint interest organization of cooperativesCooperativeV6YH

State and Government Entities (codes 301–392)

CodeLocal NameEnglish TranslationStandardizedISO 20275
301Státní podnikState enterpriseGovernment-Owned Entity6FAI
302Národní podnikNational enterpriseGovernment-Owned EntityUFDA
311Státní banka československáState Bank of CzechoslovakiaGovernment-Owned EntityKM6Z
312Banka-státní peněžní ústavState monetary institution (bank)Government-Owned EntityFIPS
313Česká národní bankaCzech National BankGovernment-Owned EntityNPH3
314Česká konsolidační agenturaCzech Consolidation AgencyGovernment-Owned Entity2N9X
321Rozpočtová organizaceBudgetary organizationGovernment-Owned EntityH6WW
325Organizační složka státuState organizational unitGovernment-Owned EntityLJL0
326Stálý rozhodčí soudPermanent Arbitration CourtOther4YAK
331Příspěvková organizace zřízená územním samosprávným celkemContributory organization of a municipality/regionGovernment-Owned EntityMBUU
332Státní příspěvková organizaceState contributory organizationGovernment-Owned EntityH6WW
333Státní příspěvková organizace ostatníOther state contributory organizationGovernment-Owned Entity74W6
341Státní hospodářská organizace řízená okresním úřademState economic organization managed by a district officeGovernment-Owned Entity84J8
343Obecní podnikMunicipal enterpriseGovernment-Owned EntityRP0E
351Československé státní dráhy-státní organizaceCzechoslovak State Railways – state organizationGovernment-Owned EntityLJ92
352Státní organizace Správa železnicState organization Railway AdministrationGovernment-Owned EntityAPEN
353Rada pro veřejný dohled nad auditemPublic Audit Oversight BoardGovernment-Owned EntityQJWK
361Veřejnoprávní institucePublic law institutionGovernment-Owned EntityNI3I
362Česká tisková kancelářCzech News AgencyGovernment-Owned Entity917C
381Státní fond ze zákonaStatutory state fundGovernment-Owned Entity3RMA
382Státní fond ze zákona nezapisující se do obchodního rejstříkuStatutory state fund not registered in the Commercial RegisterGovernment-Owned EntityAM3T
391Zdravotní pojišťovna (mimo VZP)Health insurance company (excluding VZP)Government-Owned EntityQQ49
392Všeobecná zdravotní pojišťovnaGeneral Health Insurance CompanyGovernment-Owned EntityC4Q2

Foreign / Branch Entities (codes 401–442)

CodeLocal NameEnglish TranslationStandardizedISO 20275
401Sdružení mezinárodního obchoduInternational trade associationNon-profit OrganizationI32F
411Podnik se zahraniční majetkovou účastíEnterprise with foreign equity participationOtherCHJR
421Odštěpný závod zahraniční právnické osobyBranch of a foreign legal entityBranch / Representative OfficeTNBA
422Organizační složka zahraničního nadačního fonduOrganizational unit of a foreign endowment fundBranch / Representative OfficeHY6K
423Organizační složka zahraniční nadaceOrganizational unit of a foreign foundationBranch / Representative OfficeVQU7
424Zahraniční fyzická osobaForeign natural personOtherCZUA
425Odštěpný závod zahraniční fyzické osobyBranch of a foreign natural personBranch / Representative OfficeU95A
426Zastoupení zahraniční bankyRepresentative office of a foreign bankBranch / Representative OfficeJJYB
441Podnik zahraničního obchoduForeign trade enterpriseOtherHSNC
442Účelová zahraničně obchodní organizacePurpose-specific foreign trade organizationOtherWVZF

Branches and Sub-units (codes 501–541)

CodeLocal NameEnglish TranslationStandardizedISO 20275
501Odštěpný závodBranchBranch / Representative OfficeWUFK
521Samostatná drobná provozovna (obecního úřadu)Independent small establishment (municipal office)OtherC5FE
525Vnitřní organizační jednotka organizační složky státuInternal unit of a state organizational componentOtherHS5W
531Oblastní organizační jednotka ČDRegional organizational unit of Czech RailwaysGovernment-Owned EntityLJ92
532Účelová organizační jednotka ČDPurpose-specific organizational unit of Czech RailwaysGovernment-Owned EntityLJ92
533Specializovaná organizační jednotka ČDSpecialized organizational unit of Czech RailwaysGovernment-Owned EntityLJ92
534Jednotka státní drážní -technická inspekceState railway unit – technical inspectionGovernment-Owned EntityAPEN
535Jednotka sboru ozbrojené ochrany železnicRailway Armed Protection Corps unitGovernment-Owned EntityAPEN
536Jednotka drážního správního úřaduRailway administrative authority unitGovernment-Owned EntityAPEN
541Podílový, penzijní fondMutual or pension fundOtherSNWJ

Education (codes 601–671)

CodeLocal NameEnglish TranslationStandardizedISO 20275
601Vysoká škola (veřejná, státní)University (public, state)Non-profit OrganizationOVKW
602Fakulta vysoké školyUniversity facultyNon-profit OrganizationOVKW
603Jiné pracoviště vysoké školy / fakultyOther unit of university/facultyNon-profit OrganizationOVKW
611Střední školaSecondary schoolNon-profit OrganizationOVKW
621Základní školaPrimary schoolNon-profit OrganizationD1VK
625Školské zařízeníSchool facilityNon-profit OrganizationD1VK
631Předškolní zařízeníPreschool facilityNon-profit OrganizationNI3I
641Školská právnická osobaSchool legal entityNon-profit OrganizationD1VK
651Zdravotnické zařízeníHealthcare facilityNon-profit OrganizationH4XQ
661Veřejná výzkumná institucePublic research institutionGovernment-Owned EntityCIO8
671Veřejné neziskové ústavní zdravotnické zařízeníPublic non-profit institutional healthcare facilityNon-profit OrganizationH4XQ

Civil Society / Non-profits (codes 701–771)

CodeLocal NameEnglish TranslationStandardizedISO 20275
701Občanské sdruženíCivic associationNon-profit Organization9XDB
702Pojišťovací spolekMutual insurance associationNon-profit OrganizationC4Q2
703Odborová organizace a organizace zaměstnavatelůTrade union and employers’ organizationNon-profit OrganizationQ25I
704Zvláštní organizace pro zastoupení českých zájmů v mezinárodních nevládních organizacíchSpecial organization representing Czech interests in international NGOsNon-profit OrganizationWL83
705Podnik nebo hospodářské zařízení sdruženíEnterprise or economic facility of an associationNon-profit Organization971Y
706SpolekAssociationNon-profit OrganizationCATU
707Odborová organizaceTrade unionNon-profit OrganizationQ25I
708Organizace zaměstnavatelůEmployers’ organizationNon-profit OrganizationCUKQ
711Politická strana, politické hnutíPolitical party, political movementNon-profit OrganizationXRK7
715Podnik nebo hospodářské zařízení politické stranyEnterprise or economic facility of a political partyNon-profit Organization2DK3
721Církve a náboženské společnostiChurches and religious societiesNon-profit OrganizationFY1B
722Evidované církevní právnické osobyRegistered church legal entitiesNon-profit OrganizationJCAD
723Svazy církví a náboženských společnostíUnions of churches and religious societiesNon-profit OrganizationET6Z
731Organizační jednotka občanského sdruženíOrganizational unit of a civic associationNon-profit Organization6OMW
732Organizační jednotka politické strany, politického hnutíOrganizational unit of a political party or movementNon-profit OrganizationXRK7
733Pobočná odborová organizace a organizace zaměstnavatelůBranch trade union and employers’ organizationNon-profit OrganizationP3YF
734Organizační jednotka zvláštní organizace pro zastoupení českých zájmů v mezinárodních nevládních organizacíchOrganizational unit of a special organization representing Czech interests in international NGOsNon-profit OrganizationI68R
736Pobočný spolekBranch associationNon-profit OrganizationG2I3
741Samosprávná stavovská organizace (profesní komora)Self-governing professional chamberNon-profit OrganizationO9PW
745Komora (hospodářská, agrární)Chamber of commerce or agricultureNon-profit OrganizationHQPK
751Zájmové sdružení právnických osobAssociation of legal entitiesNon-profit OrganizationVIE3
761Honební společenstvoHunting associationNon-profit OrganizationLEDI
771Dobrovolný svazek obcíVoluntary union of municipalitiesGovernment-Owned EntityMAVU

Municipalities and Regions (codes 801–811)

CodeLocal NameEnglish TranslationStandardizedISO 20275
801ObecMunicipalityGovernment-Owned EntityJ8PB
802Okresní úřadDistrict officeGovernment-Owned Entity84J8
804KrajRegionGovernment-Owned EntityQIEL
805Regionální rada regionu soudržnostiRegional Council of a Cohesion RegionGovernment-Owned Entity4OTK
811Městská část, městský obvodCity district, municipal boroughGovernment-Owned EntityPFE5

Foreign and International Entities (codes 901–999)

CodeLocal NameEnglish TranslationStandardizedISO 20275
901Zastupitelský orgán jiných státůForeign diplomatic missionBranch / Representative OfficeLJL0
906Zahraniční spolekForeign associationBranch / Representative OfficeD35X
907Mezinárodní odborová organizaceInternational trade union organizationNon-profit OrganizationLPCQ
908Mezinárodní organizace zaměstnavatelůInternational employers’ organizationNon-profit OrganizationCUKQ
911Zahraniční kulturní, informační středisko, rozhlasová, tisková a televizní agenturaForeign cultural/information center; radio, press and TV agencyBranch / Representative OfficeNI3I
921Mezinárodní nevládní organizaceInternational non-governmental organizationNon-profit OrganizationPQJE
922Organizační jednotka mezinárodní nevládní organizaceOrganizational unit of an international NGONon-profit OrganizationR2XE
931Evropské hospodářské zájmové sdruženíEuropean Economic Interest GroupingPartnershipRBGQ
932Evropská společnostEuropean Company (Societas Europaea)CorporationZQO8
933Evropská družstevní společnostEuropean Cooperative SocietyCooperativeT1FT
936Zahraniční pobočný spolekForeign branch associationBranch / Representative OfficeJJYB
937Pobočná mezinárodní odborová organizaceBranch international trade union organizationBranch / Representative OfficeWO0T
938Pobočná mezinárodní organizace zaměstnavatelůBranch international employers’ organizationBranch / Representative Office5AP3
941Evropské seskupení pro územní spolupráciEuropean Grouping of Territorial CooperationGovernment-Owned Entity3BX3
950Subjekt právním řádem výslovně neupravenýEntity not expressly regulated by lawOtherJCAD
951Mezinárodní vojenská organizace vzniklá na základě mezinárodní smlouvyInternational military organization established by international treatyOtherPQJE
952Konsorcium evropské výzkumné infrastrukturyEuropean Research Infrastructure ConsortiumOther3BX3
960Právnická osoba zřízená zvláštním zákonem zapisovaná do veřejného rejstříkuLegal entity established by special act entered in the public registerOtherXG70
961Svěřenský fondTrustTrust6D9L
962Zahraniční svěřenský fondForeign trustTrust6D9L
963Národní akreditační úřad pro terciární vzděláváníNational Accreditation Bureau for Higher EducationGovernment-Owned Entity-
999OstatníOtherOther74W6
Legal representatives are extracted from the Commercial Register (VR) under the Statutarni organ (Statutory body) section. Data is obtained by parsing the VR HTML pages.

Extraction Details

  • Source: VR (or.justice.cz) HTML pages, specifically the Statutarni organ section
  • Role detection: Currently extracts persons with the Jednatel (Managing Director) role label
  • Data extracted per person: Full name, birth date (day/month/year), residential address, function start date (Den vzniku funkce), function end date (Den zaniku funkce)
  • Role mapping: Jednatel is mapped to Managing Director (standardized)
Czech RoleEnglish TranslationStandardized Role
JednatelManaging DirectorManaging Director
Current limitation: The VR parser specifically looks for the Jednatel label in the statutory body section. Other statutory roles (e.g., board members in a.s. companies, Clen predstavenstva, Predseda predstavenstva) may not be extracted in all cases. Legal representatives are only available for entities registered in the Commercial Register (VR).

Other Key Persons

Other key persons (such as supervisory board members and controllers) are extracted from ARES when available. These are persons associated with the company who are neither legal representatives nor shareholders.
Other key persons data availability depends on the entity type and the primary register source. Not all companies have other key persons in their register records.

Shareholders

Shareholders are extracted from the Commercial Register (VR) under the Spolecnici (Partners) section. Data is obtained by parsing the VR HTML pages.

Extraction Logic

  • Section detection: The parser looks for Spolecnici (Partners) or Akcionar (Shareholder) headers in the VR HTML
  • Sole shareholder: When the section header contains Jediny (Sole), the shareholder is assigned 100% ownership if no explicit percentage is found
  • Multiple shares: If a shareholder has multiple entries/shares, they are summed into a single aggregate stake
  • Corporate vs individual: Determined by presence of ICO number or legal form suffix (a.s., s.r.o., etc.)

Ownership Data

FieldDescriptionSource
sharePercentageOwnership percentage (from Obchodni podil)VR (Commercial Register)
nominalCapitalHeldCapital contribution amount in CZK (from Vklad)VR (Commercial Register)
typeIndividual or CompanyDetermined from register data (ICO presence, legal form suffix)
Shareholder data is primarily available for s.r.o. (Limited Liability Companies) registered in the Commercial Register (VR). Joint-stock companies (a.s.) do not list individual shareholders in the public register. Both individual and corporate shareholders are supported.

Activity Code Mapping

Czechia uses the CZ-NACE classification, which is the Czech adaptation of the European NACE Rev. 2 standard. The system maps activity codes across three levels:
CZ-NACE (Czech) -> NACE Rev. 2 (European) -> ISIC Rev. 4 (International)
ClassificationSourceExampleAI Inferred?
CZ-NACEARES (czNace field)62.01No (official)
NACESame as CZ-NACE (identical codes)62.01No (formal mapping)
ISICDerived from NACE or AI-inferred6201Sometimes
AI Enrichment: When ISIC codes cannot be derived from NACE via formal mapping tables, the system uses an LLM to match activity descriptions to ISIC Rev. 4 codes. Every activity item includes an isAIInferred flag to distinguish official vs. AI-derived codes. CZ-NACE and NACE codes are never AI-inferred.

Activity Codes by Source

SourceClassifications ReturnedNotes
ARESCZ-NACE (as NACE) + ISICFrom czNace field, multiple codes per entity
VRActivity description textFree-text Predmet podnikani (business purpose)
RZPActivity description textLicensed activities from trade register XML

Data Availability Matrix

Data TypeCommercial Companies (VR)Sole Entrepreneurs (RZP)Non-Profits / AssociationsNotes
Company ProfileYes AsyncYes AsyncYes AsyncFull data for VR, limited for RZP-only
Legal RepresentativesYesNoLimitedFrom VR Statutarni organ section
ShareholdersYes (s.r.o. only)NoNoFrom VR Spolecnici section
Other Key PersonsLimitedNoLimitedWhen available in ARES
Ultimate Beneficial OwnersLimitedNoNoESM source implemented but not yet exposed as standalone datapoint
EstablishmentsLimitedNoNoWhen available in ARES
Activity CodesYesYesYesCZ-NACE from ARES + ISIC via AI
DocumentsYesYesNoTrade Register Extract (RZP)
Legend: Yes = Available | No = Not Available | Limited = Conditionally Available | Async = Asynchronous processing

Documents by Company Type

All Entity Types (Companies & Sole Traders)

Document TypeAPI CategoryFormatSKUAvailabilityNotes
Trade Register ExtracttradeRegisterExtractPDFCZE_TRADE_REGISTER_EXTRACTYesExtract from the Trade Licensing Register (RZP)
The Trade Register Extract is sourced from the Trade Licensing Register (RZP) via a session-based XML API. It contains current business license and registration information. The document is retrieved by: (1) starting an RZP session, (2) searching for the subject by ICO, (3) fetching an intermediate ISVS XML that contains the link to the final PDF, and (4) downloading the PDF. The document has a 1-day TTL (time-to-live) cache.

Data Source Priority & Routing

For a given entity, data is assembled from multiple sources with a clear precedence hierarchy. ARES provides the base, and the primary source register enriches it.
Orchestration Flow:
  1. ARES — Always queried first (30s timeout, 3 retries). Provides base attributes: name, address, legal form, activities, identifiers, status
  2. Primary source — Determined by ARES primarniZdroj field:
    • vr — VR is fetched (1m timeout, 2 retries). Provides: legal reps, shareholders, capital, status override, legal form, activity description
    • rzp — RZP is fetched (1m timeout, 2 retries). Provides: name, address, registration date, activity descriptions
    • Other/null — Both VR and RZP are queried in parallel (best-effort). Any available data is merged
  3. AI Enrichment (2m timeout, no retry) — Applied in parallel for:
    • Activities: ISIC codes via vector matching + formal derivation
    • Status: Standardized classification
    • Legal form: ISO 20275 codes
Merge behavior: The primary source takes precedence over ARES for overlapping attributes. If a primary source fetch fails, ARES data alone is used (graceful degradation).

Attribute-Level Source Mapping

AttributePrimary SourceFallbackNotes
Company nameVR or RZPARESPrimary source overrides ARES
Legal formVRARESVR provides local name; ARES provides code-based mapping
Registered addressVR or RZPARESPrimary source overrides ARES
Share capitalVROnly available from Commercial Register
Activity codes (CZ-NACE)ARESAlways from ARES czNace field
Activity description (text)VR or RZPFrom Predmet podnikani (VR) or license activities (RZP)
Legal representativesVROnly from Commercial Register HTML parsing
ShareholdersVROnly from Commercial Register HTML parsing
Registration dateVR or RZPARESdatumVzniku from ARES, or from primary source
StatusARES + VRARESARES provides multi-register status; VR adds closure details
DIC / VATARESTax identifier and DPH status from ARES

Example API Responses

All examples use placeholder data. Query: POST /company with { "id": "<id>", "countryCode": "CZ", "dataPoints": ["companyProfile"] }
{
  "company": {
    "id": "12345678",
    "countryCode": "CZ",
    "identifiers": { "ico": "12345678", "dic": "CZ12345678", "vat": "CZ12345678" },
    "legalName": "Priklad s.r.o.",
    "registrationDate": "2019-06-15",
    "activityDescription": "Vyroba, obchod a sluzby neuvedene v prilohach 1 az 3 zivnostenskeho zakona",
    "status": { "localName": "Active", "active": true, "statusDetails": { "status": "ACTIVE" } },
    "legalForm": { "localName": "Spolecnost s rucenim omezenym", "englishTranslation": "Limited liability company", "standardized": "Limited Liability Company", "iso20275Code": "8Z97" },
    "capital": { "amount": 200000, "currency": "CZK", "formatted": "200 000 Kc" },
    "activities": {
      "NACE": [{ "code": "62.01", "description": "Computer programming activities", "isAIInferred": false }],
      "ISIC": [{ "code": "6201", "description": "Computer programming activities", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "Vaclavske namesti 10", "city": "Praha", "postalCode": "11000", "countryCode": "CZ" }
  },
  "legalRepresentatives": [
    {
      "type": "individual",
      "role": { "localName": "Jednatel", "standardized": "Managing Director" },
      "startDate": "2019-06-15",
      "individual": {
        "name": { "fullName": "Jan Novak" },
        "birthDate": { "day": 15, "month": 3, "year": 1982 },
        "residenceAddress": { "addressLine1": "Narodni 5", "city": "Praha", "postalCode": "11000", "countryCode": "CZ" }
      }
    }
  ],
  "shareholders": [
    {
      "type": "individual",
      "individual": { "name": { "fullName": "Jan Novak" }, "birthDate": { "day": 15, "month": 3, "year": 1982 } },
      "sharePercentage": 60,
      "nominalCapitalHeld": { "amount": 120000, "currency": "CZK", "formatted": "120 000 Kc" },
      "source": "vr.justice.cz"
    },
    {
      "type": "company",
      "company": {
        "id": "87654321",
        "countryCode": "CZ",
        "legalName": "Holding a.s.",
        "identifiers": { "ico": "87654321" }
      },
      "sharePercentage": 40,
      "nominalCapitalHeld": { "amount": 80000, "currency": "CZK", "formatted": "80 000 Kc" },
      "source": "vr.justice.cz"
    }
  ]
}
{
  "company": {
    "id": "87654321",
    "countryCode": "CZ",
    "identifiers": { "ico": "87654321", "dic": "CZ87654321" },
    "legalName": "Stara Firma a.s.",
    "registrationDate": "2005-02-01",
    "status": {
      "localName": "Dissolved",
      "active": false,
      "statusDetails": {
        "status": "CLOSED",
        "closureDate": "2022-11-30",
        "closureReason": "LIQUIDATION"
      }
    },
    "legalForm": { "localName": "Akciova spolecnost", "englishTranslation": "Joint-stock company", "standardized": "Corporation", "iso20275Code": "H5MR" },
    "capital": { "amount": 2000000, "currency": "CZK", "formatted": "2 000 000 Kc" },
    "activities": {
      "NACE": [{ "code": "46.90", "description": "Non-specialised wholesale trade", "isAIInferred": false }],
      "ISIC": [{ "code": "4690", "description": "Non-specialized wholesale trade", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "Narodni 5", "city": "Praha", "postalCode": "11000", "countryCode": "CZ" }
  },
  "legalRepresentatives": []
}
Note: Dissolved companies have active: false with a closure date and closure reason when determinable from the VR register text. Joint-stock companies (a.s.) do not list shareholders in the public register.
{
  "company": {
    "id": "19188889",
    "countryCode": "CZ",
    "identifiers": { "ico": "19188889", "dic": "CZ19188889", "vat": "CZ19188889" },
    "legalName": "Jan Dvorak",
    "registrationDate": "2020-03-01",
    "activityDescription": "Poradenstvi v oblasti informacnich technologii; Koupeni zbozi za ucelem jeho dalsiho prodeje",
    "status": { "localName": "Active", "active": true, "statusDetails": { "status": "ACTIVE" } },
    "legalForm": { "localName": "Fyzicka osoba podnikajici dle zivnostenskeho zakona", "englishTranslation": "Sole trader under the Trade Licensing Act", "standardized": "Sole Proprietorship" },
    "activities": {
      "NACE": [{ "code": "62.02", "description": "Computer consultancy activities", "isAIInferred": false }],
      "ISIC": [{ "code": "6202", "description": "Computer consultancy and computer facilities management activities", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "Husova 12", "city": "Brno", "postalCode": "60200", "countryCode": "CZ" }
  }
}
Note: Sole traders (RZP primary source) do not have legal representatives, shareholders, or capital data. The legal name is the individual’s name. Activity description comes from licensed activities in the RZP.
{
  "company": {
    "id": "55667788",
    "countryCode": "CZ",
    "identifiers": { "ico": "55667788", "dic": "CZ55667788" },
    "legalName": "Likvidovana s.r.o. v likvidaci",
    "registrationDate": "2010-08-20",
    "status": { "localName": "In Liquidation", "active": true, "statusDetails": { "status": "ACTIVE" } },
    "legalForm": { "localName": "Spolecnost s rucenim omezenym", "englishTranslation": "Limited liability company", "standardized": "Limited Liability Company" },
    "legalAddress": { "addressLine1": "Karlova 8", "city": "Praha", "postalCode": "11000", "countryCode": "CZ" }
  }
}
Note: Entities in liquidation are treated as active (active: true) with local status “In Liquidation.” The entity still legally exists during the liquidation process.
{
  "company": {
    "id": "04234651",
    "countryCode": "CZ",
    "identifiers": { "ico": "04234651" },
    "legalName": "AUTOBAZARNV, s.r.o.",
    "registrationDate": "2015-07-08",
    "status": { "localName": "Aktivní", "active": true, "statusDetails": { "status": "ACTIVE" } },
    "legalForm": { "localName": "112" },
    "activities": {
      "NACE": [{ "code": "45200" }]
    },
    "legalAddress": { "addressLine1": "294", "city": "Polnička", "postalCode": "59102", "countryCode": "CZ" }
  }
}
Note: Onboarding profiles are served from the batch staging table. No AI enrichment — no standardized or iso20275Code on legal form. Legal form localName is the numeric code from ARES (e.g., "112" = s.r.o.).
Documents are returned when "dataPoints": ["documents"] is requested.
API CategoryDocumentNotes
tradeRegisterExtractTrade Register Extract (RZP) PDFAvailable for all entities with an ICO

Batch Cache

Czech company data is batch-synced from the ARES open dataset into a local cache (Meilisearch + PostgreSQL staging table). Search queries hit the Meilisearch cache first for instant results, with automatic fallback to the live ARES API if the cache misses.

Companies in Cache

The cache contains all non-terminated Czech entities from ARES. The filtering is based on the dissolution date:
ConditionIncluded?Description
datum_zaniku IS NULLYesEntity has not been dissolved
datum_zaniku IS NOT NULLNoEntity has been dissolved/terminated
This means active entities, entities in liquidation, and entities under insolvency proceedings are all included — only fully terminated entities (with a recorded dissolution date) are excluded.

Onboarding Profile

The onboarding profile (onboardingProfile datapoint) reads directly from the staging table (cz.ares), not the live ARES API. This provides faster, cheaper responses with no AI enrichment overhead. Data freshness depends on the batch sync schedule.

Quirks & Gotchas

QuirkDetails
Multi-source orchestrationData is merged from up to three sources (ARES, VR, RZP). The primary source indicated by ARES takes precedence for overlapping attributes. If a source fetch fails, available data from other sources is used (graceful degradation).
ICO spaces are strippedInput ICOs may contain spaces (e.g., 19188 889) which are normalized to 19188889 before processing.
VAT only for active DPH registrantsThe identifiers.vat field is only set when ARES confirms active DPH (VAT) status. We do not synthesize VAT from ICO or query the DPH register separately.
Shareholders only for s.r.o.Shareholder data with ownership percentages is only available for Limited Liability Companies (s.r.o.) in the Commercial Register. Joint-stock companies (a.s.) do not list shareholders publicly.
ISIC codes may be AI-inferredCZ-NACE codes from ARES are official. ISIC codes are derived via formal mapping when possible, with AI fallback. Check the isAIInferred flag.
Closure reasons from register textWhen a company is dissolved, the closure reason is determined by pattern-matching normalized Czech text from the VR “Ostatni skutecnosti” and insolvency sections (e.g., bankruptcy, merger, acquisition, liquidation, court order).
VR HTML parsingThe Commercial Register (justice.cz) does not provide a structured API. Data is extracted by parsing HTML pages, which may occasionally miss fields if the page structure changes.
Legal form mapping is deterministicCzech legal forms are mapped deterministically using the ARES_LEGAL_FORM_MAPPING codelist (140+ forms). ISO 20275 codes are added via AI enrichment.
UBO data implemented but not exposedUltimate Beneficial Owners from ESM (Evidence of Beneficial Owners) is fully implemented in activities but the standalone UBO datapoint is currently commented out in the workflow configuration. UBOs from ARES are returned when available as part of the company profile.
In Liquidation = ActiveEntities with status “V LIKVIDACI” in VR or RES are treated as active (active: true) because the entity still legally exists during the liquidation process.
RZP uses session-based APIThe Trade Licensing Register requires starting a session before any data requests. Sessions may timeout, requiring retry logic.
Capital in CZK onlyShare capital from the VR is always expressed in Czech Koruna (CZK) with formatted strings using Czech locale (e.g., 200 000 Kc).
Sole shareholder default to 100%When the VR HTML indicates a Jediny spolecnik (sole partner) section and no explicit ownership percentage is found, the system defaults the shareholder to 100% ownership.