Compute beneficial owners from register filings
Who the filed shareholder lists and register entries compute as a beneficial owner of this company. Only a natural person can qualify. Each one carries the paths that were multiplied and the percentage along each path.
capital_over_25 and gwg_above_25 are the same GwG test: the summed capital is
more than 25%. amlr_25_or_more and amlr_at_least_25 are the AMLR test: the summed
capital is 25% or more. Exactly 25% meets the AMLR test and not the GwG capital test.
control_chain: the person holds more than half of a company, stakes of several
controlled companies in one company are added, and the person's own stake in this
company counts with those stakes. The total is more than 25%. A majority is more than
half, not half. Votes are not on a shareholder list, so every answer includes
voting_rights_unknown; that reason alone does not make status partial.
Two holdings are one person when exactly one person record is linked (matched_by
person_id), or, failing that, when both give the same full name and the same birth
date (matched_by name_birth_date). Otherwise the holding stays on its own
(matched_by unidentified). Direct and indirect stakes combine only in the first
two cases. unresolved includes unlinked_person when an unidentified person's
largest possible stake is still at least 25% of the capital, or their control stake
is 25% or more, or when that person has the same name as an identified holder and
the two stakes together could reach that line. Those rows are not combined into one
owner. A smaller unidentified stake, which could not reach the line even together
with such a holder, does not make status partial.
The walk follows linked companies for five levels and stops at 250 nodes. status is
complete when nothing else is unresolved and at least one person qualifies,
none_found when the look is complete and nobody qualifies, and partial when a
percentage is missing, a holder was withheld, an unidentified person could still
reach 25%, a holder is abroad or not
linked, the company is an AG, SE or KGaA or has no list, a partnership's terms are not
on the list, or the walk hit a depth limit, the node cap, a cycle or a company that
holds itself. unresolved names those reasons.
fictitious_rule_applies follows the GwG test only: it is true when the look is
complete and nobody has capital_over_25 or control_chain, including when the only
qualification is the AMLR test. It is false whenever the look is partial, so a
withheld person cannot be read as nobody. The managing directors are not copied into
beneficial_owners; they stay on GET /companies/{company_id}/roles.
A person with a Sperrung is left out, the same way as on the shareholder list, and
unresolved includes withheld_person. When that check cannot be made, or a reached
company cannot be read, the answer is a failure and nothing is charged.
notice is always: computed from register filings (shareholder lists and register
entries); may be incomplete. Not an extract from the Transparenzregister, not the
beneficial owners reported under §§ 19–20 GwG, and no substitute for an obliged
entity's own due diligence.
Costs 25 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}$Response 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_01hxn3rys1fh58w4d1pb1x9s81/beneficial-owners" \ -H "Authorization: Bearer $REGISTERCHECK_API_KEY"{ "object": "beneficial_owner_analysis", "company": { "object": "company", "id": "cmp_1z3gn9wpvx9j59w8bd9w5rm72n", "name": "Beispiel Analytics GmbH" }, "as_of": "2026-10-09T08:00:00Z", "method": "register_filings", "status": "complete", "beneficial_owners": [ { "person": { "object": "person", "id": "per_00000000000000000000000000", "name": "Ada Beispiel" }, "matched_by": "person_id", "percentage": 18, "gwg_above_25": false, "amlr_at_least_25": false, "basis": [ "control_chain" ], "paths": [ { "shareholding_ids": [ "shr_1w9nf6yymb9jerw3sa7d65tvkz", "shr_60zzq0048h88h86ct4ank7f24s" ], "percentage": 18 } ] } ], "unresolved": [ "voting_rights_unknown" ], "fictitious_rule_applies": false, "notice": "Computed from register filings (shareholder lists and register entries); may be incomplete. Not an extract from the Transparenzregister, not the beneficial owners reported under §§ 19–20 GwG, and no substitute for an obliged entity's own due diligence."}