Skip to main content
This guide is outdated and will be removed on 1 November 2026. The up-to-date Bulgaria reference is on the Bulgaria country page.

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. Each entity is served from the register that holds its full record, so a single lookup resolves automatically. Older traders may also have a legacy BULSTAT record, but their Commercial Register record is always the one used.
  • 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 prefill profile (fast, pre-indexed lookups).
Open Data for fast lookups: The search and prefill 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 the Commercial Register is asked first, so a trader that also has a legacy BULSTAT record still resolves from the Commercial Register.
Commercial-Register entity (traders and non-profit legal entities). The source depends on the mode:
  1. Prefill mode. Served from the pre-indexed Open Data export for fast lookups. A company missing from the export falls back to a live Trade Register lookup.
  2. Verification mode. Queried live from the Trade Register for the most current data, plus a VIES check of VAT registration. Open Data is not used.
The two sources are not merged: each mode returns the data of its own source.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 prefill profile and the company profile both come from the same live source.

Attribute-Level Source Mapping

In prefill mode, a company missing from the Open Data export is served from a live Trade Register lookup instead.
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. /v2/company accepts 9 or 13 digits only. To use a legacy 10-digit BULSTAT code, look it up with /v2/search, which returns the current UIC to pass to /v2/company. 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:

European Unique Identifier (EUID)

Eligible ООД, ЕООД, АД and ЕАД companies can return company.identifiers.euid in the format BGCOMREG. followed by their 9-digit UIC. Sole traders and BULSTAT-only entities are excluded. EUID is a response identifier, not a search key. GLEIF is the supplementary data source for this identifier. company.identifiers.lei is optional. It is returned when the EIK/UIC (uic) matches exactly one LEI through a GLEIF registration or validation reference. The Legal Entity Identifier has 20 uppercase alphanumeric characters, ending in two check digits. Coverage varies by entity. An absent lei does not prove that the company has no LEI. Lapsed, retired or merged LEIs may be returned; annulled LEIs are excluded.

Search Capabilities

Cyrillic gives the best name search results. Bulgarian company names are registered in Cyrillic script. Latin transliterations of company names also match companies in the pre-built index, but the live register fallbacks only match Cyrillic.
Search is free. Search queries do not incur any cost. Only prefill 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.

Active companies only

Search can return companies that are no longer active. activeOnly=true removes those whose status is known at search time; the others are kept. Trading companies are filtered, including those in liquidation or insolvency. Other registered entities (associations, foundations, civil partnerships, sole traders, foreign entities) are returned whatever their status.

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.

BULSTAT Statuses

BULSTAT entities use the register’s own status labels instead of deed status codes: Any other label is returned verbatim in localName with an UNKNOWN standardized status. 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 prefill 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 is always served from exactly one register, so the two are never mixed. 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 prefill 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%).
Appointments use the published role references for the Commercial Register and BULSTAT. The register’s representative fields establish an individual appointment; separate governance fields identify board and oversight memberships. Exact known labels have the same standardized value in live and cached results. An unspecified office on an established representative row is an Authorized Signatory; unknown generic management titles remain other key persons until a mandate is evidenced. These representative values apply to a source-established capacity, rather than to every occurrence of the title. Corporate and individual holders retain their identity. Recorded manner-of-representation text is preserved in signingPowers.localText; an unambiguous individual or joint condition can also populate representationMode. Missing or alternative conditions do not imply a sole signature.
Commercial Act Article 235 provides collective director/management-board representation by default unless the articles provide otherwise, and also permits registered delegated representatives. Board membership alone does not establish the applicable current articles, full-board signature rule or an individual mandate. Unmandated board appointments remain in otherKeyPersons; their classification does not deny exceptional or collective capacity. Liquidator and procuration powers also have statutory and recorded conditions.

Other Key Persons

Separate board, supervisory, audit and control appointments use the other-key-person vocabulary. The same title may have a different value when the record establishes an individual representation grant. A name appearing in the representative roster is excluded from the live board-only list. Public XML records also distinguish representatives of entities in the ownership chain from direct representatives of the subject company. The reference list covers the known source vocabulary and observed labels; the registers return free text and do not publish a complete closed title classifier. Older cached XML appointments may lack the original field context, and a change-feed record can omit an unchanged current representative. Current live representative fields remain the stronger source for those cases.

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 capital — ET (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.
One code in, one code out. You get one NACE and one ISIC code per declared NKID code. Where a NKID code has no single equivalent in the target revision, the shared parent class is returned rather than every candidate — see One code in, one code out. Main activity. The Open Data NKID code is the register’s declared main activity (основна дейност), so it carries isMainActivity: true, and the NACE and ISIC codes derived from it inherit the flag. AI-inferred codes from the free-text activity description do not carry the flag.
In prefill mode, the NKID code comes from Open Data and the full NKID → NACE → ISIC chain is deterministic (no AI). In verification mode, the live Trade Register returns only the free-text activity description, so NACE and ISIC codes are AI-inferred from it and no NKID code is returned. An prefill lookup for a company missing from Open Data falls back to the live register and returns no activity codes. Check the isAIInferred flag on each activity code to distinguish.

Establishments

establishments returns branches recorded in the Commercial Register in both prefill and verification mode. Names, branch codes, addresses, closure status, and closure dates are returned where published. Branch codes are local to the parent company. Closed branches may be included with active: false. An empty list means no branches are listed, rather than proving the company has no other operating sites. For entities registered only in BULSTAT, this datapoint returns datapoint_not_applicable: the public subject report does not provide an establishments list.

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. They are listed under officialPublications or otherDocuments. See the pricing page for document pricing.
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": "112233445", "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 complete as failed with the datapoint_not_applicable error code in request.dataStatus.dataPoints rather than a fabricated record. See Sole Entrepreneurs & Non-Profits. 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.