Skip to main content

Data Sources

All company data is sourced from the OCCSZ (Országos Cégnyilvántartó és Céginformációs Szolgálat — National Company Register and Company Information Service), which operates the official Hungarian company register. The system interacts with two distinct services:

Structured Search Data

  • 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. Used for all search operations and as the entry point for company identification.

Company Profile & Documents

  • 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.

Company Identifiers

Query Identifiers

IdentifierSourceFormatExampleNotes
Cégjegyzékszám (Registration number)OCCSZ10 digits (hyphens stripped)0109430929Primary company identifier. Hyphens accepted but removed internally (e.g., 01-09-430929 becomes 0109430929)
Adószám (Tax number)OCCSZ8-11 digits (hyphens stripped)32565144241Full format: XXXXXXXX-X-XX. First 8 digits used for registry search
VATVIESHU + 8 digitsHU32565144Automatically stripped to 8-digit VAT value for VIES validation
Tax Number Format Breakdown: 32565144-2-41 = 32565144 (company serial number) + 2 (VAT status: 1=VAT free, 2=normal VAT, 4/5=group taxpayers) + 41 (tax office code)

Identifiers in API Response

Once you retrieve company data, the identifiers object contains all available identifiers for that entity:
Identifier TypeFormatExampleNotes
registrationNumber10 digits0109430929Always present. Hyphens stripped
taxNumberUp to 13 characters32565144241Present when available in the TRE
VAT8 digits32565144First 8 digits of tax number, present when tax number is available
EUIDAlphanumericHUOCCSZ.0109430929European Unique Identifier, when available in the TRE (§60)

Search Capabilities

Search TypePatternExampleMatch TypeExpected Results
By Cégjegyzékszám10 digits0109430929ExactSingle company (1 result)
By Adószám (8 digits)8 digits32565144ExactSingle company (1 result)
By Adószám (11 digits)11 digits32565144241ExactSingle company (first 8 digits used)
By Adószám (with hyphens)XXXXXXXX-X-XX32565144-2-41ExactSingle company (hyphens stripped, first 8 digits used)
By VAT numberHU + 8 digitsHU32565144ExactSingle company (HU prefix stripped, 8 digits extracted)
By company nameText string"bolttech Services"ContainsMultiple results

Company Profile

For the companyProfile endpoint, the full 10-digit Cégjegyzékszám is required (hyphens will be stripped internally):
  • Correct: 0109430929, 0106216884, 01-09-430929
  • Incorrect: 01-06-2168, Nokia, 28383040-2-42

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:
PriorityConditionLocal StatusStandardized StatusNotes
1§1 has “Törlés hatálya” (deletion date)Törölve (reason)ClosedChecked first — company was deleted from registry
2Name contains “végelszámolás” in quotesvégelszámolás alattClosedVoluntary dissolution in progress
3Name contains “felszámolás” in quotesfelszámolás alattUnder Insolvency ProceedingBankruptcy/insolvency proceedings
4Name contains “kényszertörlés” in quoteskényszertörlés alattClosedAdministrative dissolution in progress
5Name contains “szerkezetátalakítás” in quotesszerkezetátalakítás alattActiveStructural transformation (company remains active)
6No closure markersHatályosActiveDefault — 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 MethodStandardized 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 methodOther
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 NameEnglish TranslationStandardized
KFTKorlátolt Felelősségű TársaságLimited Liability CompanyLimited Liability Company
BTBetéti TársaságLimited PartnershipPartnership
ZRTZártkörűen Működő RészvénytársaságPrivate Limited CompanyCorporation
NYRTNyilvánosan Működő RészvénytársaságPublic Limited CompanyCorporation
KKTKözkereseti TársaságGeneral PartnershipPartnership
ECEgyéni CégIndividual CompanySole Proprietorship

Sole Entrepreneurs

Abbr.Hungarian NameStandardized
EVEgyéni VállalkozóSole Proprietorship

Foreign Entities

Abbr.Hungarian NameStandardized
FILKülföldi Vállalkozás Magyarországi FióktelepeBranch or Representative Office
Külföldi Székhelyű Vállalkozás FióktelepeBranch or Representative Office

Other Forms

