Data Sources
Hungary uses two distinct registries depending on the entity type:Commercial Companies: OCCSZ
The OCCSZ (Országos Cégnyilvántartó és Céginformációs Szolgálat, National Company Register and Company Information Service) operates the official Hungarian company register (Cégjegyzék):- OCCSZ XML API: A paid, authenticated XML API providing company search by name, registration number, and tax number. Returns structured XML with company name, registration number, address, tax number, and status.
- Trade Register Extract (Cégkivonat): A comprehensive PDF document purchased from the OCCSZ API for each company. This is the primary source for all structured company profile data. The PDF is parsed deterministically to extract: legal name, legal form, registration date, share capital, tax number, registered address, legal representatives, auditors, supervisory board members, shareholders, activity codes (TEÁOR), establishments, and company status.
Company profile is derived from the Trade Register Extract. The TRE PDF is
purchased from the OCCSZ API, then parsed deterministically. AI enrichment is
applied in parallel for address parsing, legal form standardization (ISO
20275), and role classification.
Sole Traders: NAV EVNY
The NAV EVNY (Egyéni Vállalkozók Nyilvántartása, Sole Traders Registry) is operated by the Hungarian Tax Authority (NAV). This is a separate registry from the Cégjegyzék.- EVNY Web API: A JSON API behind reCAPTCHA, providing search by registration number (Nyilvántartási szám, 8 digits) or tax number (Adószám, 8 digits). Returns structured JSON with the trader’s name, address, activity codes, status, and registration dates.
- EVNY Extract: A screenshot-based PDF of the EVNY registry page, available as a document for sole traders.
Sole trader profiles are fully deterministic, no AI needed. The EVNY API
returns structured JSON, so all data is mapped directly to domain objects
without any AI enrichment (except address geocoding).
Company Identifiers
Query Identifiers
| Identifier | Source | Format | Example | Notes |
|---|---|---|---|---|
| Cégjegyzékszám (Registration number) | OCCSZ | 10 digits (hyphens stripped) | 0109430929 | Primary company identifier. Hyphens accepted but removed internally (e.g., 01-09-430929 becomes 0109430929) |
| Nyilvántartási szám (Sole trader reg. number) | EVNY | 8 digits | 57478665 | Primary sole trader identifier. Automatically routes to EVNY |
| Adószám (Tax number) | Both | 8-11 digits (hyphens stripped) | 32565144241 | Full format: XXXXXXXX-X-XX. First 8 digits used for registry search. Searches both OCCSZ and EVNY |
| VAT | VIES | HU + 8 digits | HU32565144 | Automatically stripped to 8-digit VAT value for VIES validation |
Identifiers in API Response
Once you retrieve company data, theidentifiers object contains all available identifiers for that entity:
| Identifier Type | Format | Example | Notes |
|---|---|---|---|
registrationNumber | 10 digits | 0109430929 | Always present. Hyphens stripped |
taxNumber | Up to 13 characters | 32565144241 | Present when available in the TRE |
VAT | 8 digits | 32565144 | First 8 digits of tax number, present when tax number is available |
EUID | Alphanumeric | HUOCCSZ.0109430929 | European Unique Identifier, when available in the TRE (§60) |
Search Capabilities
| Search Type | Pattern | Example | Match Type | Expected Results |
|---|---|---|---|---|
| By Cégjegyzékszám | 10 digits | 0109430929 | Exact | Single company (1 result) |
| By Nyilvántartási szám | 8 digits | 57478665 | Exact | Single sole trader (1 result, from EVNY) |
| By Adószám (8 digits) | 8 digits | 32565144 | Exact | Company and/or sole trader (searches both OCCSZ and EVNY in parallel) |
| By Adószám (11 digits) | 11 digits | 32565144241 | Exact | Single company (first 8 digits used) |
| By Adószám (with hyphens) | XXXXXXXX-X-XX | 32565144-2-41 | Exact | Single company (hyphens stripped, first 8 digits used) |
| By VAT number | HU + 8 digits | HU32565144 | Exact | Single company (HU prefix stripped, 8 digits extracted) |
| By company name | Text string | "bolttech Services" | Contains | Multiple results (OCCSZ only; EVNY does not support name search) |
8-digit queries search both registries. A pure 8-digit input is ambiguous
(could be a sole trader registration number or a tax number), so it is searched
in both OCCSZ (by tax number) and EVNY (by both registration number and tax
number) in parallel. Results are deduplicated.
Company Profile
For thecompanyProfile endpoint, use the 10-digit Cégjegyzékszám for companies or the 8-digit Nyilvántartási szám for sole traders:
- Company:
0109430929,0106216884,01-09-430929 - Sole trader:
57478665,59173988
Company Status
Company status is determined deterministically from the Trade Register Extract. No AI inference is involved for status determination.Status Logic
Status is determined in priority order from the Trade Register Extract:| Priority | Condition | Local Status | Standardized Status | Notes |
|---|---|---|---|---|
| 1 | §1 has “Törlés hatálya” (deletion date) | Törölve (reason) | Closed | Checked first. Company was deleted from registry |
| 2 | Name contains “végelszámolás” in quotes | végelszámolás alatt | Closed | Voluntary dissolution in progress |
| 3 | Name contains “felszámolás” in quotes | felszámolás alatt | Under Insolvency Proceeding | Bankruptcy/insolvency proceedings |
| 4 | Name contains “kényszertörlés” in quotes | kényszertörlés alatt | Closed | Administrative dissolution in progress |
| 5 | Name contains “szerkezetátalakítás” in quotes | szerkezetátalakítás alatt | Active | Structural transformation (company remains active) |
| 6 | No closure markers | Hatályos | Active | Default. Company is active |
Closure Reasons
When status is Closed, the closure reason is derived from the “Megjegyzés” (remark) field in §1 or from the quoted status in the company name:| Hungarian Deletion Method | Standardized Closure Reason |
|---|---|
| Contains “átalakulás” (transformation) | Merger |
| Contains “felszámolás” (liquidation) | Bankruptcy |
| Contains “kényszertörlés” (forced deletion) | Administrative Dissolution |
| Contains “végelszámolás” (voluntary winding) | Voluntary Dissolution |
| Any other method | Other |
Sole Trader Status (EVNY)
Sole trader status is determined from the EVNY API’s structured fields:| Condition | Local Status | active | Standardized Status | Notes |
|---|---|---|---|---|
vallalkozasAllapot = “Működő” | Működő | true | Active | Normal operating trader |
szuneteltetes present | Szünetelő | false | Active (dormant) | Voluntary dormancy (up to 2 years). Entity still legally exists but is not trading. additionalInfo contains dormancy start date |
felfuggesztes present | Felfüggesztett | false | Under Insolvency Proceeding | Suspended by NAV (tax authority). additionalInfo contains reason and dates |
In vallalkozasMegszunt array | Megszűnt | false | Closed | Terminated. Closure reason and date when available |
Legal Forms
The local legal form (Cégforma) is extracted deterministically from the TRE and then enriched with AI for ISO 20275 code and standardized company type.Key Business Forms
| Abbr. | Hungarian Name | English Translation | Standardized |
|---|---|---|---|
| KFT | Korlátolt Felelősségű Társaság | Limited Liability Company | Limited Liability Company |
| BT | Betéti Társaság | Limited Partnership | Partnership |
| ZRT | Zártkörűen Működő Részvénytársaság | Private Limited Company | Corporation |
| NYRT | Nyilvánosan Működő Részvénytársaság | Public Limited Company | Corporation |
| KKT | Közkereseti Társaság | General Partnership | Partnership |
| EC | Egyéni Cég | Individual Company | Sole Proprietorship |
Sole Entrepreneurs
| Abbr. | Hungarian Name | Standardized |
|---|---|---|
| EV | Egyéni Vállalkozó | Sole Proprietorship |
Foreign Entities
| Abbr. | Hungarian Name | Standardized |
|---|---|---|
| FIL | Külföldi Vállalkozás Magyarországi Fióktelepe | Branch or Representative Office |
| - | Külföldi Székhelyű Vállalkozás Fióktelepe | Branch or Representative Office |
Other Forms
| Abbr. | Hungarian Name | Standardized |
|---|---|---|
| SZÖV | Szövetkezet | Cooperative |
| EGY | Egyesülés | Association |
| ALA | Alapítvány | Foundation |
| KHT | Közhasznú Társaság | Public Benefit Company |
Legal form standardization and ISO 20275 assignment are AI-enriched; the local
Hungarian legal form name is always preserved verbatim from the TRE.
Legal Representatives
Legal representatives are extracted from Section 13 (§13) of the Trade Register Extract: “A vezető tisztségviselő(k), a képviseletre jogosult(ak) adatai” (Data of executive officers and those authorized to represent).Extraction Details
- Individual representatives: Name, birth date, residence address (Hungarian or foreign), role, start date, tax ID
- Company representatives: Legal name, registered address, role, start date
- Representation mode: Extracted deterministically from Hungarian signing authority terms in §13. Each legal representative includes a
representationModefield indicating how they can sign for the company:{ mode: "sole" }: Can sign alone (“önálló” or “egyedüli”){ mode: "joint" }: Must sign jointly with others (“együttes”)null: No signing authority explicitly stated
Legal Representative Roles
The following roles are deterministically mapped from Hungarian registry terminology. No AI is involved for these known roles:| Hungarian Role | English Translation | Standardized Role |
|---|---|---|
| ügyvezető | Managing Director | Managing Director |
| cégvezető | Company Manager | Managing Director |
| vezető tisztségviselő | Executive Officer | Managing Director |
| ügyvezető (vezető tisztségviselő) | Managing Director (Executive Officer) | Managing Director |
| vezérigazgató | CEO | CEO |
| igazgatósági tag | Board Member | Board Member |
| elnök | Chairman | Chairman |
| képviseletre jogosult tag | Member with Representation Rights | Other |
Roles matching the table above are mapped deterministically (AI is
skipped). For roles not matching any known pattern, AI provides the English
translation and standardized classification. The original Hungarian role name
is always preserved as
localName.Other Key Persons
The TRE contains additional personnel data beyond legal representatives:- Auditors (§14): Both audit firms and individually responsible auditors, with name, address, and registration number
- Supervisory Board Members (§15): Name, birth date, address, start date
Shareholders
Shareholder data is extracted from Part II of the Trade Register Extract when available. The TRE contains structured ownership information including:- Individual shareholders: Name, birth date, address, share amount/percentage, voting rights
- Company shareholders: Legal name, registration number, address, share amount/percentage
Shareholder data availability depends on the company type and the TRE content.
Not all company types include Part II (ownership section) in their TRE.
Activity Code Mapping
Hungary uses the TEÁOR (Tevékenységek Egységes Ágazati Osztályozási Rendszere) classification, which is the Hungarian adaptation of NACE Rev. 2. Activity codes are extracted from the TRE and mapped across three levels:| Classification | Source | Example | AI Inferred? |
|---|---|---|---|
| TEÁOR | TRE (§902) | 6201 | No (official) |
| NACE | Derived from TEÁOR | 62.01 | No (deterministic conversion) |
| ISIC | Derived from NACE via mapping table | 6201 | No (deterministic) |
TEÁOR codes are extracted directly from the TRE and are never AI-inferred.
The main activity is identified when the TRE marks it as “Főtevékenység” (main
activity).
Data Availability Matrix
| Data Type | Commercial Companies (OCCSZ) | Sole Traders (EVNY) | Non-Profits / Foundations | Notes |
|---|---|---|---|---|
| Company Profile | ✅ Async | ✅ Async | ⚠️ Limited | Companies: variable pricing. Sole traders: fixed price only |
| Legal Representatives | ✅ (active only) | ✅ (owner as legal rep) | ⚠️ Limited | OCCSZ: §13 of TRE. EVNY: owner mapped as Sole Proprietor |
| Other Key Persons | ✅ | ❌ | ⚠️ Limited | Auditors (§14), Supervisory Board (§15) from TRE |
| Shareholders | ⚠️ | ✅ (100% owner) | ❌ | OCCSZ: Part II of TRE. EVNY: owner = 100% shareholder |
| Ultimate Beneficial Owners | ❌ | ❌ | ❌ | Not available from registry |
| Activity Codes | ✅ | ✅ | ❌ | TEÁOR from TRE/EVNY, converted to NACE + ISIC |
| Documents | ✅ (Paid) | ✅ (Free) | ❌ | OCCSZ: TRE PDF, dynamic pricing. EVNY: screenshot PDF, free |
| Establishments | ✅ | ✅ | ❌ | OCCSZ: §6/§7 from TRE. EVNY: telephely addresses |
Egyéni Cég (EC) (Individual Company) is a different entity type from
Egyéni Vállalkozó (EV). EC is registered in the Cégjegyzék and falls under the
Commercial Companies column.
Documents by Entity Type
Commercial Companies (Cégjegyzékszám)
| Document Type | API Category | Format | SKU | Availability | Notes |
|---|---|---|---|---|---|
| Cégkivonat (Trade Register Extract) | tradeRegisterExtract | hun-register-extract | ✅ All companies | Dynamic pricing from OCCSZ API |
Sole Traders (Nyilvántartási szám)
| Document Type | API Category | Format | SKU | Availability | Notes |
|---|---|---|---|---|---|
| EVNY Extract | tradeRegisterExtract | - | ✅ All sole traders | Free, included with profile |
Document prices are fetched in real-time from the OCCSZ API and displayed
in the
price field before purchase. Pricing is based on document size
(kbyte-based billing) and may vary between companies.Pricing
Pricing differs by entity type:- Commercial companies (OCCSZ): Variable pricing. The total cost depends on the underlying Trade Register Extract price (which varies by company) plus a fixed profile fee.
- Sole traders (EVNY): Fixed pricing. Only the fixed profile fee applies. The EVNY data source is free.
Budget control. For commercial companies, because pricing is variable, the
profileMaxBudget parameter lets you set a maximum spend (in credit cents). If
the estimated cost exceeds your budget, the request fails with a
budget_exceeded error that includes the quoted price, so you can retry with a
higher budget. For sole traders, only the fixed profile fee is checked.Data Source Priority & Routing
For a given entity, data follows a deterministic retrieval path:Company Profile Resolution Flow:
- Search: Query the OCCSZ XML API by registration number to verify the company exists and obtain the tax number
- Available Documents: Fetch the TRE price quote from OCCSZ
- Budget check: If
profileMaxBudgetis set, compare the estimated cost (TRE with markup + fixed profile fee) against the budget. Reject withbudget_exceededif over budget - Download TRE: Purchase and download the Trade Register Extract PDF from OCCSZ
- PDF to Markdown: Convert the PDF to structured markdown using PyMuPDF4LLM
- Deterministic parsing: Parse the markdown to extract all structured data (name, address, legal form, capital, representatives, shareholders, activities, establishments, status)
- AI enrichment (parallel): Enrich in parallel: address parsing, legal form standardization (ISO 20275), currency parsing, role classification for legal representatives, establishment address parsing
- VIES VAT validation: A qualified VIES check validates the VAT number (HU + first 8 digits of tax number) and obtains a consultation number
Attribute-Level Source Mapping
| Attribute | Source | AI Enriched? | Notes |
|---|---|---|---|
| Legal name | TRE (§2) | No | Extracted deterministically from markdown |
| Registration number | TRE (§1 header) | No | Hyphens stripped |
| Tax number | OCCSZ search + TRE (§21) | No | From search result internalIdentifiers or TRE |
| Registered address | TRE (§5) | Yes | Parsed from Hungarian format, AI-enriched for structuring |
| Legal form | TRE (Cégforma field) | Yes | Deterministic extraction, AI-enriched for ISO 20275 |
| Registration date | TRE (§8) | No | Founding date |
| Status | TRE (§1 + name) | No | Deterministic: §1 deletion date/reason checked first, then quoted status in name, then default active |
| Share capital | TRE (§11) | Partial | Amount and known currencies (HUF, EUR, USD, GBP, CHF) deterministic; AI fallback only for unrecognized currencies |
| Legal representatives | TRE (§13) | Partial | Deterministic extraction; known roles mapped deterministically, unknown roles AI-enriched |
| Auditors | TRE (§14) | No | Deterministic extraction |
| Supervisory board | TRE (§15) | No | Deterministic extraction |
| Shareholders | TRE (Part II) | No | Deterministic extraction when available |
| Activity codes (TEÁOR/NACE) | TRE (§902) | No | Deterministic extraction and conversion |
| Activity codes (ISIC) | TRE (§902) | No | Deterministic: NACE → ISIC via official UN correspondence table |
| Establishments | TRE (§6, §7) | Yes | Deterministic extraction, address AI-enriched |
| VAT verification | VIES | No | Qualified check with consultation number |
Example API Responses
All examples use placeholder data. Query:POST /company with { "id": "<id>", "countryCode": "HU", "dataPoints": ["companyProfile"] }
Active Kft. (Limited Liability Company)
Active Kft. (Limited Liability Company)
Closed Bt. (Limited Partnership), Voluntary Dissolution
Closed Bt. (Limited Partnership), Voluntary Dissolution
active: false and may have empty legal representatives. The closureDate is extracted from the TRE. Companies that were in liquidation (“végelszámolás alatt”) before deletion retain that marker in their legal name.Active Sole Trader (Egyéni Vállalkozó)
Active Sole Trader (Egyéni Vállalkozó)
Available Documents
Available Documents
Documents are returned when
Note: The
"dataPoints": ["availableDocuments"] is requested.| API Category | Document | Notes |
|---|---|---|
tradeRegisterExtract | Cégkivonat (Trade Register Extract) PDF | Dynamic pricing from OCCSZ. Available for all companies (active and closed) |
price field reflects the real-time cost from the OCCSZ API. Prices are in EUR and vary based on document size.Quirks & Gotchas
| Quirk | Details |
|---|---|
| Hyphens in identifiers | Both Cégjegyzékszám and Adószám may contain hyphens (e.g., 01-09-430929, 28383040-2-42). These are stripped internally before processing. |
| Leading zeros in registration numbers | Registration numbers always have 10 digits. Numbers with leading zeros (e.g., 0109430929, Budapest court code 01) are preserved correctly. |
| Liquidation detected from company name | Companies in liquidation are identified by the presence of “végelszámolás alatt” or “v.a.” in the legal name, not from a dedicated status field. |
| TRE price is variable | Trade Register Extract pricing is kbyte-based. Larger companies (more history, more sections) cost more. Prices are always shown before purchase. |
| Company profile = TRE | The company profile is entirely derived from the Trade Register Extract PDF. Requesting a company profile will purchase and parse the TRE. |
| No shareholders for all company types | Part II (ownership section) is not present in all TRE documents. Availability depends on the company type and registry content. |
| No legal reps for closed companies | Section 13 (legal representatives) may be absent in TRE documents for closed companies. |
| Closure reason defaults to OTHER | When a company is closed (“Törölve”) and the deletion method doesn’t match a known pattern, the closure reason defaults to OTHER. Known patterns: átalakulás (Merger), felszámolás (Bankruptcy), kényszertörlés (Administrative Dissolution), végelszámolás (Voluntary Dissolution). |
| Tax number truncated to 13 digits | The tax number (Adószám) is truncated to 13 characters in the identifiers to standardize the format. |
| TEÁOR = NACE | Hungarian TEÁOR codes map 1:1 to NACE Rev. 2 codes (same numeric values, different formatting). |
| HUF to EUR conversion | Document prices are quoted in HUF by the OCCSZ API and converted to EUR for the API response. |
| 8-digit IDs are ambiguous | A pure 8-digit input could be a sole trader registration number or a tax number. Both OCCSZ and EVNY are searched in parallel, with deduplication. |
| Sole traders use 6-digit TEÁOR codes | EVNY provides 6-digit TEÁOR codes (e.g., 731201) vs. 4-digit from OCCSZ TRE (e.g., 7312). The first 4 digits are identical and map to the same NACE/ISIC codes. |
| EVNY name search not supported | The EVNY API does not support name-based search. Only registration number and tax number queries are available for sole traders. |
- Activity Mapping - NACE/ISIC classification system