Skip to main content

Start here

This guide contains public integration notes for Bulgaria. Use it for identifier formats, search behavior, and country-specific caveats. The live source of truth for coverage, pricing, data sources, documents, legal forms, roles, and status values is the pricing page.

Bulgaria coverage, pricing, and sources

Open the current catalog for supported datapoints, documents, sources, identifiers, and availability.
Country details below are preserved as integration notes. If a table or example conflicts with the live pricing page, use the pricing page as the source of truth and contact support.

Table of Contents

Data Sources

Bulgaria has two official registers, operated by the same Registry Agency and sharing one UIC numbering space. They cover complementary sets of entities and never overlap, so a single lookup resolves to whichever register holds the entity.
  • Trade Register (Търговски регистър). Operated by the Registry Agency (Агенция по вписванията) under the Ministry of Justice, the Trade Register is the official commercial register for traders and non-profit legal entities. It is our primary source for those entities, providing structured data for company identification, status, legal form, address, share capital, shareholders, legal representatives, supervisory board members, and UBOs.
  • BULSTAT register (Регистър БУЛСТАТ). Also operated by the Registry Agency, BULSTAT holds the entities that are not in the Commercial Register: civil-law partnerships (ДЗЗД / Дружество по ЗЗД), freelancers and self-employed professionals, foreign entities and branches, associations, foundations, community centres (читалища), cooperatives, and state/municipal institutions. When a UIC is not a Commercial-Register trader, we resolve it automatically from BULSTAT, returning the same structured company data (identity, registered seat, activity, status, management, and ownership participation) plus a Trade Register Extract. For a natural-person subject only the register-public correspondence address is returned; the register’s own masked fields are never surfaced.
  • Open Data (data.egov.bg). Bulk datasets published periodically by the Registry Agency on Bulgaria’s government Open Data portal. Contains historical deed filings with company data including status, legal form, address, capital, activity codes (NKID/NACE), legal representatives, and shareholders. Used for search and onboarding profile (fast, pre-indexed lookups).
Open Data for fast lookups: The seach and onboarding profile use pre-indexed Open Data for sub-second response times. The company profile and UBO endpoints query the live Trade Register for the most current data.

Data Source Priority & Routing

A lookup first resolves which register holds the entity, then queries the right sources for it. The Commercial Register and BULSTAT share one UIC space and never overlap, so a single UIC resolves to exactly one of them.
Commercial-Register entity (traders and non-profit legal entities) — data comes from two sources in parallel:
  1. Trade Register (Live API). Real-time query to the Registry Agency portal for the most current data
  2. Open Data (Pre-indexed). Batch-processed data providing fast lookups with broader field coverage (activity codes, NACE/ISIC)
Both sources contribute; results are merged with the live registry taking priority for freshness, while Open Data adds structured fields like activity-code classifications.BULSTAT entity (civil-law partnerships, self-employed persons, foreign entities, associations, foundations, cooperatives, institutions) — resolved from a single live BULSTAT query. There is no Open Data layer for these entities, so the onboarding profile and the company profile both come from the same live source.

Attribute-Level Source Mapping

The mapping above applies to Commercial-Register entities. A BULSTAT entity gets its identity, registered seat, activity, status, management, and ownership participation from the single live BULSTAT query — there is no Open Data layer and no UBO datapoint for these entities.

Company Identifiers

Query Identifiers

The UIC (Unified Identification Code), also known as EIK (Единен идентификационен код), is the primary identifier used across all endpoints. The Commercial Register and BULSTAT share this one numbering space, so you pass the same UIC regardless of which register holds the entity — routing to the right register is automatic. A legacy 10-digit BULSTAT code is remapped to its current UIC automatically. You can also search by VAT number using the BG prefix (e.g., BG831094393).

Identifiers in API Response

Once you retrieve company data, the identifiers object contains:

Search Capabilities

