Enrich

Bulk enrich up to 50 companies in one request

Enrich up to 50 UK companies in a single request.

Accepts a JSON body with a list of company numbers and returns an enriched profile for each one. Results are fetched in parallel and served from the 30-day cache where available.

Partial success - each item in the response has its own status field. If one company number is invalid or not found, the rest still succeed. Inspect each item individually.

Credits - this endpoint charges credits_used = N where N is the number of company numbers in the request, regardless of cache hits or errors.

Example request:

POST /v1/enrich
{"company_numbers": ["00445790", "03547512"]}

Example response (one success, one not found):

{
  "status": "success",
  "credits_used": 2,
  "data": [
    {"company_number": "00445790", "status": "success", "data": {...}},
    {"company_number": "99999999", "status": "error", "error": "Company 99999999 not found"}
  ]
}

Cache behaviour: Companies already in cache are returned instantly at no upstream cost. Cache TTL is 30 days (same as GET /v1/company/{n}).

post/v1/enrich

Request

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

Request body

company_numbersstring[] required

List of Companies House company numbers to enrich (1–50 per request). Numeric-only numbers are automatically zero-padded to 8 digits.

Example request

{
  "company_numbers": [
    "00445790",
    "03547512"
  ]
}

Response

Bulk enrichment results returned (partial success is possible)

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.