Skip to main content

Table of Contents

Data Sources

Malta uses a single official registry for all company data. For a given entity, data comes from one source — there is no cross-registry merging.
  • BAROS (Malta Business Registry Online System) — Operated by the Malta Business Registry (MBR), established under Subsidiary Legislation 497.27. BAROS is the central company register for all commercial partnerships in Malta. The API provides structured company data including company name, legal form (type + subtype), status, registration date, registered address, share capital (authorised and issued), directors, secretaries, legal/judicial representatives, and involved parties (auditors, subscribers, etc.). It also provides a document listing and fee-based document retrieval via a purchase-pay-download flow. BAROS replaced the legacy paper-based registry system and is governed by the Companies Act 1995 (Cap. 386).
API Authentication: The BAROS API uses OAuth2 authentication via Azure B2C with Keycloak, secured by TOTP-based multi-factor authentication. Token lifecycle management (refresh, re-authentication) is handled automatically by the system.

Company Identifiers

Query Identifiers

Company TypeSourceFormatExampleNotes
All companiesBAROSC + space + digitsC 2833Standard Malta company number issued by MBR
Malta Company Number Format: Malta company numbers consist of the letter C followed by a space and digits (e.g., C 2833). The search regex pattern is ^C\s+\d+. The space between C and the number is part of the official format.

Identifiers in API Response

Once you retrieve company data, the identifiers object contains all available identifiers for that entity:
Identifier TypeFormatExampleFound In
registrationNumberC + space + digitsC 2833All registered companies
uuidUUID v4a1b2c3d4-e5f6-...Internal BAROS identifier (used for document retrieval)
The uuid is an internal BAROS identifier not visible to end users. It is resolved automatically from the registration number when needed for document listing and retrieval.

Search Capabilities

Search TypePatternExampleMatch TypeExpected Results
By Company NumberC + space + digitsC 2833ExactSingle company (1 result)
By NameText string (min 3 chars)"Valletta Holdings"PartialMultiple results
No VAT search: Unlike many EU countries, Malta does not support VAT number-based company search through the BAROS API. Use the company number (C + digits) for exact matching.
Search Performance: Identifier-based searches (C + digits) use exact matching and always return a single result. Name searches use partial matching and may return many results. Both search types query the BAROS API live.

Quirks & Gotchas

QuirkDetails
TOTP-based authenticationThe BAROS API requires OAuth2 + TOTP multi-factor authentication. Token refresh is handled automatically but may occasionally cause brief delays on first request.
Fee-based documentsAll Malta documents cost between EUR 1 and EUR 10. Documents are cached permanently (99-year TTL) to avoid duplicate purchases.
Company number format includes spaceMalta company numbers include a space after the C prefix (e.g., C 2833). The space is normalized during search (whitespace-insensitive matching).
UUID required for document retrievalDocument listing and retrieval require the internal BAROS uuid, not the registration number. The system resolves this automatically via the company profile.
No dedicated shareholders endpointBAROS does not provide a dedicated shareholders endpoint. Partial shareholder data may come from involved_parties (subscribers).
Activity codes are AI-inferredMalta’s registry does not provide standardized activity codes (NACE/ISIC). All activity classifications are AI-inferred from company type descriptions. The isAIInferred flag is always true.
Document names are AI-enrichedRaw BAROS document metadata contains basic filing names. AI enrichment adds human-readable names, descriptions, periods, and category classifications (e.g., financialStatements, articlesOfAssociation).
Multiple person arraysCompany data splits persons across four separate arrays (directors, secretaries, representatives, involved_parties), each with different data structures.
No UBO dataBAROS does not expose Ultimate Beneficial Owner data through its API. Malta’s Register of Beneficial Owners (regulated under S.L. 386.19) is not publicly accessible via BAROS.
Purchase-pay-download flowDocument retrieval requires three sequential API calls: create purchase, process payment, then download. This is handled automatically.
Legal form is type + subtypeThe local legal form name is composed from company_type.type and company_type.subtype (e.g., “Limited Liability Company (Private Exempt)”). The suffix field provides the abbreviated form (e.g., “Ltd.”, “P.L.C.”).