Cyrillic required for name search. Bulgarian company names are registered in Cyrillic script. Name searches must use Cyrillic characters to return results. Latin transliterations will not match.
Search is free. Search queries do not incur any cost. Only onboarding profile, company profile, UBO, and document retrieval are charged.
Address may be missing in name search results. Name searches return data from pre-indexed Open Data (change feeds since January 2021). Companies that have not filed an address change in that period will not have an address. The live Trade Register fallback for name search does not return addresses either. Use the company profile endpoint to get the current address.

Search Source Priority

Search queries use pre-built indexes, live registry lookups, and the BULSTAT register:
  1. Pre-built index by ID. Fast lookup in pre-indexed Open Data for identifier-based searches
  2. Pre-built index by name. Full-text search in pre-indexed Open Data for name-based searches
  3. VAT number lookup. Validates VAT via EU VIES service, then searches by VIES-returned company name
  4. Live Trade Register by name. Fallback to live API for name searches not found in index
  5. Live Trade Register by ID. Fallback to live API for ID searches not found in index
  6. BULSTAT by ID / name. Makes non-trader entities (civil-law partnerships, self-employed persons, foreign entities, associations, foundations) findable by UIC or Cyrillic name. Lower priority, so Commercial-Register results stream first and BULSTAT results follow.
Search streams results as each source resolves. Commercial-Register hits (fast, pre-indexed) return first; a BULSTAT-only entity surfaces a moment later. Once an entity has been retrieved via /v2/company, it is indexed and returns quickly on subsequent searches.

Supported Entity Families

Quirks & Gotchas

Mappings

Company Status

Company status is determined deterministically from deed status codes and company name patterns. No AI inference is involved.

Deed Status Codes

Status Detection from Company Name

When the company name contains specific keywords, the status is overridden regardless of the deed status code:
Company name patterns take priority over deed status codes. A company with deed status E (Amended) but “в ликвидация” in its name is correctly mapped as Closed with Liquidation as the closure reason.
Bulgaria uses numeric codes from the Trade Register, string codes from Open Data, and legal-form names from the BULSTAT register. The deterministic mapping covers every common Commercial-Register and BULSTAT legal form — including civil-law partnerships, cooperatives, associations, foundations, foreign entities, and state/municipal institutions — with the ISO 20275 (ELF) code taken from the official Bulgarian GLEIF list. For a rarer form outside the static map, the standardized type and ISO 20275 code are filled in by AI enrichment in verification mode only; in onboarding mode the local Bulgarian name is returned verbatim without a standardized mapping. The local Bulgarian legal form name is always preserved verbatim in every mode.

Sole Traders

Sole trader (ЕТ) vs. self-employed natural person. Both are one-person operators standardized as Sole Proprietorship, but they come from two different registers and are distinguished by their local name:
  • Sole trader (Едноличен търговец, ЕТ) is a natural person registered as a trader in the Commercial Register — a registered one-person business (localName: "Едноличен търговец", ISO 20275 946C). The trader is returned under legalRepresentatives and, for a beneficial-ownership request, as the sole 100% beneficial owner.
  • Self-employed natural person (freelancer / free-profession practitioner — lawyer, notary, farmer, etc.) is not a trader and is held only in the BULSTAT register (localName: "Физическо лице", no ISO 20275 code, since the register states no legal form). It has no shareholders and no ultimate beneficial owners (both return a benign not-applicable response).
A given UIC resolves to exactly one register, so the two never overlap. Our standardized enum has no dedicated “self-employed” value — Sole Proprietorship is the fleet-standard bucket for one-person operators (as with Estonia’s FIE) — so the register of origin and the local name carry the distinction.

Partnerships

Cooperatives

Non-Profits & Public Entities

Branch Offices

Variable Capital Companies

BULSTAT-only Forms

