> ## 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.

# Malta

> Country-specific identifiers, data sources, and implementation details

## 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.

<Card title="Malta coverage, pricing, and sources" icon="arrow-up-right-from-square" href="https://topograph.co/pricing/mt">
  Open the current catalog for supported datapoints, documents, sources, identifiers, and availability.
</Card>

<Note>
  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.
</Note>

## Table of Contents

* [Data Sources](#data-sources)
* [Company Identifiers](#company-identifiers)
* [Search Capabilities](#search-capabilities)
* [Quirks & Gotchas](#quirks--gotchas)
* [Mappings](#mappings)
* [Data Availability](#data-availability)
* [Example API Responses](#example-api-responses)

## 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).

<Note>
  **Authenticated source:** The Maltese register requires authenticated access for some document operations. Topograph handles this as part of the standard API flow.
</Note>

## Company Identifiers

### Query Identifiers

| Entity Type                       | Source | Format                  | Example      | Notes                                            |
| --------------------------------- | ------ | ----------------------- | ------------ | ------------------------------------------------ |
| **Companies**                     | BAROS  | C + space + digits      | `C 2833`     | Standard Malta company number issued by MBR      |
| **Partnerships en nom collectif** | BAROS  | P + space + digits      | `P 2241`     | General partnerships                             |
| **Partnerships en commandite**    | BAROS  | P COMM + space + digits | `P COMM 203` | Limited partnerships                             |
| **Overseas companies**            | BAROS  | OC + space + digits     | `OC 1299`    | Maltese branches of foreign companies            |
| **SICAVs**                        | BAROS  | SV + space + digits     | `SV 88`      | Investment companies with variable share capital |

<Tip>
  **Malta Registration Number Format:** Malta registration numbers consist of an entity-type prefix (`C`, `P`, `P COMM`, `OC`, or `SV`) followed by a space and digits (e.g., `C 2833`). The space between the prefix and the number is part of the official format.
</Tip>

### Identifiers in API Response

Once you retrieve company data, the `identifiers` object contains all available identifiers for that entity:

| Identifier Type      | Format                  | Example             | Found In                                                |
| -------------------- | ----------------------- | ------------------- | ------------------------------------------------------- |
| `registrationNumber` | Prefix + space + digits | `C 2833`, `SV 88`   | All registered entities                                 |
| `uuid`               | UUID v4                 | `a1b2c3d4-e5f6-...` | Internal BAROS identifier (used for document retrieval) |

<Note>
  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.
</Note>

## Search Capabilities

| Search Type            | Pattern                                                  | Example               | Match Type | Expected Results                                                     |
| ---------------------- | -------------------------------------------------------- | --------------------- | ---------- | -------------------------------------------------------------------- |
| By Registration Number | Prefix (`C`, `P`, `P COMM`, `OC`, `SV`) + space + digits | `C 2833`, `SV 88`     | Exact      | Exact match returned first (matchType: id); other results may follow |
| By Name                | Text string (min 3 chars)                                | `"Valletta Holdings"` | Partial    | Multiple results                                                     |

<Note>
  **No VAT search:** Unlike many EU countries, Malta does not support VAT number-based company search through the BAROS API. Use the registration number for exact matching.
</Note>

<Tip>
  **Search Performance:** Identifier-based searches use exact matching and return the exact match first (`matchReason.matchType = "id"`); other results may follow. Name searches use partial matching and may return many results. Both search types query the BAROS API live.
</Tip>

## Quirks & Gotchas

| Quirk                                         | Details                                                                                                                                                                                                                    |
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **TOTP-based authentication**                 | The BAROS API requires OAuth2 + TOTP multi-factor authentication. Token refresh is handled automatically but may occasionally cause brief delays on first request.                                                         |
| **Fee-based documents**                       | Malta documents are paid (see [pricing](https://www.topograph.co/pricing)). Documents are deduplicated permanently (99-year TTL) to avoid duplicate retrieves.                                                             |
| **Registration number format includes space** | Malta registration numbers include a space after the entity-type prefix (e.g., `C 2833`, `P COMM 203`). The space is normalized during search (whitespace-insensitive matching).                                           |
| **UUID required for document retrieval**      | Document listing and retrieval require the internal BAROS `uuid`, not the registration number. The system resolves this automatically via the company profile.                                                             |
| **No dedicated shareholders endpoint**        | BAROS does not provide a dedicated shareholders endpoint. Partial shareholder data may come from `involved_parties` (subscribers).                                                                                         |
| **Activity codes are AI-inferred**            | Malta'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-enriched**            | Raw BAROS document metadata contains basic filing names. AI enrichment adds human-readable names, descriptions, periods, and category classifications (e.g., `financialStatements`, `articlesOfAssociation`).              |
| **Multiple person arrays**                    | Company data splits persons across four separate arrays (`directors`, `secretaries`, `representatives`, `involved_parties`), each with different data structures.                                                          |
| **No UBO data**                               | BAROS 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 flow**               | Document retrieval requires three sequential API calls: create retrieve, process retrieval, then download. This is handled automatically.                                                                                  |
| **Legal form is type + subtype**              | The 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 Status     | Standardized Status | Notes                                             |
| ---------------- | ------------------- | ------------------------------------------------- |
| Active           | Active              | Company is currently operational                  |
| Dissolved        | Closed              | Company has been formally dissolved               |
| Struck Off       | Closed              | Company removed from register (defunct procedure) |
| Being Struck Off | Closed              | Company is in the process of being struck off     |
| In Liquidation   | Closed              | Company is undergoing liquidation proceedings     |
| Being Wound Up   | Closed              | Company is in the process of winding up           |

<Note>
  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.
</Note>

### Legal Forms

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

| Type                      | Subtype            | Suffix | Standardized              | ISO 20275 |
| ------------------------- | ------------------ | ------ | ------------------------- | --------- |
| Limited Liability Company | Private Exempt     | Ltd.   | Limited Liability Company | `3Z6P`    |
| Limited Liability Company | Private Non-Exempt | Ltd.   | Limited Liability Company | `3Z6P`    |
| Limited Liability Company | Public Exempt      | P.L.C. | Corporation               | `5GYT`    |
| Limited Liability Company | Public Non-Exempt  | P.L.C. | Corporation               | `5GYT`    |

<Info>
  **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.
</Info>

#### Partnerships

| Type                         | Subtype | Standardized | ISO 20275 |
| ---------------------------- | ------- | ------------ | --------- |
| Partnership en nom collectif | --      | Partnership  | `DPNM`    |
| Partnership en commandite    | --      | Partnership  | `DPNM`    |

<Note>
  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.
</Note>

#### Investment Vehicles & Special Structures

| Type                                                   | Subtype | Standardized | ISO 20275 |
| ------------------------------------------------------ | ------- | ------------ | --------- |
| Investment Company with Variable Share Capital (SICAV) | --      | Corporation  | -         |
| Investment Company with Fixed Share Capital (INVCO)    | --      | Corporation  | -         |
| Cell Company                                           | --      | Corporation  | -         |
| Incorporated Cell Company                              | --      | Corporation  | -         |

#### Other Forms

| Type             | Subtype | Standardized                    | ISO 20275 |
| ---------------- | ------- | ------------------------------- | --------- |
| Overseas Company | --      | Branch or Representative Office | -         |
| Sole Trader      | --      | Sole Proprietorship             | `GRPM`    |
| Cooperative      | --      | Cooperative                     | -         |
| Foundation       | --      | Nonprofit Organization          | -         |

<Note>
  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.
</Note>

### Legal Representatives

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 Source                                    | Role Assigned           | Classification       | Person Types                    |
| --------------------------------------------- | ----------------------- | -------------------- | ------------------------------- |
| `directors[]`                                 | Director                | Legal Representative | Natural persons                 |
| `representatives[]` (Legal Representative)    | Legal Representative    | Legal Representative | Natural persons, legal entities |
| `representatives[]` (Judicial Representative) | Judicial Representative | Legal Representative | Natural persons                 |

<Note>
  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.
</Note>

### 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 Source                         | Role                  | Person Types          | Notes                                   |
| ---------------------------------- | --------------------- | --------------------- | --------------------------------------- |
| `secretaries[]`                    | Secretary             | Individual            | Required by law for all Malta companies |
| `involved_parties[]` (AUDITOR)     | Auditor               | Individual or Company | Statutory auditor                       |
| `involved_parties[]` (SUBSCRIBERS) | Subscriber            | Individual or Company | Initial shareholders at incorporation   |
| `involved_parties[]` (other keys)  | Varies by `type.name` | Individual or Company | Other involved party types              |

<Note>
  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.
</Note>

### Shareholders

Malta does not provide a dedicated shareholders API endpoint through BAROS. Shareholder information is **not directly available** in the structured company profile.

| Data Source                       | What It Provides                     | Limitations                                                                 |
| --------------------------------- | ------------------------------------ | --------------------------------------------------------------------------- |
| `involved_parties` (SUBSCRIBERS)  | Initial subscribers at incorporation | Only founding shareholders, no current ownership                            |
| Documents (Annual Returns)        | Full shareholder list                | Requires document retrieval (paid — see the pricing page), unstructured PDF |
| Documents (Memorandum & Articles) | Initial shareholding structure       | Requires document retrieval (paid — see the pricing page), unstructured PDF |

<Note>
  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.
</Note>

### 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
```

| Classification | Source                                        | AI Inferred? |
| -------------- | --------------------------------------------- | ------------ |
| **NACE**       | Derived from company type description         | Yes (always) |
| **ISIC**       | Derived from NACE or company type description | Yes (always) |

<Warning>
  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.
</Warning>

## Data Availability

### Data Availability Matrix

| Data Type                  | Commercial Companies | Partnerships   | Notes                                                                |
| -------------------------- | -------------------- | -------------- | -------------------------------------------------------------------- |
| Company Profile            | ✅ Async              | ✅ Async        | Full structured data from BAROS                                      |
| Legal Representatives      | ✅                    | ✅              | Directors + representatives arrays                                   |
| Other Key Persons          | ✅                    | ✅              | Secretaries + involved parties arrays                                |
| Shareholders               | ⚠️ Limited           | ⚠️ Limited     | Only initial subscribers from `involved_parties`                     |
| Ultimate Beneficial Owners | ❌                    | ❌              | Not available via BAROS API                                          |
| Establishments             | ❌                    | ❌              | Not available via BAROS API                                          |
| Activity Codes             | ⚠️ AI-inferred       | ⚠️ AI-inferred | Derived from company type description                                |
| Documents                  | ✅                    | ✅              | Fee-based retrieval; see [pricing](https://www.topograph.co/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 Types                                | Notes                                                        |
| ----------------------------------------------------- | ------------------------------------------------------------ |
| Prospectus                                            | Public companies only                                        |
| Memorandum & Articles of Association, Annual Accounts | Key corporate documents                                      |
| Annual Returns                                        | Financial statements and shareholder snapshots               |
| Other filings                                         | Notices, forms, resolutions, and other miscellaneous filings |

<Warning>
  **Paid Documents:** Malta documents can incur a register fee. Check the [pricing page](https://www.topograph.co/pricing) or `availableDocuments` before purchase. The document listing itself is free.
</Warning>

<Note>
  **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.
</Note>

### Example API Responses

All examples use **placeholder data**. Query: `POST /v2/company` with `{ "id": "<id>", "countryCode": "MT", "dataPoints": ["company", "legalRepresentatives"] }`

<AccordionGroup>
  <Accordion title="Active Private Limited Company (Private Exempt)">
    ```json theme={null}
    {
      "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" } }
      ]
    }
    ```
  </Accordion>

  <Accordion title="Public Limited Company (P.L.C.)">
    ```json theme={null}
    {
      "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" } } }
      ]
    }
    ```
  </Accordion>

  <Accordion title="Dissolved Company">
    ```json theme={null}
    {
      "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.
  </Accordion>

  <Accordion title="Partnership en nom collectif">
    ```json theme={null}
    {
      "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.
  </Accordion>

  <Accordion title="Available Documents">
    Documents are returned when `"dataPoints": ["availableDocuments"]` is requested. Malta documents are fee-based and AI-classified.

    ```json theme={null}
    {
      "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](https://www.topograph.co/pricing) before purchase.
  </Accordion>
</AccordionGroup>
