Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.topograph.co/llms.txt

Use this file to discover all available pages before exploring further.

Start here

This guide contains public integration notes for Malta. 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.

Malta 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

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 retrieve-pay-download flow. BAROS replaced the legacy paper-based registry system and is governed by the Companies Act 1995 (Cap. 386).
Authenticated source: The Maltese register requires authenticated access for some document operations. Topograph handles this as part of the standard API flow.

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 documentsMalta documents are paid (see pricing). Documents are deduplicated permanently (99-year TTL) to avoid duplicate retrieves.
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.
Retrieval-pay-download flowDocument retrieval requires three sequential API calls: create retrieve, process retrieval, 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). Private and public companies have different minimum authorised share capital requirements under Maltese company law.

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 request.
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 retrieval (paid — see the pricing page), unstructured PDF
Documents (Memorandum & Articles)Initial shareholding structureRequires document retrieval (paid — see the pricing page), 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; see pricing
Legend: ✅ Available | ❌ Not Available | ⚠️ Conditionally Available | Async = Asynchronous processing

Documents by Company Type

Malta documents are fee-based and retrieved from the Maltese register. Document types and pricing are determined by register metadata and surfaced through availableDocuments.
Typical Document TypesNotes
ProspectusPublic companies only
Memorandum & Articles of Association, Annual AccountsKey corporate documents
Annual ReturnsFinancial statements and shareholder snapshots
Other filingsNotices, forms, resolutions, and other miscellaneous filings
Paid Documents: Malta documents can incur a register fee. Check the pricing page or availableDocuments before purchase. The document listing itself is free.
Document Classification: Malta documents are classified into API categories such as articlesOfAssociation, financialStatements, and officialPublications. The register provides document metadata such as filing name, type, date, filing year, and document number.

Example API Responses

All examples use placeholder data. Query: POST /v2/company with { "id": "<id>", "countryCode": "MT", "dataPoints": ["company", "legalRepresentatives"] }
{
  "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, "statusDetails": { "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, "statusDetails": { "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, "statusDetails": { "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, "statusDetails": { "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": ["availableDocuments"] 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: Malta document pricing varies by filing type. Use availableDocuments or the pricing page before purchase.