These forms are not held in the Commercial Register — they are resolved from the BULSTAT register:
The deterministic mapping covers every common Commercial-Register and BULSTAT legal form, with the ISO 20275 (ELF) code taken from the official Bulgarian GLEIF list (only currently-active ELF codes are used). For a rarer form outside the static map, the standardized type and ISO 20275 code are filled in by AI enrichment in verification mode only; in onboarding mode the local Bulgarian name is returned verbatim. The local Bulgarian legal form name is always preserved verbatim in every mode.
The most common Bulgarian legal forms are ООД (LLC, ~45% of active companies), ЕООД (Single-Member LLC, ~35%), ЕТ (Sole Trader, ~10%), and АД/ЕАД (Joint Stock, ~5%).
The deterministic mapping covers the common Bulgarian executive and management roles from both the Commercial Register and BULSTAT. For an unmapped role, keyword matching on the Bulgarian text infers the standardized role (e.g. a role containing “директор” maps to Director), and in verification mode AI enrichment resolves anything the keyword pass cannot. Role names are always preserved in Bulgarian alongside the English translation.
The most common role is Управител (Manager) for OOD/EOOD companies and Изпълнителен директор (Executive Director) for AD/EAD companies. Both individual and corporate legal representatives are supported. Roles not in the static mapping are classified via keyword matching on the Bulgarian role text (e.g., a role containing “директор” is mapped to Director).

Other Key Persons

Board members, auditors, and controllers are extracted separately from legal representatives. For joint-stock companies (AD/EAD), this covers both board structures: the one-tier Board of Directors (Съвет на директорите) and the two-tier Management Board (Управителен съвет) plus Supervisory Board (Надзорен съвет). A board member who also represents the company is returned under legalRepresentatives, not duplicated here. Common board and audit roles are mapped deterministically. Unknown roles are classified via keyword matching on the Bulgarian text, falling back to Other when no keyword matches.

Shareholders

Shareholders are extracted from the Trade Register for OOD, EOOD, KD, and single-member EAD entities. Multi-shareholder AD (joint-stock) companies do not disclose their individual shareholders in the Bulgarian Trade Register. Entities with no share capitalET (sole traders) and BULSTAT natural persons (freelancers / self-employed) and non-profits (associations, foundations) — have no shareholders: the shareholders datapoint returns an explicit not-applicable response (at no charge) and the person or officers are returned under legalRepresentatives instead.

Extraction Logic

Ownership Fields

Since Bulgaria’s euro adoption (1 January 2026), the register reports the company’s share capital in EUR while partner holdings remain filed in BGN. Ownership percentages are therefore derived from the sum of the partners’ BGN holdings (no currency conversion), so they always total 100%. The held amounts (nominalCapitalHeld) are returned in their filed currency (BGN); the company-level capital is the register’s EUR figure. For a single-member company (ЕООД), the sole owner holds the entire registered capital, so their nominalCapitalHeld equals the company’s registered capital (the EUR figure). A sole trader (ЕТ) has no registered capital, so the field is omitted.
Both individual and corporate shareholders are supported. Corporate shareholders include the company’s legal name, registration number (when available), and country code. Foreign corporate shareholders are identified by markers in the registry text.

Activity Code Mapping

Bulgaria uses the NKID (Национална класификация на икономическите дейности) classification, which is Bulgaria’s national transposition of the European NACE Rev. 2 standard.
When Open Data provides a NKID code, the full NKID → NACE → ISIC chain is deterministic (no AI). When only the live Trade Register API is available (company not yet in Open Data), NACE and ISIC codes are AI-inferred from the free-text activity description. Check the isAIInferred flag on each activity code to distinguish.

Data Availability

Data Availability Matrix

Legend: ✅ Available | ❌ Not Available
The matrix above describes Commercial-Register entities. BULSTAT-only entities (civil-law partnerships, self-employed persons, foreign entities, associations, foundations, cooperatives, institutions) are resolved from a single live BULSTAT query — Open Data does not cover them. They return identity, registered seat, activity, status, management, and (where applicable) ownership participation, plus a Trade Register Extract. Ultimate beneficial owners are not applicable for BULSTAT-only entities, and personal data is anonymised by the register, so legal-representative and key-person street addresses are not returned.

Documents by Company Type