Mappings

Company Status

Company status is determined deterministically from the company_state.state field in the BAROS API response. The active flag is set deterministically (state === 'Active'). AI enrichment adds the standardized status mapping.
Local StatusStandardized StatusNotes
ActiveActiveCompany is currently operational
DissolvedClosedCompany has been formally dissolved
Struck OffClosedCompany removed from register (defunct procedure)
Being Struck OffClosedCompany is in the process of being struck off
In LiquidationClosedCompany is undergoing liquidation proceedings
Being Wound UpClosedCompany is in the process of winding up
Malta’s Companies Act 1995 provides for three forms of dissolution and winding up: Members’ Voluntary Winding Up (solvent), Creditors’ Voluntary Winding Up (insolvent), and Court Winding Up (by court order). A simplified voluntary dissolution procedure (Article 214A) was introduced for companies with minimal recent activity.
Malta legal forms are derived deterministically from the company_type field in the BAROS API, which provides both a type (e.g., “Limited Liability Company”) and subtype (e.g., “Private Exempt”). The combination is used as the local name. Standardization and ISO 20275 codes are then AI-enriched.

Limited Liability Companies

TypeSubtypeSuffixStandardizedISO 20275
Limited Liability CompanyPrivate ExemptLtd.Limited Liability Company3Z6P
Limited Liability CompanyPrivate Non-ExemptLtd.Limited Liability Company3Z6P
Limited Liability CompanyPublic ExemptP.L.C.Corporation5GYT
Limited Liability CompanyPublic Non-ExemptP.L.C.Corporation5GYT
Private vs Public: A private company may have a maximum of 50 shareholders, may not invite the public to subscribe for shares, and restricts share transfer rights. A public company has no such restrictions. Exempt vs Non-Exempt: An exempt company has fewer regulatory obligations (e.g., audit exemption eligibility under S.L. 386.20). The minimum authorised share capital is EUR 1,164.69 for private companies and EUR 46,587.47 for public companies.

Partnerships

TypeSubtypeStandardizedISO 20275
Partnership en nom collectifPartnershipDPNM
Partnership en commanditePartnershipDPNM
A partnership en nom collectif (general partnership) has partners who are jointly and severally liable. A partnership en commandite (limited partnership) has at least one general partner (unlimited liability) and one limited partner (liability limited to contribution). Both are governed by the Companies Act 1995.

Investment Vehicles & Special Structures

TypeSubtypeStandardizedISO 20275
Investment Company with Variable Share Capital (SICAV)Corporation-
Investment Company with Fixed Share Capital (INVCO)Corporation-
Cell CompanyCorporation-
Incorporated Cell CompanyCorporation-

Other Forms

TypeSubtypeStandardizedISO 20275
Overseas CompanyBranch or Representative Office-
Sole TraderSole ProprietorshipGRPM
CooperativeCooperative-
FoundationNonprofit Organization-
The company_type.legislation field (e.g., “Companies Act 1995”) is available but not used for legal form classification. ISO 20275 codes are AI-enriched — the four confirmed ELF codes for Malta are 3Z6P (Private Limited Company), 5GYT (Public Limited Company), DPNM (Partnership), and GRPM (Sole Trader). Other forms receive AI-assigned codes where available.
Legal representatives are extracted deterministically from the BAROS API directors and representatives arrays. Role enrichment (English translation, ISO 5009 codes) is applied by AI in the workflow.
API SourceRole AssignedClassificationPerson Types
directors[]DirectorLegal RepresentativeNatural persons
representatives[] (Legal Representative)Legal RepresentativeLegal RepresentativeNatural persons, legal entities
representatives[] (Judicial Representative)Judicial RepresentativeLegal RepresentativeNatural persons
Both individuals and corporate entities can serve as representatives. When a representatives[] entry has legal_person.type of NATURAL_PERSON, it is classified as a legal representative (individual). When the type is LEGAL_ENTITY or UNCATEGORISED_LEGAL_PERSON, the entry defaults to other key person (company type), unless the role explicitly indicates representative authority.

