Overview
Registry
RCS (Registre de Commerce et des Societes)Official company registry of Luxembourg
Company Identifiers
Search Capabilities
Data Availability
Legal Forms
Business Companies
Business Companies
Civil & Cooperative Entities
Civil & Cooperative Entities
Investment Vehicles
Investment Vehicles
Non-Profits & Foundations
Non-Profits & Foundations
Foreign Branches
Foreign Branches
Sole Traders
Sole Traders
Status Codes
Luxembourg has 20 detailed observation codes for non-active statuses. The
statusDetailsBeta field provides granular status information including court ruling dates, court names, and specific closure reasons.Activity Codes
Luxembourg uses NACE Rev. 2 for classifying business activities.Only approximately 28% of Luxembourg entities have NACE codes in the registry data. The company’s stated purpose (objet social) is available in
activityDeclarations.Address Format
Luxembourg addresses use a component-based structure: Example format:Address Components
Source data uses 3-letter ISO country codes (e.g., LUX, FRA, BEL) which are converted to 2-letter codes (LU, FR, BE) in the API response.
Implementation Notes
Fully Structured Data: Unlike jurisdictions that rely on PDF parsing (with 1-6 hour processing delays), Luxembourg provides fully fielded XML data directly from LBR, with structured shareholding information, detailed court ruling data, and comprehensive status tracking.
Representatives
Luxembourg classifies representatives into multiple categories:Capital and Shareholding Data
Structured Shareholding: Luxembourg provides fully fielded shareholding data including shareholder names, share counts, and share types - a significant advantage over jurisdictions where this data must be parsed from documents.
Parts de categorie A/Parts de categorie B- Class A/B sharesParts sociales- Social sharesActions- Regular shares
Foreign Entities
For foreign-registered entities with a Luxembourg presence:Enhanced Profile: async workflow
Luxembourg Enhanced Profile is fulfilled synchronously onGET when the registry responds in time. A slower order is handled by the async order pattern: the request returns 202 with an orderId instead, and the profile is retrieved by polling GET /v2/orders/{orderId}. On V2, Enhanced Profile can also be ordered asynchronously from the start with POST /v2/companies/{kyckrId}/enhanced, polled the same way, with no held connection.
See the async order pattern release notes for V2 and V1 for integration guidance.
Lite Profile and Search remain synchronous and return data immediately.