The Trade Register Extract is always available for any registered company — for a Commercial-Register entity it is an extract of the trade-register record, and for a BULSTAT-only entity it is a printable extract of the BULSTAT detail page. Articles of Association and Financial Statements are available only when a Commercial-Register company has filed them with the registry (they are not offered for BULSTAT-only entities). Additional document types (shareholder meeting notices, transformation plans, insolvency documents) may be available depending on the company’s filing history.
The following additional documents may be available depending on the company’s filing history:

Example API Responses

All examples use placeholder data. Query: POST /v2/company with { "id": "123456789", "countryCode": "BG", "dataPoints": ["company", "legalRepresentatives"] }
Note: A sole trader (ЕТ) is a natural person trading under a business name, with no share capital. The shareholders datapoint is therefore not applicable — it returns a benign not-applicable response (at no charge) rather than a fabricated record. The trader is returned under legalRepresentatives, and, where a beneficial-ownership datapoint is requested, as the sole 100% beneficial owner.
Note: A limited partnership (КД) has at least one general partner (unlimited liability, listed first) and one or more limited partners (liability capped at their contribution). Partners can be individuals or companies, and either type can be foreign. КД partners are returned without a sharePercentage, because the register records partner roles rather than share amounts.
Note: A single-member joint-stock company (ЕАД) discloses its sole owner, returned in shareholders at 100% with the full registered capital. Multi-shareholder AD companies do not disclose individual shareholders. Board members are returned in otherKeyPersons. This example shows a one-tier Board of Directors (Съвет на директорите); two-tier companies instead have a Management Board (Управителен съвет) plus a Supervisory Board (Надзорен съвет). A board member who also represents the company (the Executive Director above) is returned once, under legalRepresentatives.
Note: Companies in liquidation have a Ликвидатор (Liquidator) as legal representative instead of the regular Управител (Manager). The company name itself contains “в ликвидация” (in liquidation).
Query: POST /v2/company with { "id": "123456789", "countryCode": "BG", "dataPoints": ["ultimateBeneficialOwners"] }
Note: UBO data is fetched live from the Commercial Register beneficial-ownership declarations. Not all companies have UBO filings, so the field may be absent if no declaration has been filed. Beneficial ownership is a Commercial-Register concept: for entities held only in the BULSTAT register (civil-law partnerships, self-employed persons, foreign entities, associations, and foundations) the ultimateBeneficialOwners datapoint returns a benign not-applicable response (at no charge) — a self-employed person is never synthesised as their own beneficial owner. A sole trader (ЕТ), by contrast, is a Commercial-Register entity whose trader is legitimately returned as the sole 100% beneficial owner.
Query: POST /v2/company with { "id": "123456789", "countryCode": "BG", "dataPoints": ["availableDocuments"] }
Note: The Trade Register Extract is always available. Articles of Association and Financial Statements are conditional, only listed when the company has filed them with the registry.
Query: POST /v2/company with { "id": "175883961", "countryCode": "BG", "dataPoints": ["company", "legalRepresentatives", "shareholders"] }
Note: A civil-law partnership (ДЗЗД) is held only in the BULSTAT register — it is resolved automatically when the UIC is not a Commercial-Register trader. Unlike sole traders and self-employed persons, a ДЗЗД has participating members, so shareholders returns them (with participation percentage where the register states it). Note there is no VAT identifier: it is only added when a VIES check confirms the entity is VAT-registered. Identifiers, values, and names above are illustrative.
Query: POST /v2/company with { "id": "1122334455", "countryCode": "BG", "dataPoints": ["company", "legalRepresentatives", "shareholders", "ultimateBeneficialOwners"] }
Note: A self-employed natural person (freelancer / free-profession practitioner) is held only in BULSTAT and is not a sole trader (ЕТ) — sole traders live in the Commercial Register. Both standardize as Sole Proprietorship; they are distinguished by the local name (Физическо лице vs Едноличен търговец) and the register of origin. The person has no share capital, so both shareholders and ultimateBeneficialOwners return a benign not-applicable response (at no charge) rather than a fabricated record. There is no VAT identifier or taxId unless a VIES check confirms VAT registration. BULSTAT anonymises personal data, so only the register-public correspondence locality is returned, not a full street address. Identifiers, values, and names above are illustrative.