Response fields
These fields are returned onPOST /match and on each row in batch results.
A
200 with matched_company_number: null means the engine finished without a confident match. That is not an error. In that case confidence is none and route is null.
Confidence
confidence tells you how strong the match evidence is. It is not a percentage probability.
If part of the pipeline was unavailable for that row (for example a website lookup), the band may drop one notch (e.g.
high → medium).
Use confidence to triage results — for example auto-accept high, review medium or low. Always check matched_company_number to see whether a CRN was returned.
Route
route records which stage produced the match:
Rigorous match
rigorous_match is true when the slow path cleared the stricter scoring check for the chosen company.
- A fast-path match does not need that check, so it can be
confidence: highwithrigorous_match: false. - On the slow path,
rigorous_match: trueis what lifts a result toconfidence: high, subject to the band reduction noted above.
rigorous_match as a technical signal; prefer confidence for product decisions unless you are debugging match quality.
Company status
company_status is the matched company’s status exactly as Companies House reports it. The values you will see:
When several registered companies share a name, the match prefers the one in the healthiest status, in the order above.
active is kept for compatibility and will be removed in the next API version. It is "True" when company_status is anything other than dissolved, and "False" when the company is dissolved.
Example (matched)
Example (unmatched)
Example (with address)
Request body fields
Null optional fields may be omitted from the request; the API does not require them.