/group-structure
Coverage Corporate relationships disclosed under the PSC regime, so from April 2016 onwards.
Walks the corporate control chain in both directions from one company: every corporate parent above it and every company it controls below it, resolved recursively to a depth of 10 with cycle protection. Built from corporate PSC records rather than name matching.
Input
| Parameter | Description | Required |
|---|---|---|
key | Your API key. May also be sent as a bearer token or X-API-Key header. | Required |
company_number | Companies House company number, with or without the UK- prefix. E.g. 00000042 or UK-00000042. | Required |
direction | ancestors for parents only, descendants for subsidiaries only, both for the full chain. Default both. | Optional |
max_depth | Levels to traverse, 1 to 10. Default 10. | Optional |
Example request
https://api.ukdatalayer.com/v1/group-structure?key=YOUR_KEY&company_number=00000041&direction=descendantsOutput
| Field | Type | Description |
|---|---|---|
control_ancestors[] | object[] | Companies that control this company, with company_id, company_name and depth. |
control_descendants[] | object[] | Companies this company controls, with company_id, company_name and depth. |
depth | number | Number of hops from the queried company. 1 is a direct relationship. |
control_path | string[] | The full chain of company IDs traversed to reach this node. |
parent_company_count | number | Count of direct corporate parents. |
child_company_count | number | Count of directly controlled companies. |
Example response
{
"status": "success",
"credits_used": 1,
"data": {
"company_number": "00000041",
"control_descendants": [
{
"company_id": "UK-00000042",
"company_name": "NORTHGATE ANALYTICS LTD",
"natures_of_control": ["ownership-of-shares-75-to-100-percent"],
"depth": 1,
"control_path": ["UK-00000041", "UK-00000042"]
},
{
"company_id": "UK-00000043",
"company_name": "NORTHGATE ANALYTICS IRELAND LTD",
"natures_of_control": ["ownership-of-shares-75-to-100-percent"],
"depth": 2,
"control_path": ["UK-00000041", "UK-00000042", "UK-00000043"]
}
],
"child_company_count": 1,
"parent_company_count": 0
}
}Notes
- A founder inserting their own holding company looks identical to a trade sale on the register. Where the parent’s own controller resolves to the same person, the relationship is typed as a holdco insertion rather than a change of ownership.