Company

Get enriched company profile

Get an enriched company profile by company number.

Returns the company's core details plus derived fields that aren't available from the raw Companies House data:

  • company_age_years - calculated from incorporation date
  • company_category - inferred size (micro/small/medium/large) based on accounts type
  • accounts.overdue - whether annual accounts are past their filing deadline
  • confirmation_statement.overdue - whether the confirmation statement is overdue

Data is cached for 30 days. If the Companies House API is down, stale cached data is returned with cached: true in the response.

Example: /v1/company/00445790 returns the enriched profile for Tesco PLC.


Upstream usage: 1 upstream call per unique company on first fetch (cached for 30 days). Repeating a lookup for the same company within 30 days is free - no upstream call is made. At high volume, you can safely look up ~100 different companies per minute before responses begin to slow. Beyond that, requests queue briefly (typically a few seconds) while upstream capacity recovers.

get/v1/company/{company_number}

Request

  • Base URL: https://api.registrum.co.uk
  • URL: https://api.registrum.co.uk/v1/company/{company_number}
  • Auth: API key in header X-API-Key

Path parameters

company_numberstring required

The Companies House company number. 8 alphanumeric characters (e.g., 00445790 for Tesco PLC, SC123456 for a Scottish company). Numeric-only numbers are automatically zero-padded, so 445790 and 00445790 both work.

Example:00445790

Response

Enriched company profile returned successfully

statusstring

'success' or 'error'

cachedboolean

True if this response was served from cache rather than fetched live

cache_age_secondsinteger nullable

How many seconds ago this data was fetched from Companies House (null if not cached)

fetched_atstring nullable

ISO 8601 instant (UTC) when this data was actually fetched from Companies House. Use this, not cache_age_seconds, to show a user when the data was last checked: an age is measured at the moment this response was produced, so anything that caches the response downstream will overstate freshness by however long it held it. This instant does not drift. Null when unknown - render nothing rather than a guessed date.

data_sourcestring

'live' - fetched from Companies House right now; 'cached' - served from local cache (data is recent, no upstream call needed); 'cached_rate_conserved' - served from cache because the CH API budget is above 70% utilisation; data may be up to 30 days old in this state

credits_usedinteger

Number of API credits consumed by this request

credits_remaininginteger nullable

API credits remaining this month (null in dev mode)

Example response

{
  "cache_age_seconds": 3421,
  "cached": true,
  "credits_remaining": 487,
  "credits_used": 1,
  "data": {
    "company_age_years": 78,
    "company_name": "TESCO PLC",
    "company_number": "00445790",
    "company_status": "active",
    "company_type": "plc"
  },
  "data_source": "cached",
  "status": "success"
}

Changes

No recorded changes to this operation across all 1 revision of this API.