Search

Search for companies by name

Search for UK companies by name.

Returns a list of matching companies with basic details. Results are cached for 1 hour.

Example: /v1/search?q=tesco returns Tesco PLC, Tesco Stores Limited, etc.

With enrichment: /v1/search?q=tesco&enrich=true also includes company age, accounts status, and size classification for each result (capped at 10 enriched results).


Upstream usage: 1 upstream call per unique search query (cached for 1 hour). Repeating the same query within the hour is free - no upstream call is made. At high volume, you can safely issue ~100 unique searches per minute before responses begin to slow. Beyond that, requests queue briefly (typically a few seconds) while upstream capacity recovers.

get/v1/search

Request

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

Query parameters

qstring required

Company name to search for. Supports partial/fuzzy matching. A blank value returns no results with a warning, free of charge, rather than an error - so one empty cell cannot fail a whole batch run.

Example:tesco
items_per_pageinteger

Number of results to return per page (1-100).

start_indexinteger

Offset for pagination. Use 0 for the first page, 20 for the second (if items_per_page=20), etc.

enrichboolean

If true, returns full enriched profiles for each result instead of basic search data. Uses more API credits (1 per enriched result, capped at 10).

Response

Search results 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.