Table of Contents
- Data Sources
- Company Identifiers
- Search Capabilities
- Quirks & Gotchas
- Mappings
- Data Availability
- Example API Responses
Data Sources
Luxembourg uses a single official registry as its primary data source. All structured company data is extracted from a certified trade register extract document via AI parsing.All company types
- RCS (Registre de Commerce et des Societes) — Operated by Luxembourg Business Registers (LBR), an economic interest grouping comprising the State, the Chamber of Commerce, and the Chamber of Skilled Trades, under the authority of the Ministry of Justice since 2003. The RCS is the central commercial register for the Grand Duchy of Luxembourg, containing registration data for virtually all legal entities: commercial companies, partnerships, sole traders, civil companies, non-profit associations (ASBLs), foundations, investment funds, and branches of foreign entities. It is our sole data source for Luxembourg entities. The system retrieves a certified extract (“Extrait du RCS”) for each company, from which all structured data is AI-parsed: company name, legal form, status, registration date, registered address, share capital, activity codes, legal representatives, and shareholders.
- VIES (VAT Information Exchange System) — The EU-wide VAT validation service is used exclusively during VAT number searches to resolve a Luxembourg VAT number to a company name, which is then used to search the RCS. VIES is not a data source for company profile data.
Document-based data extraction: Unlike registries that expose structured APIs, the Luxembourg RCS delivers data as certified PDF documents (“Extrait du RCS”). All company attributes — including legal form, status, legal representatives, and shareholders — are extracted from these documents using AI parsing. This means data quality depends on the document content and parsing accuracy. The only structured data available directly from the RCS API is the NACE code and basic search information (company name, ID, legal form abbreviation, and address).
Company Identifiers
Query Identifiers
| Company Type | Source | Format | Example | Notes |
|---|---|---|---|---|
| Commercial companies | RCS | Letter prefix + digits | B246607 | Standard RCS registration number |
| By VAT number | VIES | LU + 8 digits | LU32326416 | EU VAT number lookup via VIES |
RCS Number Prefixes
| Prefix | Entity Type |
|---|---|
B | Commercial companies (SA, SARL, SAS, SCA, etc.) |
J | Groupements d’interet economique (GIE/GEIE) |
S | Branches of foreign entities (succursales) |
F | Foundations (fondations) |
A | Non-profit associations (ASBL) |
G | Mutual insurance associations |
C | Cooperatives (older registrations) |
Identifiers in API Response
Once you retrieve company data, theidentifiers object contains all available identifiers for that entity:
| Identifier Type | Format | Example | Found In |
|---|---|---|---|
RCS | Letter prefix + digits | B246607 | All registered entities |
VAT | LU + 8 digits | LU32326416 | Companies with VAT registration (AI-extracted from document) |
Search Capabilities
| Search Type | Pattern | Example | Match Type | Expected Results |
|---|---|---|---|---|
| By RCS Number | Letter + digits | B246607 | Exact | Single company (1 result) |
| By VAT Number | LU + 8 digits | LU32326416 | Exact via VIES | Single company (1 result) |
| By VAT (no prefix) | 8 digits | 32326416 | Exact via VIES | Single company (1 result) |
| By Name | Text string (min 3 chars) | "VREF Germany" | Fuzzy | Multiple results |
VAT Search Flow: VAT searches follow a two-step process: (1) validate the number via VIES to retrieve the official company name, then (2) search the RCS by that company name. The matched company is flagged as an
id match and promoted to the top of results. Both formats are accepted: with country prefix (LU32326416) and without (32326416).Search reliability: All search operations include built-in retry handling for reliability against the RCS API.
Quirks & Gotchas
| Quirk | Details |
|---|---|
| All data is AI-parsed from documents | Company profile, legal representatives, and shareholders are all extracted from the RCS trade register extract (PDF) via AI parsing. There is no structured API for company attributes beyond basic search fields and NACE codes. |
| Email-based document delivery | The RCS extract is obtained through an asynchronous email workflow: the system requests the document, receives an email with a download link from otx.etat.lu, and retrieves the PDF. Typical delivery is approximately 1 hour, but can take up to 6 hours. |
| Asynchronous company profile | Because the company profile depends on the trade register extract document, profile delivery is asynchronous. The companyProfile datapoint will show processing until the document is received and parsed. |
| Status detection is heuristic + AI | Status is first detected by keyword search in the document text for closure terms (“radiee”, “dissous”, “dissolution”), then AI-enriched for standardization. Edge cases may exist for unusual status descriptions. |
| NACE codes from API, other data from document | The RCS API provides NACE codes directly with multilingual labels (French, English, German). All other company attributes (legal form, status, capital, legal representatives, shareholders) come from AI parsing of the certified extract. |
| RCS number prefix indicates entity type | The letter prefix (e.g., B for commercial, S for branches, A for ASBLs, F for foundations) indicates the entity type. See the prefix table above. |
| VAT format is 8 digits | Luxembourg VAT numbers follow the format LU + 8 digits (e.g., LU32326416), shorter than most EU countries. |
| Single document type | Only the Extrait du RCS (certified trade register extract) is currently available. No separate financial statements, articles of association, or UBO certificates. |
| No UBO data | Luxembourg maintains a Register of Beneficial Owners (RBE), also managed by LBR, but this register is not currently integrated. UBO data is not available from the RCS extract. |
| Document is also the data source | The Extrait du RCS serves a dual purpose: it is both the official company document delivered to the user and the source from which all structured data is AI-parsed. The SKU LUX_REGISTER_EXTRACT is charged alongside LUX_COMPANY_DATA. |
| SCSp has no legal personality | The Societe en commandite speciale (SCSp) is a legal form without legal personality, used primarily as an investment vehicle. It is registered in the RCS but may have limited data in the extract. |
Mappings
Company Status
Company status is determined from the trade register extract document using a two-step process: (1) a keyword-based heuristic checks for closure indicators in the document text, then (2) the status is AI-enriched for standardization.| Local Status | English Translation | Standardized Status | Detection Method |
|---|---|---|---|
| Active | Active | ACTIVE | No closure indicators in document |
| Radiee | Struck Off | CLOSED | Document contains “radiee” |
| Dissous | Dissolved | CLOSED | Document contains “dissous” |
| Dissolution | Dissolution | CLOSED | Document contains “dissolution” |
| En liquidation | In Liquidation | UNDER_INSOLVENCY_PROCEEDING | AI-inferred from document context |
If no closure indicators are found in the document text, the company is considered Active by default. The AI enrichment step maps the detected status to a standardized
CompanyStatus enum value (ACTIVE, CLOSED, UNDER_INSOLVENCY_PROCEEDING, or UNKNOWN).Legal Forms
Luxembourg legal forms are extracted from the RCS trade register extract via AI parsing. ThelegalFormCode field from search results provides an initial abbreviation, while the full legal form name is parsed from the certified extract document and AI-enriched to add English translations, standardized types, and ISO 20275 codes.
Because legal form standardization and ISO 20275 assignment are AI-enriched, exact mappings may evolve. The local Luxembourg legal form name from the RCS document is always preserved verbatim.
Key Business Forms
| French Name | Abbreviation | English Translation | Standardized | ISO 20275 |
|---|---|---|---|---|
| Societe a responsabilite limitee | S.a r.l. / SARL | Private Limited Liability Company | Limited Liability Company | DVXS |
| Societe a responsabilite limitee simplifiee | S.a r.l.-S | Simplified Private Limited Liability Company | Limited Liability Company | EUT4 |
| Societe anonyme | SA | Public Limited Company | Corporation | 5GGB |
| Societe par actions simplifiee | SAS | Simplified Joint-Stock Company | Corporation | HHR4 |
| Societe en commandite par actions | SCA / SECA | Partnership Limited by Shares | Corporation | 81G5 |
Partnerships
| French Name | Abbreviation | English Translation | Standardized | ISO 20275 |
|---|---|---|---|---|
| Societe en commandite simple | SCS / SECS | Limited Partnership | Partnership | 63P9 |
| Societe en nom collectif | SNC / SENC | General Partnership | Partnership | ATQY |
| Societe en commandite speciale | SCSp | Special Limited Partnership | Partnership | - |
Sole Proprietorships
| French Name | Abbreviation | English Translation | Standardized | ISO 20275 |
|---|---|---|---|---|
| Entreprise individuelle | EI | Sole Proprietorship | Sole Proprietorship | 2IGL |
Cooperatives & European Forms
| French Name | Abbreviation | English Translation | Standardized | ISO 20275 |
|---|---|---|---|---|
| Societe cooperative | SC | Cooperative Society | Cooperative | - |
| Societas Cooperativa Europaea | SCE | European Cooperative Society | Cooperative | FG84 |
| Societe europeenne | SE | European Company | Corporation | - |
| Groupement d’interet economique | GIE | Economic Interest Grouping | Other | - |
Non-Profits & Foundations
| French Name | Abbreviation | English Translation | Standardized | ISO 20275 |
|---|---|---|---|---|
| Association sans but lucratif | ASBL | Non-Profit Association | Nonprofit Organization | 2JEI |
| Fondation | - | Foundation | Nonprofit Organization | - |
| Association agricole | AA | Agricultural Association | Nonprofit Organization | 68J6 |
Investment Vehicles
| French Name | Abbreviation | English Translation | Standardized | ISO 20275 |
|---|---|---|---|---|
| Societe d’investissement a capital variable | SICAV | Open-Ended Investment Company | Other | - |
| Societe d’investissement a capital fixe | SICAF | Closed-Ended Investment Company | Other | BEAN |
| Fond commun de placement | FCP | Common Investment Fund | Other | AIR5 |
| Societe d’epargne-pension a capital variable | SEPCAV | Variable Capital Pension Savings Company | Other | 9C91 |
Insurance & Mutual Associations
| French Name | Abbreviation | English Translation | Standardized | ISO 20275 |
|---|---|---|---|---|
| Association d’assurances mutuelles | AAM | Mutual Insurance Association | Other | BKAB |
| Mutuelle | - | Mutual Society | Other | 7SIZ |
| Association d’epargne pension | ASSEP | Pension Savings Association | Other | 2S2U |
Foreign Entities
| French Name | Description | Standardized | ISO 20275 |
|---|---|---|---|
| Succursale d’une societe etrangere | Branch of a foreign company | Branch or Representative Office | - |
Legal Representatives
Legal representatives are extracted from the RCS trade register extract via AI parsing. The AI looks for specific role terms in the document text, such as “Gerant”, “Administrateur”, “Directeur”, “President”, and “Membre du conseil d’administration”. Roles are then AI-enriched with standardized English translations and ISO 5009 codes (when an ISO 20275 ELF code is available for the company’s legal form).Executive & Management Roles (Legal Representatives)
Executive & Management Roles (Legal Representatives)
| French Role | English Translation | Standardized | Typical Entity Type |
|---|---|---|---|
| Gerant | Manager | Manager | SARL, SCS |
| Gerant unique | Sole Manager | Manager | SARL (single manager) |
| Administrateur | Director | Director | SA |
| Administrateur-delegue | Managing Director | Managing Director | SA |
| Directeur | Director | Director | Various |
| Directeur general | Chief Executive Officer | Chief Executive Officer | SA |
| President | President | President | SAS |
| President du conseil d’administration | Chairman of the Board | Chairman of the Board | SA |
| Vice-president | Vice President | Vice President | SA, SAS |
| Associe-gerant | Managing Partner | Managing Partner | SCS, SCSp |
| Associe commandite | General Partner | General Partner | SCA, SCS |
| Liquidateur | Liquidator | Liquidator | Companies in liquidation |
Supervisory & Control Roles (Other Key Persons)
Supervisory & Control Roles (Other Key Persons)
| French Role | English Translation | Standardized | Typical Entity Type |
|---|---|---|---|
| Commissaire aux comptes | Statutory Auditor | Auditor | SA, SARL (above threshold) |
| Reviseur d’entreprises | Certified Auditor | Auditor | Various |
| Reviseur d’entreprises agree | Approved Statutory Auditor | Auditor | SA (large companies) |
| Membre du conseil de surveillance | Supervisory Board Member | Supervisory Board Member | SA (dual board structure) |
| President du conseil de surveillance | Chairman of the Supervisory Board | Supervisor | SA (dual board structure) |
| Secretaire | Secretary | Secretary | Various |
Both individuals and corporate entities can hold legal representative and other key person roles in Luxembourg companies. The classification of each role as legal representative (can legally bind the company) or other key person (supervisory, audit roles) is AI-enriched using ISO 5009 codes when the company’s ISO 20275 (ELF) code is available.
Shareholders
Shareholders are extracted from the RCS trade register extract via AI parsing. The AI looks for Luxembourg-specific shareholder terminology in the document text.Extraction Logic
The AI parser identifies shareholders from specific sections of the trade register extract:| Source Section | Terms Searched | Data Extracted |
|---|---|---|
| Associe(s) | Associes, Actionnaires, Associe unique | Shareholder name, registration number, legal form, address |
| Parts sociales | Parts detenues, Nombre, Type(s) de parts | Share count, share type |
| Capital social | Apport, Participation au capital | Total capital for percentage calculation |
Ownership Fields
| Field | Description | Source |
|---|---|---|
sharePercentage | Ownership percentage | Calculated from shares held / total shares |
type | individual or company | Determined by AI from shareholder details |
numberOfShares | Number of shares held | From “Parts detenues” section |
company.id | RCS number of corporate shareholder | From “N d’immatriculation au RCS” |
company.legalName | Name of corporate shareholder | From “Denomination” section |
company.countryCode | Country of corporate shareholder | Inferred from registration details |
Shareholder extraction quality depends on the structure and completeness of the trade register extract document. Both individual and corporate shareholders are supported. Percentage calculation is derived from the ratio of shares held to total shares when available. Not all legal forms publish shareholder information in the RCS extract — SAs (public limited companies) typically do not list individual shareholders in their extracts.
Activity Code Mapping
Luxembourg uses the NACE Rev. 2 classification directly from the RCS API. The RCS API provides NACE codes with multilingual labels (French, English, German) as structured data — this is one of the few data points not AI-parsed from the document. The system maps activity codes across two levels:| Classification | Source | Example | AI Inferred? |
|---|---|---|---|
| NACE | RCS API (naceCode field) | 7022 | No (official) |
| ISIC | Derived from NACE via mapping tables or AI | 7020 | Sometimes |
When company data is AI-parsed from the trade register extract, activity descriptions may also be extracted from “Objet social” or “Activite principale” sections. These descriptions are used to enrich the activity classification when no NACE code is available from the API.
Data Availability
Data Availability Matrix
| Data Type | Commercial Companies | Sole Proprietors | ASBLs / Foundations | Notes |
|---|---|---|---|---|
| Company Profile | ✅ Async | ✅ Async | ✅ Async | AI-parsed from Extrait du RCS |
| Legal Representatives | ✅ | ✅ | ✅ | AI-parsed from document |
| Shareholders | ✅ | N/A | N/A | AI-parsed; mainly for SARL/SCS |
| Ultimate Beneficial Owners | ❌ | ❌ | ❌ | RBE register not integrated |
| Establishments | ❌ | ❌ | ❌ | Not available from RCS extract |
| Activity Codes (NACE) | ✅ | ✅ | ✅ | From RCS API (structured) |
| Capital | ✅ | N/A | N/A | AI-parsed, formatted in EUR |
| Documents | ✅ | ✅ | ✅ | Extrait du RCS only |
Documents by Company Type
| Document Type | API Category | Format | SKU | Availability | Estimated Delivery |
|---|---|---|---|---|---|
| Extrait du RCS | certifiedTradeRegisterExtract | LUX_REGISTER_EXTRACT | All registered entities | ~1 hour (up to 6 hours) |
The Extrait du RCS is the only document type currently available for Luxembourg. This certified extract serves as both the official company document and the primary source from which all structured data (company profile, legal representatives, shareholders) is AI-parsed.
Example API Responses
All examples use placeholder data. Query:POST /company with { "id": "<id>", "countryCode": "LU", "dataPoints": ["companyProfile", "availableDocuments"] }
Active S.a r.l. (Source: RCS Extract)
Active S.a r.l. (Source: RCS Extract)
Closed Company (Radiee)
Closed Company (Radiee)
Closed companies have
active: false and status “Radiee” (struck off). Document data may be more limited compared to active companies, and legal representatives and shareholders may not always be present in the extract.Search Response
Search Response
VAT Search Response (with ID Match)
VAT Search Response (with ID Match)
VAT searches return results with a
matchReason object indicating the match type (id) and the identifier used. The matched company is promoted to the top of results.Available Documents
Available Documents
| API Category | Document | Format | Notes |
|---|---|---|---|
certifiedTradeRegisterExtract | Extrait du RCS | All registered entities, email-based delivery (~1 hour) |