Abbr.Hungarian NameStandardized
SZÖVSzövetkezetCooperative
EGYEgyesülésAssociation
ALAAlapítványFoundation
KHTKözhasznú TársaságPublic 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 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 as “együttes” (joint) or “önálló” (individual)
Legal representatives are only available for active companies. Closed companies use a minimal TRE format that may not include Section 13. This is a register limitation.
The following roles are deterministically mapped from Hungarian registry terminology — no AI is involved for these known roles:
Hungarian RoleEnglish TranslationStandardized Role
ügyvezetőManaging DirectorManaging Director
cégvezetőCompany ManagerManaging Director
vezető tisztségviselőExecutive OfficerManaging Director
ügyvezető (vezető tisztségviselő)Managing Director (Executive Officer)Managing Director
vezérigazgatóCEOCEO
igazgatósági tagBoard MemberBoard Member
elnökChairmanChairman
képviseletre jogosult tagMember with Representation RightsOther
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:
TEÁOR (Hungarian) → NACE Rev. 2 (European) → ISIC Rev. 4 (International)
ClassificationSourceExampleAI Inferred?
TEÁORTRE (§902)6201No (official)
NACEDerived from TEÁOR62.01No (deterministic conversion)
ISICDerived from NACE via mapping table6201No (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 TypeCommercial CompaniesSole Entrepreneurs (EV)Non-Profits / FoundationsNotes
Company Profile✅ Async⚠️ LimitedVariable pricing: TRE cost + fixed fee
Legal Representatives✅ (active only)⚠️ Limited§13 of TRE, may be absent for closed companies
Other Key Persons⚠️ LimitedAuditors (§14), Supervisory Board (§15) from TRE
Shareholders⚠️Part II of TRE, depends on company type
Ultimate Beneficial OwnersNot available from registry
Activity CodesTEÁOR from TRE, converted to NACE + ISIC
Documents✅ (Paid)Trade Register Extract PDF, dynamic pricing
EstablishmentsBusiness premises (§6) and branch offices (§7) from TRE
Legend: ✅ Available | ❌ Not Available | ⚠️ Conditionally Available | Async = Asynchronous processing
Sole Entrepreneurs (EV) are not registered in the Cégjegyzék (Company Register) managed by OCCSZ. They are registered in a separate system (Egyéni Vállalkozói Nyilvántartás) that is not covered by this integration. Egyéni Cég (EC) — Individual Company — is a different entity type that is registered in the Cégjegyzék and falls under the Commercial Companies column.

Documents by Company Type

Documents are retrieved from the OCCSZ XML API with dynamic pricing.

Commercial Companies (Cégjegyzékszám)

Document TypeAPI CategoryFormatSKUAvailabilityNotes
Cégkivonat (Trade Register Extract)tradeRegisterExtractPDFhun-register-extract✅ All companiesDynamic pricing from OCCSZ API
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.
TRE price is variable. Unlike flat-rate documents, the Trade Register Extract price depends on the document size. Larger companies with more historical data will have higher prices. The price is always shown before purchase.

Pricing

Company profile pricing for Hungary is variable — the total cost depends on the underlying Trade Register Extract price (which varies by company) plus a fixed profile fee.
Budget control. 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.

Data Source Priority & Routing

For a given entity, data follows a deterministic retrieval path:
Company Profile Resolution Flow:
  1. Search — Query the OCCSZ XML API by registration number to verify the company exists and obtain the tax number
  2. Available Documents — Fetch the TRE price quote from OCCSZ
  3. Budget check — If profileMaxBudget is set, compare the estimated cost (TRE with markup + fixed profile fee) against the budget. Reject with budget_exceeded if over budget
  4. Download TRE — Purchase and download the Trade Register Extract PDF from OCCSZ
  5. PDF → Markdown — Convert the PDF to structured markdown using PyMuPDF4LLM
  6. Deterministic parsing — Parse the markdown to extract all structured data (name, address, legal form, capital, representatives, shareholders, activities, establishments, status)
  7. AI enrichment (parallel) — Enrich in parallel: address parsing, legal form standardization (ISO 20275), currency parsing, role classification for legal representatives, establishment address parsing
  8. VIES VAT validation — A qualified VIES check validates the VAT number (HU + first 8 digits of tax number) and obtains a consultation number
Document Resolution Flow:The Trade Register Extract PDF is purchased directly from the OCCSZ API. The price is fetched first, then the document is downloaded and stored. The same PDF used for company profile extraction is delivered as the document.

Attribute-Level Source Mapping

AttributeSourceAI Enriched?Notes
Legal nameTRE (§2)NoExtracted deterministically from markdown
Registration numberTRE (§1 header)NoHyphens stripped
Tax numberOCCSZ search + TRE (§21)NoFrom search result internalIdentifiers or TRE
Registered addressTRE (§5)YesParsed from Hungarian format, AI-enriched for structuring
Legal formTRE (Cégforma field)YesDeterministic extraction, AI-enriched for ISO 20275
Registration dateTRE (§8)NoFounding date
StatusTRE (§1 + name)NoDeterministic: §1 deletion date/reason checked first, then quoted status in name, then default active
Share capitalTRE (§11)PartialAmount and known currencies (HUF, EUR, USD, GBP, CHF) deterministic; AI fallback only for unrecognized currencies
Legal representativesTRE (§13)PartialDeterministic extraction; known roles mapped deterministically, unknown roles AI-enriched
AuditorsTRE (§14)NoDeterministic extraction
Supervisory boardTRE (§15)NoDeterministic extraction
ShareholdersTRE (Part II)NoDeterministic extraction when available
Activity codes (TEÁOR/NACE)TRE (§902)NoDeterministic extraction and conversion
Activity codes (ISIC)TRE (§902)NoDeterministic: NACE → ISIC via official UN correspondence table
EstablishmentsTRE (§6, §7)YesDeterministic extraction, address AI-enriched
VAT verificationVIESNoQualified check with consultation number

Example API Responses

All examples use placeholder data. Query: POST /company with { "id": "<id>", "countryCode": "HU", "dataPoints": ["companyProfile"] }
{
  "company": {
    "id": "0109430929",
    "countryCode": "HU",
    "identifiers": { "registrationNumber": "0109430929", "taxNumber": "32565144241", "VAT": "32565144" },
    "taxId": {
      "type": "eu_vat",
      "value": "32565144",
      "country": "HU",
      "verification": {
        "status": "verified",
        "verifiedName": "PELDA TECHNOLOGIA KFT",
        "consultationNumber": "WAPIXXXXXXXXXXXX"
      }
    },
    "legalName": "Példa Technológia Korlátolt Felelősségű Társaság",
    "registrationDate": "2024-05-28",
    "status": { "localName": "Aktív", "active": true, "statusDetails": { "status": "ACTIVE" } },
    "legalForm": { "localName": "Korlátolt Felelősségű Társaság", "englishTranslation": "Limited Liability Company", "standardized": "Limited Liability Company", "iso20275Code": "P9F2" },
    "capital": { "amount": 3100000, "currency": "HUF" },
    "activities": {
      "TEAOR": [{ "code": "6201", "description": "Számítógépes programozás", "isAIInferred": false }],
      "NACE": [{ "code": "62.01", "description": "Computer programming activities", "isAIInferred": false }],
      "ISIC": [{ "code": "6201", "description": "Computer programming activities", "isAIInferred": false }]
    },
    "legalAddress": { "addressLine1": "2 Ferenciek tere", "city": "Budapest", "postalCode": "1053", "countryCode": "HU" }
  },
  "legalRepresentatives": [
    {
      "type": "individual",
      "role": { "localName": "ügyvezető", "englishTranslation": "Managing Director", "standardized": "Managing Director" },
      "individual": {
        "name": { "fullName": "Nagy István", "firstName": "Nagy", "lastName": "István" },
        "birthDate": { "year": 1985, "month": 6, "day": 15 },
        "residenceAddress": { "addressLine1": "10 Andrássy út", "city": "Budapest", "postalCode": "1061", "countryCode": "HU" }
      },
      "startDate": "2024-05-28"
    }
  ]
}
{
  "company": {
    "id": "0106216884",
    "countryCode": "HU",
    "identifiers": { "registrationNumber": "0106216884", "taxNumber": "28383040242" },
    "legalName": "Példa Kereskedelmi Betéti Társaság \"végelszámolás alatt\"",
    "registrationDate": "1993-11-23",
    "status": {
      "localName": "Törölve (kérelemre)",
      "active": false,
      "statusDetails": { "status": "CLOSED", "closureReason": "VOLUNTARY_DISSOLUTION", "closureDate": "2017-01-06T00:00:00.000Z" }
    },
    "legalForm": { "localName": "Betéti Társaság", "englishTranslation": "Limited Partnership", "standardized": "Partnership", "iso20275Code": "S3DA" },
    "legalAddress": { "addressLine1": "121 Andrássy út", "city": "Budapest", "postalCode": "1062", "countryCode": "HU" }
  },
  "legalRepresentatives": []
}
Note: Closed companies have 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.
Documents are returned when "dataPoints": ["availableDocuments"] is requested.
API CategoryDocumentNotes
tradeRegisterExtractCégkivonat (Trade Register Extract) PDFDynamic pricing from OCCSZ. Available for all companies (active and closed)
{
  "documents": {
    "tradeRegisterExtract": {
      "id": "doc_abc123",
      "name": "Trade Register Extract",
      "description": "Trade register extract from the Hungarian Trade Register (Ministry of Justice)",
      "format": "pdf",
      "type": "tradeRegisterExtract",
      "price": {
        "amount": 2.27,
        "currency": "EUR"
      }
    }
  },
  "request": {
    "companyId": "0109430929",
    "countryCode": "HU",
    "dataStatus": {
      "dataPoints": {
        "availableDocuments": { "status": "succeeded" }
      }
    }
  }
}
Note: The price field reflects the real-time cost from the OCCSZ API. Prices are in EUR and vary based on document size.

Quirks & Gotchas

QuirkDetails
Hyphens in identifiersBoth 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 numbersRegistration numbers always have 10 digits. Numbers with leading zeros (e.g., 0109430929 — Budapest court code 01) are preserved correctly.
Liquidation detected from company nameCompanies 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 variableTrade Register Extract pricing is kbyte-based. Larger companies (more history, more sections) cost more. Prices are always shown before purchase.
Company profile = TREThe 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 typesPart II (ownership section) is not present in all TRE documents. Availability depends on the company type and registry content.
No legal reps for closed companiesSection 13 (legal representatives) may be absent in TRE documents for closed companies.
Closure reason defaults to OTHERWhen 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 digitsThe tax number (Adószám) is truncated to 13 characters in the identifiers to standardize the format.
TEÁOR = NACEHungarian TEÁOR codes map 1:1 to NACE Rev. 2 codes (same numeric values, different formatting).
HUF to EUR conversionDocument prices are quoted in HUF by the OCCSZ API and converted to EUR for the API response.