Data Sources
Latvia uses two complementary data sources: the real-time UR API for full company profiles and documents, and open data for fast batch-cached search and onboarding.- Uzņēmumu reģistrs (UR) API — The Enterprise Register of the Republic of Latvia, maintained by the Register of Enterprises. This is the source for full company profiles with AI enrichment: activity codes (NACE/ISIC), legal representatives with standardized roles, supervisory board, shareholders with ownership details, UBOs with control types, and document access. Accessible at ur.gov.lv. The API uses OAuth2 with JWT client assertion (RFC 7523) for authentication.
- Latvia Open Data (data.gov.lv) — CC0-licensed datasets from the Enterprise Register, updated daily. Covers ~480K entities across 7 CSV files: company register, officers, members (SIA shareholders), stockholders (AS shareholders), beneficial owners, equity capitals, and areas of activity. Used for batch-cached search via Meilisearch and the onboarding profile datapoint. Addresses are geocoded via Nominatim during batch processing.
Dual-source model. Search queries hit Meilisearch first (~50-100ms) for
fast results from batch data, then fall back to the UR API for supplementary
results. The onboarding profile serves data directly from batch staging
tables, while the full company profile uses the UR API for AI-enriched data.
Company Identifiers
Query Identifiers
| Company Type | Source | Format | Example | Notes |
|---|---|---|---|---|
| All entity types | UR | 9-11 digits (Registration Number) | 40103217882 | Universal identifier for all Latvian entities |
Identifiers in API Response
Once you retrieve company data, theidentifiers object contains all available identifiers for that entity:
| Identifier Type | Format | Example | Found In |
|---|---|---|---|
registrationNumber | 9-11 digits | 40103217882 | All entities |
sepaCreditorId | LV + check digits + ZZZ + registration number | LV86ZZZ40103217882 | Commercial companies (when available) |
Search Capabilities
| Search Type | Pattern | Example | Match Type | Source | Speed |
|---|---|---|---|---|---|
| By Registration Number | 9-11 digits | 40103217882 | Exact | Meilisearch + UR API | ~50-100ms (Meili) |
| By Name | Text string (2-100 chars) | "Bolt" | Fuzzy/Contains | Meilisearch + UR API | ~50-100ms (Meili) |
| By VAT Number | LV + 11 digits | LV40103217882 | Exact | VIES + UR API | ~1-5s |
Search architecture: Search queries run all sources in parallel. Meilisearch sources (by ID and by name) return first from batch data. The UR API sources (by ID, by VAT, by name) provide supplementary results. Results are merged with matchType priority (ID > exact name > partial match).
Quirks & Gotchas
| Quirk | Details |
|---|---|
| Single registry source | All data comes from the Enterprise Register (Uzņēmumu reģistrs). No fallback sources exist. If the UR API is unavailable, no data can be returned. |
| NACE revision conversion | Latvia may provide NACE Rev. 1 or 1.1 codes (pre-2008 classification) for older companies. These are automatically converted to NACE Rev. 2 via AI. Division codes have different meanings across revisions (e.g., Division 15 = Food products in Rev. 1 vs. Leather in Rev. 2). |
| Status uses finite enum | Company status is deterministic from a finite API enum: REGISTERED, REMOVED, ANNULLED. No AI inference needed. The statusDetails field provides additional context (REORGANIZED, IN_LIQUIDATION). |
| Hyphen vs. underscore in status | The UR API returns status details with both hyphens (IN-LIQUIDATION) and underscores (IN_LIQUIDATION). Both formats are handled automatically. |
| Removal reasons affect closure type | When a company is REMOVED, the closure reason depends on context: reorganized = MERGER, after liquidation = LIQUIDATION, annulled = COURT_ORDER, other = ADMINISTRATIVE_DISSOLUTION. |
| Hybrid role mapping | Legal representative and other key person roles use a hybrid approach: known roles are mapped deterministically, unknown free-text roles are enriched by AI. The position and governingBody fields from the API are used alongside the free-text role field. |
| Historical currency (LVL) | Older records may show share capital in Latvian Lats (LVL) instead of EUR. Latvia adopted the Euro on January 1, 2014. |
| Document format conversion | Documents from the Enterprise Register may be in TIF, HTML, EDOC, or ASICE format and are automatically converted to PDF for delivery. |
| ISIC always AI-inferred | NACE codes are official from the registry. ISIC codes are always derived from NACE via AI enrichment. Check the isAIInferred flag. |
| Shareholder nominal value | Shareholder data includes shareNominalValue (value per share) which is multiplied by numberOfShares to compute total nominal capital held. |
| Legacy person-as-entity records | Some older records (especially individual undertakings) store natural persons in the legalEntity field instead of naturalPerson. The system auto-detects and handles this. |
| No employee count | The UR API does not provide employee count data for any entity type. |
| No website/email/phone | Contact information (website, email, phone numbers) is not available from the Enterprise Register. |
Company Status
Company status is determined deterministically from the UR API schema — no AI inference is involved. The API returns a finite enum of statuses with optional status details and liquidation records.| UR Status | Status Details | Local Name | Standardized Status | Closure Reason |
|---|---|---|---|---|
REGISTERED | (none) | Reģistrēts | Active | — |
REGISTERED | IN_LIQUIDATION | Likvidācijas procesā | Under Insolvency Proceeding | Liquidation |
REMOVED | REORGANIZED | Izslēgts (reorganizācija) | Closed | Merger |
REMOVED | (with liquidation history) | Izslēgts (likvidācija) | Closed | Liquidation |
REMOVED | (none) | Izslēgts no reģistra | Closed | Administrative Dissolution |
ANNULLED | — | Anulēts | Closed | Court Order |
When a company has
REGISTERED status with IN_LIQUIDATION details, the
insolvencyStartDate is derived from the most recent active liquidation
record’s startedOn date. The groundsForLiquidation field provides
additional context (e.g., shareholder decision). For REMOVED companies, the
closureDate comes from the removedOn field.Legal Forms
Latvia uses a finite set of 18 legal form types from the UR API. The mapping is fully deterministic — no AI inference is used for legal form identification. ISO 20275 codes are derived via AI enrichment after the deterministic mapping.Commercial Companies
| API Type Code | Latvian Name | Abbr. | English Translation | Standardized |
|---|---|---|---|---|
LIMITED_LIABILITY_COMPANY_SIA | Sabiedrība ar ierobežotu atbildību | SIA | Limited Liability Company | Limited Liability Company |
PUBLIC_LIMITED_COMPANY_AS | Akciju sabiedrība | AS | Public Limited Company | Corporation |
GENERAL_PARTNERSHIP_PS | Pilnsabiedrība | PS | General Partnership | Partnership |
LIMITED_PARTNERSHIP_KS | Komandītsabiedrība | KS | Limited Partnership | Partnership |
COOPERATIVE_SOCIETY_KB | Kooperatīvā sabiedrība | — | Cooperative Society | Cooperative |
Sole Entrepreneurs & Individual Entities
| API Type Code | Latvian Name | Abbr. | English Translation | Standardized |
|---|---|---|---|---|
SOLE_TRADER_IK | Individuālais komersants | IK | Sole Trader | Sole Proprietorship |
INDIVIDUAL_UNDERTAKING_IND | Individuālais uzņēmums | — | Individual Undertaking | Sole Proprietorship |
FARM_ZEM | Zemnieku saimniecība | Z/S | Farm | Sole Proprietorship |
Non-Profits & Civil Society
| API Type Code | Latvian Name | English Translation | Standardized |
|---|---|---|---|
ASSOCIATION_BDR | Biedrība | Association | Nonprofit Organization |
FOUNDATION_NOD | Nodibinājums | Foundation | Nonprofit Organization |
RELIGIOUS_ORGANIZATION_REL | Reliģiskā organizācija | Religious Organization | Nonprofit Organization |
POLITICAL_PARTY_PP | Politiskā partija | Political Party | Nonprofit Organization |
European & International Entities
| API Type Code | Latvian Name | Abbr. | English Translation | Standardized |
|---|---|---|---|---|
EUROPEAN_COMPANY_SE | Eiropas komercsabiedrība | SE | European Company (SE) | Corporation |
EUROPEAN_COOPERATIVE_SOCIETY_SCE | Eiropas kooperatīvā sabiedrība | SCE | European Cooperative Society (SCE) | Cooperative |
EUROPEAN_ECONOMIC_INTEREST_GROUPING_EEIG | Eiropas ekonomisko interešu grupējums | EEIG | European Economic Interest Grouping (EEIG) | Partnership |
Other Entity Types
| API Type Code | Latvian Name | English Translation | Standardized |
|---|---|---|---|
BRANCH_FIL | Filiāle | Branch | Branch or Representative Office |
PUBLIC_BODY | Publiska persona vai iestāde | Public Body | Government-Owned Entity |
MIL | Masu informācijas līdzeklis | Mass Media | Other |
Unknown legal forms not matching the 18 known types fall back to using the raw
API value as
localName without English translation. ISO 20275 codes are
always derived via AI enrichment, not from a static lookup table.Legal Representatives
Legal representatives are extracted from the UR APIofficers array. The classification of a role as legal representative vs. other key person uses a hybrid approach: known roles are mapped deterministically, while unknown free-text roles fall back to AI enrichment. Role determination uses three signals from the API: the free-text role field, the enum position field, and the enum governingBody field.
Legal Representative Roles (Deterministic Mapping)
By Role Name (free-text Latvian)
By Role Name (free-text Latvian)
| Role Key | Latvian Name | English Translation | Standardized Role |
|---|---|---|---|
valdes_loceklis | Valdes loceklis | Board Member | Board Member |
valdes_priekssedetajs | Valdes priekšsēdētājs | Chairman of the Board | Chairman of the Board |
direktors | Direktors | Director | Director |
izpilddirektors | Izpilddirektors | Executive Director | Managing Director |
likvidators | Likvidators | Liquidator | Liquidator |
administrators | Administrators | Administrator | Administrator |
prokurists | Prokūrists | Procurist | Other |
By Position Enum (from UR API)
By Position Enum (from UR API)
| Position Value | Latvian Name | English Translation | Standardized Role |
|---|---|---|---|
CHAIR_OF_BOARD | Valdes priekšsēdētājs | Chairman of the Board | Chairman of the Board |
BOARD_MEMBER | Valdes loceklis | Board Member | Board Member |
DIRECTOR | Direktors | Director | Director |
EXECUTIVE_DIRECTOR | Izpilddirektors | Executive Director | Managing Director |
LIQUIDATOR | Likvidators | Liquidator | Liquidator |
ADMINISTRATOR | Administrators | Administrator | Administrator |
By Governing Body
By Governing Body
| Governing Body | Classification |
|---|---|
EXECUTIVE_BOARD | Legal Representative |
SUPERVISORY_BOARD | Other Key Person |
Pattern-Based Fallbacks
Pattern-Based Fallbacks
When the free-text role does not match an exact mapping, pattern matching is used to determine if the role is a legal representative:
If a pattern matches but the exact role is not known, the role is flagged for AI enrichment to provide accurate English translation and standardization.
| Pattern | Latvian Context | Indicates |
|---|---|---|
valdes | Board-related | Legal Representative |
direktors | Director-related | Legal Representative |
likvidators | Liquidation-related | Legal Representative |
administrators | Administration-related | Legal Representative |
prokurists | Commercial proxy | Legal Representative |
pilnvarot | Authorization-related | Legal Representative |
parakst | Signing authority | Legal Representative |
Procurists are mapped separately from the
procurations array (not the
officers array). Each procuration may contain multiple procurists, and the
system also extracts rightsOfRepresentation (e.g., INDIVIDUALLY,
WITH_AT_LEAST, JOINTLY) and rightsOnImmovableProperty when available. Both
individual and corporate legal representatives are supported.Other Key Persons
Other key persons (supervisory board members, auditors) are extracted from the sameofficers array, classified by role, position, or governing body.
Other Key Person Roles (Deterministic Mapping)
| Role Key / Position | Latvian Name | English Translation | Standardized Role |
|---|---|---|---|
padomes_loceklis / SUPERVISORY_BOARD_MEMBER | Padomes loceklis | Supervisory Board Member | Supervisory Board Member |
padomes_priekssedetajs / CHAIR_OF_SUPERVISORY_BOARD | Padomes priekšsēdētājs | Chairman of Supervisory Board | Supervisory Board Member |
revidents / AUDITOR / REVISOR | Revidents | Auditor | Auditor |
Officers with
governingBody = SUPERVISORY_BOARD but no explicit role or
position are defaulted to “Supervisory Board Member” and flagged for AI
verification. Both individual and corporate other key persons are supported.Shareholders
Shareholders are extracted from the UR APImembers array for commercial companies only (SIA, AS). Non-profits, foundations, sole traders, and farms do not provide shareholder data.
Extraction Logic
| Field | Description | Source |
|---|---|---|
sharePercentage | Ownership percentage | shareHolderDetails.inPercent |
numberOfShares | Number of shares held | shareHolderDetails.numberOfShares |
nominalCapitalHeld | Total nominal capital (value per share x number of shares) | shareHolderDetails.shareNominalValue x numberOfShares |
type | Individual or Company | Determined from naturalPerson or legalEntity presence |
Additional shareholder fields (AI-enriched when available)
Additional shareholder fields (AI-enriched when available)
Both individual and corporate shareholders are supported. Corporate
shareholders include registration number and country when available. Foreign
corporate shareholders are identified with their home country registration
details.
Activity Code Mapping
Latvia uses NACE (Nomenclature of Economic Activities) codes from the Enterprise Register. The system maps activity codes across two levels, with special handling for older NACE revisions:| Classification | Source | Example | AI Inferred? |
|---|---|---|---|
| NACE Rev. 2 | UR API (naceTypes array) | 62.01 | No (official), unless converted from Rev. 1/1.1 |
| ISIC | Derived from NACE | 6201 | Yes (always AI-derived) |
NACE Revision Handling
| Scenario | Processing |
|---|---|
| NACE Rev. 2 codes | Used directly, enriched with ISIC via formal mapping + AI |
| NACE Rev. 1 or 1.1 codes | Converted to NACE Rev. 2 via AI (LLM understands old classifications), then ISIC derived |
| No NACE codes (text only) | typesOfActivity and goals text fields used for AI enrichment to derive both NACE and ISIC |
| Placeholder codes (00.00) | Filtered out automatically |
Non-profit entities (associations, foundations) may have activity area codes
(
areasOfActivityOfAssociationsFoundations) instead of NACE codes. These use
a separate classification (e.g., HEALTH_AND_DISEASE_PREVENTION, EDUCATION,
CULTURE, SPORT) and are processed via AI enrichment to derive NACE/ISIC
equivalents.Data Availability Matrix
| Data Type | Commercial Companies (SIA, AS) | Sole Entrepreneurs (IK) | Partnerships (PS, KS) | Non-Profits (Biedrība) | Foundations (Nodibinājums) | Notes |
|---|---|---|---|---|---|---|
| Onboarding Profile | ✅ Fast | ✅ Fast | ✅ Fast | ✅ Fast | ✅ Fast | From batch open data (~1s). Includes legal reps, shareholders, capital |
| Company Profile | ✅ Async | ✅ Async | ✅ Async | ✅ Async | ✅ Async | Full data from Enterprise Register |
| Legal Representatives | ✅ | ✅ | ✅ | ✅ | ✅ | Board members, directors, liquidators, procurists |
| Other Key Persons | ✅ | ⚠️ Limited | ⚠️ Limited | ⚠️ Limited | ⚠️ Limited | Supervisory board members, auditors |
| Shareholders | ✅ | ❌ | ❌ | ❌ | ❌ | SIA and AS only |
| Ultimate Beneficial Owners | ✅ | ⚠️ Limited | ⚠️ Limited | ⚠️ Limited | ⚠️ Limited | Directly from registry, no purchase required |
| Activity Codes | ✅ | ✅ | ✅ | ✅ | ✅ | NACE (may need revision conversion) + ISIC |
| Documents | ✅ | ✅ | ✅ | ✅ | ✅ | CTRE, annual reports, articles, registry docs |
| Share Capital | ✅ | ❌ | ❌ | ❌ | ❌ | SIA and AS only |
| Employee Count | ❌ | ❌ | ❌ | ❌ | ❌ | Not available from Enterprise Register |
| Previous Names | ✅ | ✅ | ✅ | ✅ | ✅ | Historical name changes with dates |
Documents by Company Type
Latvia provides comprehensive document access through the Enterprise Register (Uzņēmumu reģistrs). Documents are sourced from two channels: the UR website (for CTRE) and the UR API (for all other documents).Always Available
| Document Type | API Category | Format | SKU | Availability | Notes |
|---|---|---|---|---|---|
| Certified Trade Register Extract | certifiedTradeRegisterExtract | LVA_CERTIFIED_REGISTER_EXTRACT | ✅ All registered companies | Official e-sealed extract with complete registration data |
From UR API (Public Documents)
Articles of Association
Articles of Association
| Document Type | UR Type Code | API Category | SKU | Notes |
|---|---|---|---|---|
| Articles of Association | AOA | articlesOfAssociation[] | LVA_ARTICLES_OF_ASSOCIATION | Company bylaws (Statūti) |
| Amendments to Articles of Association | AMENDMENTS_TO_AOA | articlesOfAssociation[] | LVA_ARTICLES_OF_ASSOCIATION | Changes to bylaws |
Financial Statements
Financial Statements
| Document Type | UR Type Code | API Category | SKU | Notes |
|---|---|---|---|---|
| Annual Report | ANNUAL_REPORT | financialStatements[] | LVA_FINANCIAL_STATEMENTS | Balance sheet, income statement, cash flow |
| Sample Report | SAMPLE_REPORT | financialStatements[] | LVA_FINANCIAL_STATEMENTS | Simplified financial report |
Registration & Incorporation
Registration & Incorporation
| Document Type | UR Type Code | Internal Type | SKU | Notes |
|---|---|---|---|---|
| Registration Certificate | REGISTRATION_CERTIFICATE | Certificate of Incorporation | LVA_DOCUMENTS | Original registration document |
| Memorandum | MEMORANDUM | Other | LVA_DOCUMENTS | Founding documentation |
Beneficial Owners
Beneficial Owners
| Document Type | UR Type Code | Internal Type | SKU | Notes |
|---|---|---|---|---|
| Statement Regarding Beneficial Owners | STATEMENT_REGARDING_BENEFICIAL_OWNERS | UBO Extract | LVA_DOCUMENTS | Declared beneficial owners |
| Beneficial Owner Justification | BO_JUSTIFICATION | UBO Extract | LVA_DOCUMENTS | Justification for UBO declarations |
Shareholders & Equity
Shareholders & Equity
Corporate Governance
Corporate Governance
| Document Type | UR Type Code | SKU | Notes |
|---|---|---|---|
| Company Protocol | PROTOCOL_OF_COMPANY_OR_ORGANISATION | LVA_DOCUMENTS | Meeting minutes and decisions |
| List of Board Members | LIST_OF_BOARD_MEMBERS | LVA_DOCUMENTS | Board composition |
| Consent of Supervisory Board | CONSENT_OF_SUPERVISORY_BOARD | LVA_DOCUMENTS | Supervisory board approvals |
| Consent of Auditor | CONSENT_OF_AUDITOR | LVA_DOCUMENTS | Auditor consent documents |
Legal & Administrative
Legal & Administrative
| Document Type | UR Type Code | SKU | Notes |
|---|---|---|---|
| Notarial Decision | NOTARIAL_DECISION | LVA_DOCUMENTS | Notarized decisions and certificates |
| Power of Attorney | POWER_OF_ATTORNEY | LVA_DOCUMENTS | Authorization documents |
| Confirmation of Legal Address | CONFIRMATION_OF_LEGAL_ADDRESS | LVA_DOCUMENTS | Address proof |
| Legal Address Announcement | ANNOUNCEMENT_REGARDING_LEGAL_ADDRESS | LVA_DOCUMENTS | Address change notices |
| Reorganisation Agreement | REORGANISATION_AGREEMENT | LVA_DOCUMENTS | Merger/restructuring docs |
| Reorganisation Announcement | ANNOUNCEMENT_REGARDING_REORGANISATION | LVA_DOCUMENTS | Reorganisation notices |
Foreign Entities & Other
Foreign Entities & Other
| Document Type | UR Type Code | SKU | Notes |
|---|---|---|---|
| Foreign Company Registration Documents | DOCUMENTS_CONFIRMING_REGISTRATION_OF_FOREIGN_COMPANY | LVA_DOCUMENTS | For foreign parent companies |
| Foreign Organisation Registration Documents | DOCUMENTS_CONFIRMING_REGISTRATION_OF_FOREIGN_ORGANISATION | LVA_DOCUMENTS | For foreign parent organisations |
| Commercial Pledge | PLEDGOR | LVA_DOCUMENTS | Commercial pledge documents |
| Application | APPLICATION | LVA_DOCUMENTS | Various applications |
| Submission | SUBMISSION | LVA_DOCUMENTS | Regulatory submissions |
| Other Document | OTHER | LVA_DOCUMENTS | Miscellaneous documents |
Insolvency Proceedings
Insolvency Proceedings
Insolvency proceeding documents are retrieved from a separate API endpoint and enriched via AI parsing to extract the proceeding type, status, and descriptive English names.
| Source | SKU | Format | Notes |
|---|---|---|---|
| UR Insolvency API | LVA_DOCUMENTS | AI-enriched names and descriptions |
Annual Report Deduplication: The UR API may return multiple versions of
the same annual report (including DUF structured data files). The system
automatically filters out DUF files and deduplicates by year+format, keeping
only the most recent version.
Example API Responses
All examples use placeholder data. Query:POST /company with { "id": "<id>", "countryCode": "LV", "dataPoints": ["companyProfile"] }
Active SIA (Limited Liability Company) — with shareholders and UBOs
Active SIA (Limited Liability Company) — with shareholders and UBOs
Closed Company (Removed from Register)
Closed Company (Removed from Register)
active: false with a closureDate and closureReason. Different removal reasons (reorganization, liquidation, administrative dissolution) are mapped to specific closure reasons.Company in Liquidation
Company in Liquidation
Likvidācijas procesā (Under Insolvency Proceeding) with the liquidation start date. The liquidator replaces board members as the legal representative.Association (Non-profit)
Association (Non-profit)
UBO Response (dedicated datapoint)
UBO Response (dedicated datapoint)
Query with Note: UBOs are available directly from the Enterprise Register — no separate purchase required. The
"dataPoints": ["ultimateBeneficialOwners"]:natureOfControl field uses known enum values: AS_MEMBER, AS_FOUNDATION_FOUNDER, AS_OWNER, ON_GROUNDS_OF_PROPERTY_RIGHT, AS_SHAREHOLDER. Includes share and voting rights percentages when declared.Available Documents (company example)
Available Documents (company example)
Documents are returned when
"dataPoints": ["documents"] is requested.All entity types:| API Category | Document | SKU | Notes |
|---|---|---|---|
certifiedTradeRegisterExtract | Certified Trade Register Extract (e-sealed PDF) | LVA_CERTIFIED_REGISTER_EXTRACT | Always available for registered companies |
financialStatements[] | Annual Reports | LVA_FINANCIAL_STATEMENTS | When filed, deduplicated by year |
articlesOfAssociation[] | Articles of Association / Amendments | LVA_ARTICLES_OF_ASSOCIATION | When filed |
| Various (see Documents section) | Registration cert., shareholder register, protocols, etc. | LVA_DOCUMENTS | Based on what company has filed |