Look up a company in a national business register
lookup_companyLook up a company by its national identifier and get the full CompanyReport — legal form, status, address, VAT registration where the register publishes it, board and accounts duties, employees, and more.
country="NO" is the norway company lookup for the norwegian business registry:
Brønnøysundregistrene / Enhetsregisteret (brreg), by organisasjonsnummer (orgnr,
org.nr). country="GB" is the uk company lookup at Companies House, by company number
(company registration number, CRN) — eight characters, digits or a two-letter prefix
and six digits, e.g. 00445790 or OC303675; short numbers are zero-padded for you, and
"UK" is not a country code here, use "GB".
Use it once you have the identifier — from the user, an invoice, a contract, or a
search_company hit's id; the identifier is normalised for you, so spaces, dots and
a Norwegian VAT suffix ('NO...MVA') are all accepted. Call list_countries if you are
unsure a country is supported. Read the returned notes before acting on the result —
it carries caveats such as bankruptcy, dissolution, a deleted entity, or an
unclassified legal form.
This tool does not perform sanctions, PEP or adverse-media screening, and it does not verify bank account details — it returns identity and filing data from the national register only, never a compliance clearance or a confirmed payment detail.
On error, this tool raises with the error text {"error": {"code", "message", "hint"}} (DECISIONS.md D-007). invalid_id means the identifier is malformed —
fix it or call search_company with the company name instead of retrying the same
string. not_found means the identifier is well-formed but no such entity exists —
call search_company. unsupported_country means no module exists for that country
yet — call list_countries. upstream_error/upstream_timeout means the national
register is unavailable; it has already been retried once here, so wait roughly a
minute before trying again yourself.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The company's national identifier. Norway (country='NO'): a nine-digit organisasjonsnummer (orgnr), e.g. '923609016'; spaces, dots and a 'NO...MVA' VAT suffix are accepted and normalised. United Kingdom (country='GB'): a Companies House company number (CRN), eight characters, e.g. '00445790' or 'OC303675'; a short number is zero-padded for you. | |
| country | No | ISO-3166-1 alpha-2 country code. 'NO' = Norway (Brønnøysundregistrene / Enhetsregisteret), 'GB' = United Kingdom (Companies House). 'UK' is not a country code here and is rejected. Call list_countries for the current set rather than hard-coding one. | NO |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Canonical national identifier, digits/letters only, no spaces or dots. | |
| name | Yes | Current registered name. | |
| No | Contact email as registered. | ||
| notes | No | Caveats an agent should surface to the user, plain English, one per item. | |
| phone | No | Contact phone as registered. | |
| cached | No | True when served from our cache rather than a live fetch. | |
| sector | No | Institutional sector description. | |
| source | No | Human-readable source name, e.g. 'Enhetsregisteret (brreg.no)'. | |
| status | No | Normalised lifecycle status. | unknown |
| country | Yes | ISO-3166-1 alpha-2, upper-case, e.g. 'NO'. | |
| license | No | Licence of the upstream data, e.g. 'NLOD 2.0'. | |
| purpose | No | Statutory purpose / objects clause, joined into one string. | |
| website | No | Website as registered. | |
| activity | No | Free-text description of actual activity. | |
| in_group | No | Part of a corporate group. | |
| registry | Yes | Registry slug, e.g. 'brreg'. | |
| employees | No | Registered number of employees. None = not reported. | |
| id_scheme | No | Name of the identifier scheme, e.g. 'organisasjonsnummer'. | |
| is_active | No | Convenience mirror of `status == active`, so agents need no enum table. | |
| parent_id | No | Identifier of the parent/owning entity, if any. | |
| registers | No | Other national sub-registers this entity is or is not in, keyed by a lower-case slug, e.g. {'stiftelsesregisteret': false}. | |
| confidence | No | How sure we are this record is the entity the caller meant (D-005). | |
| fetched_at | No | UTC timestamp of the live fetch this record came from. | |
| founded_at | No | Incorporation / foundation date. | |
| is_subunit | No | True when this record is a branch/sub-unit, not a legal entity. | |
| legal_form | No | English label, e.g. 'Private limited company'. | |
| source_url | No | Direct URL of the upstream record, for citation. | |
| vat_number | No | VAT identifier if it differs from `id` (Norway: id + 'MVA'). | |
| sector_code | No | Institutional sector code. | |
| id_formatted | No | The identifier as a local would write it, e.g. '923 609 016'. | |
| registered_at | No | Date first entered in the central register. | |
| share_capital | No | Registered share capital. | |
| status_detail | No | One sentence in English explaining the status and the flag it came from. | |
| has_board_duty | No | True when this legal form must have a registered board. | |
| industry_codes | No | Industry classifications, primary first. | |
| postal_address | No | Postal address. | |
| previous_names | No | Former registered names, newest first. | |
| vat_registered | No | Registered for VAT (Norway: Merverdiavgiftsregisteret). | |
| bankruptcy_date | No | Date bankruptcy was opened. | |
| deregistered_at | No | Date the entity was deleted from the register. | |
| legal_form_code | No | National legal-form code, e.g. 'AS', 'ASA', 'ENK'. | |
| business_address | No | Visiting/registered office. | |
| confidence_basis | No | Why that confidence, e.g. 'exact identifier lookup'. | |
| legal_form_local | No | Local label, e.g. 'Aksjeselskap'. | |
| limited_liability | No | True when owners are not personally liable for debts. | |
| vat_registered_at | No | Date of VAT registration. | |
| employees_reported | No | Whether the registry holds an employee figure at all (distinguishes 0 from unknown). | |
| published_deadlines | No | Filing dates the upstream register publishes for this entity itself, carried verbatim. Empty for a register that publishes none — most of them. This is the input `Registry.deadlines(report, today)` needs to prefer the register's own figure over any calculation (DECISIONS.md D-018), and it is what keeps that method the pure function of (report, today) its contract promises. | |
| in_business_register | No | Listed in the commercial register (Norway: Foretaksregisteret). | |
| share_capital_currency | No | ISO-4217 code for `share_capital`. | |
| has_annual_accounts_duty | No | True when this legal form must file annual accounts with the state. | |
| last_annual_accounts_year | No | Most recent financial year for which accounts were filed. | |
| business_register_registered_at | No | Date entered in the commercial/business register, where that is separate. |