Other Key Persons

Other key persons are extracted from the secretaries and involved_parties arrays. They do not have statutory authority to bind the company.
API SourceRolePerson TypesNotes
secretaries[]SecretaryIndividualRequired by law for all Malta companies
involved_parties[] (AUDITOR)AuditorIndividual or CompanyStatutory auditor
involved_parties[] (SUBSCRIBERS)SubscriberIndividual or CompanyInitial shareholders at incorporation
involved_parties[] (other keys)Varies by type.nameIndividual or CompanyOther involved party types
The involved_parties array uses a type object with name and key fields to classify party roles. The key field values (e.g., AUDITOR, SUBSCRIBERS) determine the role assignment. Both natural persons and legal entities (including uncategorised legal persons) can appear as involved parties.

Shareholders

Malta does not provide a dedicated shareholders API endpoint through BAROS. Shareholder information is not directly available in the structured company profile.
Data SourceWhat It ProvidesLimitations
involved_parties (SUBSCRIBERS)Initial subscribers at incorporationOnly founding shareholders, no current ownership
Documents (Annual Returns)Full shareholder listRequires document purchase (EUR 2-4), unstructured PDF
Documents (Memorandum & Articles)Initial shareholding structureRequires document purchase (EUR 5-7), unstructured PDF
For comprehensive shareholder data in Malta, document retrieval (Annual Returns or Memorandum and Articles of Association) is required. The involved_parties array with SUBSCRIBERS type only provides information about the initial shareholders at incorporation, not current ownership.

Activity Code Mapping

Malta does not provide official activity codes (NACE, ISIC) directly through the BAROS API. Activity information is derived from the company type and subtype description, then AI-enriched to provide NACE and ISIC codes.
Company Type + Subtype Description --> AI Inference --> NACE Rev. 2 / ISIC Rev. 4
ClassificationSourceAI Inferred?
NACEDerived from company type descriptionYes (always)
ISICDerived from NACE or company type descriptionYes (always)
Since Malta’s registry does not provide standardized activity codes, all NACE and ISIC classifications are AI-inferred. The isAIInferred flag will always be true for Malta activity codes. The activityDescription field is composed from company_type.type + company_type.subtype (e.g., “Limited Liability Company - Private Exempt”), which provides limited signal for meaningful activity classification.

Data Availability

Data Availability Matrix

Data TypeCommercial CompaniesPartnershipsNotes
Company Profile✅ Async✅ AsyncFull structured data from BAROS
Legal RepresentativesDirectors + representatives arrays
Other Key PersonsSecretaries + involved parties arrays
Shareholders⚠️ Limited⚠️ LimitedOnly initial subscribers from involved_parties
Ultimate Beneficial OwnersNot available via BAROS API
EstablishmentsNot available via BAROS API
Activity Codes⚠️ AI-inferred⚠️ AI-inferredDerived from company type description
DocumentsFee-based retrieval (EUR 1-10 per document)
Legend: ✅ Available | ❌ Not Available | ⚠️ Conditionally Available | Async = Asynchronous processing

Documents by Company Type

Malta documents are fee-based and retrieved through the BAROS API using a three-step purchase-pay-download flow. Document types and pricing are determined by the charge field in the document metadata. Document names, descriptions, and categories are AI-enriched from raw BAROS metadata.
Charge (EUR)Typical Document TypesSKUNotes
EUR 10ProspectusMALTA_DOCUMENT_PROSPECTUSPublic companies only
EUR 7 / EUR 5Memorandum & Articles of Association, Annual AccountsMALTA_DOCUMENT_ARTICLES_OF_ASSOCIATIONKey corporate documents
EUR 4 / EUR 2Annual ReturnsMALTA_DOCUMENT_FINANCIALSFinancial statements
EUR 3 / EUR 1 / FreeOther filings (notices, forms, resolutions)MALTA_DOCUMENT_OTHERMiscellaneous filings
Paid Documents: All Malta documents incur a fee ranging from EUR 1 to EUR 10 per document. Documents are purchased and cached permanently (99-year TTL) to avoid duplicate charges. The document listing itself (available documents) is free.
Document Classification: Malta documents are classified into API categories (e.g., articlesOfAssociation, financialStatements, officialPublications) by AI parsing using Gemini. The raw BAROS data provides document metadata including name, type (with short_name, key, charge), inserted_at (filing date), filing_year, and document_number.

