crhk_companies

PREMIUM 3,644,820 rows

Hong Kong Companies Registry company directory

Directory of every registered Hong Kong company from the Companies Registry: over 3.6 million companies, active and dissolved, dating back decades. Search by company name or business registration number; check incorporation and dissolution dates, active/dissolved status, company type, and winding-up mode. Includes enrichment from the modern ICRIS electronic filing system. Registered- office address coverage is strong for active companies and sparse for long- dissolved ones (see the registered_office_address column).

Premium dataset

Evaluate it in full below: the evidence and a working sample are open to everyone. Buy or subscribe to unlock the complete dataset — your account is created automatically at checkout.

See access options

The evidence

Data coverage
Jan 1970 – present
Volume
3,644,820 rows
Last updated
17 July, 2026 (5 days ago)
Schema & column quality (60 columns)
Column Type Description Populated Distinct
business_registration_number String Business Registration Number (BRNO) — primary identifier for the company
cr_number Nullable(String) Company Registration Number (CRN) — empty when no CRN is on record for the company. See has_no_cr_number to distinguish a registry-confirmed absence from a value we simply don't have
has_no_cr_number Bool True when the registry confirms the company has NO Company Registration Number (post-2023 UBI companies), as opposed to a CRN we just don't have on record (in which case cr_number is empty and this is false)
english_name Nullable(String) Company name in English
chinese_name Nullable(String) Company name in Chinese characters
status Nullable(String) Reconciled legal lifecycle state (Active, Dissolved, Ceased, Ceased Registration, Amalgamated; null if unknown). 'Ceased Registration' is a registered non-Hong Kong company (Cap. 622 Part 16) that has ceased its Hong Kong registration (Form NN13) — it is NOT dissolved; it may still exist under its home jurisdiction. 'Struck off' is a MECHANISM of dissolution, not a status — a struck-off company reads status='Dissolved' with dissolution_mode='Struck Off'; compose the two for display (e.g. 'Dissolved — struck off')
is_active Bool True if company has a Live/registered status
is_dissolved Bool True if status indicates dissolution/amalgamation/struck-off, or a dissolution date exists with a non-active status
is_dormant Bool True if the company currently has an OPEN dormancy interval (registry's own dates)
dormant_since Nullable(String) Date the company's current dormancy interval commenced (null if not currently dormant)
lifecycle_substatus Nullable(String) Detailed lifecycle sub-status (e.g. live-but-dormant, ceased place of business), best-effort label
money_lender_licence_status Nullable(String) Money Lenders Ordinance (Cap. 163) register status for this company — licensed, application_pending, licence_expired, application_dismissed or application_withdrawn; empty for the vast majority of companies (no register entry). Linked by deterministic company-name match; full register entries and match rules in the crhk_money_lenders dataset
company_type Nullable(String) Legal entity form — the classification that cleanly splits every organisation, each mapping to its governing HK ordinance: Local company (Companies Ordinance Cap. 622), Registered non-Hong Kong company (Cap. 622 Part 16), Limited partnership (Cap. 37), Limited partnership fund (Cap. 637), Open-ended fund company (Cap. 571), Registered trustees (Cap. 306), Statutory body corporate, Mutual fund, Unregistered company, Overseas corporation with registered charge. Ownership and liability (below) further describe local companies
ownership Nullable(String) Ownership class of a local Hong Kong company (Companies Ordinance Cap. 622): Private (restricted share transfer, ≤50 members, no invitation to the public — s.11) or Public (s.12). Null for companies limited by guarantee (no share-ownership axis) and for all non-Cap.622 forms (funds, partnerships, non-Hong-Kong companies)
liability Nullable(String) Members' liability form of a local Hong Kong company (Companies Ordinance Cap. 622): Limited by shares (s.8), Limited by guarantee (s.9 — no share capital), or Unlimited (s.10). Null for non-Cap.622 forms (funds, partnerships, non-Hong-Kong companies)
incorporation_date Nullable(String) Date the company was incorporated in Hong Kong (YYYY-MM-DD format)
incorporation_year Nullable(Int32) Year the company was incorporated
years_since_incorporation Nullable(Int64) Number of years since the company was incorporated (calculated from today)
dissolution_date Nullable(String) Date the company was dissolved (null if still active)
dissolution_mode Nullable(String) How the company dissolved, best-effort label paired with dissolution_date
redomicile_date Nullable(String) Date the company re-domiciled into/out of Hong Kong (null if not applicable)
amalgamation_date Nullable(String) Date the company was amalgamated (merged), null if not applicable
ceased_business_date Nullable(String) Date a foreign company ceased its Hong Kong place of business (foreign analogue of dissolution)
registered_office_address Nullable(String) Registered-office address, reconciled to the last known value across legacy and open-data sources (a withdrawn modern value never overwrites a real one). Coverage is strong for active companies (~81%) and sparse for long-dissolved ones (~40% overall) — the registry stops exposing addresses for long-dead companies
has_address Bool True if a registered-office address is on record for the company
address_as_of Nullable(Date) Date we last observed the registered-office address on record (full history in crhk_address_history)
charges_register Nullable(String) Charges register indicator from legacy registry data (有 = charges exist)
has_charges Bool True if charges are registered against the company (from legacy registry data)
winding_up_mode Nullable(String) Winding-up mode if the company is being wound up: Compulsory Winding Up, Members' Voluntary Winding Up, Creditors' Voluntary Winding Up, or Others (ICRIS canonical). Empty if not in winding up.
remarks Nullable(String) Registry remarks about the company (Chinese text, often procedural notes)
important_notes Nullable(String) Important notes from the Companies Registry (Chinese text)
is_one_member_company Bool True if registered as a one-member (sole-member) company
has_receiver_appointed Bool True if a receiver has been appointed (insolvency-distress signal, modern API, rare)
is_deregistered Bool True if the company is/was deregistered (voluntary deregistration; legacy ICRIS registry signal)
deregistration_date Nullable(String) Deregistration commencement date (ISO YYYY-MM-DD), when recorded
strike_off_date Nullable(String) Striking-off commencement date (ISO YYYY-MM-DD), when recorded
is_s291_striking_off Bool True if flagged for striking off under s.291 as a defunct company (legacy ICRIS registry signal)
is_winding_up Bool True if in winding-up (liquidation) proceedings, reconciled across the legacy and modern captures
winding_up_date Nullable(String) Winding-up commencement date (ISO YYYY-MM-DD), when recorded
restoration_date Nullable(String) Date the company was restored to the register after striking-off/deregistration (ISO YYYY-MM-DD)
accounting_reference_date Nullable(String) Registry accounting reference date (ISO YYYY-MM-DD), when recorded
last_agm_date Nullable(String) Date of the last annual general meeting on record (ISO YYYY-MM-DD)
one_member_status_date Nullable(String) Date the one-member (sole-member) status was last updated on the register (ISO YYYY-MM-DD)
dissolution_reason Nullable(String) Human-readable dissolution/cessation reason in English (e.g. Deregistration, Striking Off, Winding Up)
dissolution_reason_chinese Nullable(String) Human-readable dissolution/cessation reason in Traditional Chinese
registry_remark Nullable(String) Registry public caveat / amalgamation notice (free text), when present
is_on_watch_list Bool True if the company appears on the registry watch list (legacy ICRIS registry signal)
has_prosecution Bool True if a prosecution has been recorded against the company (legacy ICRIS registry signal)
modern_activity_status Nullable(String) Activity status from ICRIS API (Live, Dissolved, Ceased, Amalgamated, Struck Off)
modern_has_charges Bool True if charges are registered against the company (from ICRIS API)
modern_is_winding_up Bool True if company is in winding-up proceedings (from ICRIS API)
modern_winding_up_mode Nullable(String) Winding-up mode from the ICRIS register: Compulsory Winding Up, Members' Voluntary Winding Up, Creditors' Voluntary Winding Up, or Others (ICRIS canonical labels).
modern_remarks_english Nullable(String) English-language remarks from ICRIS API
modern_remarks_chinese Nullable(String) Chinese-language remarks from ICRIS API
chapter_number Nullable(String) Hong Kong Ordinance chapter number for statutory bodies (modern API), where applicable
incorporation_country Nullable(String) Country of incorporation in English (foreign companies only, e.g., 'British Virgin Islands', 'Cayman Islands'). Reconciled across the modern ICRIS API and the legacy base-information capture for broader coverage. Empty for local Hong Kong companies.
incorporation_country_code Nullable(String) Country of incorporation code (foreign companies only, e.g., 'VGB', 'CYM', 'BMU'). Empty for local Hong Kong companies.
incorporation_country_chinese Nullable(String) Country of incorporation in Traditional Chinese (foreign companies only). Reconciled across the modern ICRIS API and the legacy base-information capture for broader coverage. Empty for local Hong Kong companies.
updated_at DateTime64(3, 'UTC') Timestamp when record was last updated
id String Stable unique identifier for this row — the last column of every export. Use it to deduplicate, to key an incremental load, or to reference one specific row. It is additive: the entity and join keys you already use (race_id, horse_id, and the like) are unchanged.

Sample data

500 companies stratified across active local / dissolved local / foreign / ceased-amalgamated-struck-off / funds & special forms. Regenerated quarterly.

SELECT * FROM renavon_exports.crhk_companies LIMIT 50 0.02s
Loading data… | Click a header to sort; drag headers to reorder.

Choose your access

A Pass gives you freshness within a rolling window. The Full Archive gives you the full history we hold for the dataset, frozen at purchase. They solve different problems, and they work together.

Satisfaction guarantee: 14-day money-back. Details →

One-off purchase

Full Archive

The full history we hold, frozen at purchase. Yours to keep.

Full details →
What you get
The full history we hold, to your purchase date
History depth
All current + dissolved companies, refreshed monthly, in full
Updates
None. Frozen at purchase
Delivery
Gzipped CSV, opens in Excel; link valid 7 days
API access
Not included
US$99
one-time purchase

Get notified when this dataset is updated.

Questions about this data?

Our data experts are ready to help clarify any aspects of this dataset.

Contact Our Team