Retrieve the tree of a company's holders
The holders of this company as a tree: one node per shareholding, saying where it
sits. depth is the level below the company you asked about, effective_percentage
the share of that company held through the chain, and via_shareholding_id the
holding a node is reached through. The shareholding in a node is the object
GET /companies/{company_id}/shareholders lists, unchanged by how it was reached.
Today the tree holds the company's direct holders, each at depth 1, whatever
depth you ask for: the holders of corporate holders are not resolved yet.
An empty nodes does not say whether no shareholder list is on file or whether it
is not extracted yet: GET /companies/{company_id}/shareholders says which
(extract.status). As there, asking starts the extraction when we hold no shareholder
list for the company yet: at most one, for the company you asked about.
Costs 10 credits.
Authorization
bearerAuth Your API key, sent as Authorization: Bearer rc_live_….
In: header
Path Parameters
The company's id (cmp_…). The raw UUID /v1 published before is still read until 2026-12-31,
and such a request is answered with Deprecation and Sunset. An id of another kind, or
anything else, answers 400 validation_failed naming company_id.
^cmp_[0-7][0-9a-hjkmnp-tv-z]{25}$Query Parameters
How many ownership levels to resolve.
1 <= value <= 31Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://api.registercheck.de/v1/companies/cmp_1z3gn9wpvx9j59w8bd9w5rm72n/ownership-tree" \ -H "Authorization: Bearer $REGISTERCHECK_API_KEY"{ "object": "ownership_tree", "company": { "object": "company", "id": "cmp_1z3gn9wpvx9j59w8bd9w5rm72n", "name": "Beispiel Analytics GmbH" }, "nodes": [ { "shareholding": { "id": "shr_1b7h6nwvvt9e69t3gz58xmrqbe", "object": "shareholding", "company": { "object": "company", "id": "cmp_1z3gn9wpvx9j59w8bd9w5rm72n", "name": "Beispiel Analytics GmbH" }, "holder": { "object": "person", "id": null, "name": "Dr. Erika Mustermann" }, "type": "shareholder", "percentage": 60, "nominal_amount": { "amount": "15000.00", "currency": "EUR" }, "liability_amount": null, "match_confidence": null, "source": { "object": "document", "id": "doc_3cfp79y2gv9gprwftabdp7v3mz", "date": "2025-06-03", "type": "shareholder_list" } }, "depth": 1, "effective_percentage": 60, "via_shareholding_id": null }, { "shareholding": { "id": "shr_1w9nf6yymb9jerw3sa7d65tvkz", "object": "shareholding", "company": { "object": "company", "id": "cmp_1z3gn9wpvx9j59w8bd9w5rm72n", "name": "Beispiel Analytics GmbH" }, "holder": { "object": "company", "id": "cmp_4zhsyprpta9gyrwbrt1ee8tzkf", "name": "Beispiel Beteiligungs GmbH" }, "type": "shareholder", "percentage": 40, "nominal_amount": { "amount": "10000.00", "currency": "EUR" }, "liability_amount": null, "match_confidence": null, "source": { "object": "document", "id": "doc_3cfp79y2gv9gprwftabdp7v3mz", "date": "2025-06-03", "type": "shareholder_list" } }, "depth": 1, "effective_percentage": 40, "via_shareholding_id": null } ]}