Example API Responses

All examples use placeholder data. Query: POST /company with { "id": "<id>", "countryCode": "MT", "dataPoints": ["companyProfile"] }
{
  "company": {
    "id": "C 12345",
    "countryCode": "MT",
    "identifiers": { "registrationNumber": "C 12345" },
    "legalName": "Example Malta Holdings Ltd.",
    "registrationDate": "2010-04-15",
    "activityDescription": "Limited Liability Company - Private Exempt",
    "status": { "localName": "Active", "active": true, "statusDetailsBeta": { "status": "ACTIVE" } },
    "legalForm": { "localName": "Limited Liability Company (Private Exempt)", "standardized": "Limited Liability Company", "iso20275Code": "3Z6P" },
    "capital": { "amount": 1200, "currency": "EUR", "formatted": "1200 EUR" },
    "activities": {
      "NACE": [{ "code": "6420", "description": "Activities of holding companies", "isAIInferred": true }],
      "ISIC": [{ "code": "6420", "description": "Activities of holding companies", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "42 Republic Street", "city": "Valletta", "postalCode": "VLT 1234", "countryCode": "MT" }
  },
  "legalRepresentatives": [
    { "type": "individual", "role": { "localName": "Director", "standardized": "Director" }, "individual": { "name": { "fullName": "Mr John BORG", "firstName": "John", "lastName": "BORG" } } },
    { "type": "individual", "role": { "localName": "Director", "standardized": "Director" }, "individual": { "name": { "fullName": "Ms Maria CAMILLERI", "firstName": "Maria", "lastName": "CAMILLERI" } } }
  ],
  "otherKeyPersons": [
    { "type": "individual", "role": { "localName": "Secretary", "standardized": "Secretary" }, "individual": { "name": { "fullName": "Mr Paul ZAMMIT", "firstName": "Paul", "lastName": "ZAMMIT" } } },
    { "type": "company", "role": { "localName": "Auditor", "standardized": "Auditor" }, "company": { "legalName": "ABC Audit Services Ltd.", "id": "C 99999", "countryCode": "MT" } }
  ]
}
{
  "company": {
    "id": "C 22222",
    "countryCode": "MT",
    "identifiers": { "registrationNumber": "C 22222" },
    "legalName": "Example International Holdings P.L.C.",
    "registrationDate": "2000-03-10",
    "activityDescription": "Limited Liability Company - Public Non-Exempt",
    "status": { "localName": "Active", "active": true, "statusDetailsBeta": { "status": "ACTIVE" } },
    "legalForm": { "localName": "Limited Liability Company (Public Non-Exempt)", "standardized": "Corporation", "iso20275Code": "5GYT" },
    "capital": { "amount": 500000, "currency": "EUR", "formatted": "500000 EUR" },
    "activities": {
      "NACE": [{ "code": "6420", "description": "Activities of holding companies", "isAIInferred": true }],
      "ISIC": [{ "code": "6420", "description": "Activities of holding companies", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "Tower Business Centre, Level 5", "city": "Swatar", "postalCode": "BKR 4012", "countryCode": "MT" }
  },
  "legalRepresentatives": [
    { "type": "individual", "role": { "localName": "Director", "standardized": "Director" }, "individual": { "name": { "fullName": "Mr Joseph VELLA", "firstName": "Joseph", "lastName": "VELLA" } } },
    { "type": "individual", "role": { "localName": "Director", "standardized": "Director" }, "individual": { "name": { "fullName": "Ms Anna FARRUGIA", "firstName": "Anna", "lastName": "FARRUGIA" } } }
  ],
  "otherKeyPersons": [
    { "type": "individual", "role": { "localName": "Secretary", "standardized": "Secretary" }, "individual": { "name": { "fullName": "Dr Mark GRECH", "firstName": "Mark", "lastName": "GRECH" } } }
  ]
}
{
  "company": {
    "id": "C 33333",
    "countryCode": "MT",
    "identifiers": { "registrationNumber": "C 33333" },
    "legalName": "Old Trading Company Ltd.",
    "registrationDate": "1998-07-22",
    "activityDescription": "Limited Liability Company - Private Non-Exempt",
    "status": { "localName": "Dissolved", "active": false, "statusDetailsBeta": { "status": "CLOSED" } },
    "legalForm": { "localName": "Limited Liability Company (Private Non-Exempt)", "standardized": "Limited Liability Company", "iso20275Code": "3Z6P" },
    "capital": { "amount": 5000, "currency": "EUR", "formatted": "5000 EUR" },
    "legalAddress": { "addressLine1": "15 Triq il-Kbira", "city": "Mosta", "postalCode": "MST 1011", "countryCode": "MT" }
  },
  "legalRepresentatives": [
    { "type": "individual", "role": { "localName": "Director", "standardized": "Director" }, "individual": { "name": { "fullName": "Mr Toni GALEA", "firstName": "Toni", "lastName": "GALEA" } } }
  ]
}
Note: Dissolved companies have active: false and status Dissolved. Historical data (directors, secretaries) is preserved in the response.
{
  "company": {
    "id": "C 44444",
    "countryCode": "MT",
    "identifiers": { "registrationNumber": "C 44444" },
    "legalName": "Borg & Sons Trading",
    "registrationDate": "2015-01-08",
    "activityDescription": "Partnership en nom collectif",
    "status": { "localName": "Active", "active": true, "statusDetailsBeta": { "status": "ACTIVE" } },
    "legalForm": { "localName": "Partnership en nom collectif", "standardized": "Partnership", "iso20275Code": "DPNM" },
    "legalAddress": { "addressLine1": "78 Triq San Pawl", "city": "Rabat", "postalCode": "RBT 1234", "countryCode": "MT" }
  },
  "legalRepresentatives": [
    { "type": "individual", "role": { "localName": "Director", "standardized": "Director" }, "individual": { "name": { "fullName": "Mr Noel BORG", "firstName": "Noel", "lastName": "BORG" } } }
  ]
}
Note: Partnerships may not have share capital data. The suffix field is typically absent for partnerships.
Documents are returned when "dataPoints": ["documents"] is requested. Malta documents are fee-based and AI-classified.
{
  "documents": [
    {
      "name": "Annual Return 2024",
      "description": "Company annual return filed for the year 2024",
      "type": "financialStatements",
      "format": "pdf",
      "date": "2024-06-15",
      "period": { "year": 2024 }
    },
    {
      "name": "Memorandum and Articles of Association",
      "description": "Memorandum and Articles of Association filed at incorporation",
      "type": "articlesOfAssociation",
      "format": "pdf",
      "date": "2010-04-15"
    },
    {
      "name": "Change in Directors",
      "description": "Notice of change in company directors",
      "type": "officialPublications",
      "format": "pdf",
      "date": "2022-09-01"
    }
  ]
}
Document pricing summary:
ChargeTypical ContentSKU
EUR 10ProspectusMALTA_DOCUMENT_PROSPECTUS
EUR 7 / EUR 5Memorandum & Articles, Annual AccountsMALTA_DOCUMENT_ARTICLES_OF_ASSOCIATION
EUR 4 / EUR 2Annual ReturnsMALTA_DOCUMENT_FINANCIALS
EUR 3 / EUR 1 / FreeOther filingsMALTA_DOCUMENT_OTHER