JavaScript
import Openregister from 'openregister';
const client = new Openregister({
apiKey: process.env['OPENREGISTER_API_KEY'], // This is the default and can be omitted
});
const response = await client.company.getUbosV1('company_id');
console.log(response.company_id);import os
from openregister import Openregister
client = Openregister(
api_key=os.environ.get("OPENREGISTER_API_KEY"), # This is the default and can be omitted
)
response = client.company.get_ubos_v1(
"company_id",
)
print(response.company_id)package main
import (
"context"
"fmt"
"github.com/oregister/openregister-go"
"github.com/oregister/openregister-go/option"
)
func main() {
client := openregister.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.Company.GetUbosV1(context.TODO(), "company_id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.CompanyID)
}
openregister company get-ubos-v1 \
--api-key 'My API Key' \
--company-id company_idcurl --request GET \
--url https://api.openregister.de/v1/company/{company_id}/ubo \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.openregister.de/v1/company/{company_id}/ubo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://api.openregister.de/v1/company/{company_id}/ubo")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openregister.de/v1/company/{company_id}/ubo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"company_id": "<string>",
"ubos": [
{
"id": "<string>",
"name": "<string>",
"natural_person": {
"full_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"date_of_birth": "<string>",
"city": "<string>",
"country": "<string>"
},
"legal_person": {
"name": "<string>",
"city": "<string>",
"country": "<string>"
},
"percentage_share": 123,
"max_percentage_share": 123
}
]
}Company UBOs
GET
/
v1
/
company
/
{company_id}
/
ubo
JavaScript
import Openregister from 'openregister';
const client = new Openregister({
apiKey: process.env['OPENREGISTER_API_KEY'], // This is the default and can be omitted
});
const response = await client.company.getUbosV1('company_id');
console.log(response.company_id);import os
from openregister import Openregister
client = Openregister(
api_key=os.environ.get("OPENREGISTER_API_KEY"), # This is the default and can be omitted
)
response = client.company.get_ubos_v1(
"company_id",
)
print(response.company_id)package main
import (
"context"
"fmt"
"github.com/oregister/openregister-go"
"github.com/oregister/openregister-go/option"
)
func main() {
client := openregister.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.Company.GetUbosV1(context.TODO(), "company_id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.CompanyID)
}
openregister company get-ubos-v1 \
--api-key 'My API Key' \
--company-id company_idcurl --request GET \
--url https://api.openregister.de/v1/company/{company_id}/ubo \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.openregister.de/v1/company/{company_id}/ubo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://api.openregister.de/v1/company/{company_id}/ubo")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openregister.de/v1/company/{company_id}/ubo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"company_id": "<string>",
"ubos": [
{
"id": "<string>",
"name": "<string>",
"natural_person": {
"full_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"date_of_birth": "<string>",
"city": "<string>",
"country": "<string>"
},
"legal_person": {
"name": "<string>",
"city": "<string>",
"country": "<string>"
},
"percentage_share": 123,
"max_percentage_share": 123
}
]
}Retrieve the UBOs of a company
Identify the Ultimate Beneficial Owners (UBOs) - the natural persons who ultimately own or control a company. This endpoint calculates beneficial ownership by traversing the complete ownership chain, including indirect ownership through multiple corporate layers. Cost: 25 creditsWhat are UBOs?
Ultimate Beneficial Owners are the natural persons who ultimately own or control a company through direct or indirect ownership. According to German law (GwG - Geldwäschegesetz), individuals holding more than 25% of shares or voting rights are typically considered beneficial owners. Our API automatically calculates these percentages by analyzing multi-level ownership structures.Supported Legal Forms
UBO analysis is currently available for:- GmbH - Limited liability company
- gGmbH - Non-profit limited liability company
- UG - Entrepreneurial company (mini-GmbH)
- KG - Limited partnership
Use Cases
AML/KYC Compliance: Financial institutions, lawyers, and notaries use UBO data to fulfill anti-money laundering and know-your-customer requirements. Identify who ultimately controls a business relationship. Enhanced Due Diligence: For high-risk transactions, identify the natural persons who ultimately benefit from and control the company, even when ownership is structured through complex corporate arrangements. Regulatory Reporting: Many industries require disclosure of beneficial ownership. Use this endpoint to automatically identify reportable UBOs for regulatory filings and transparency registers.Authorizations
API Key Authentication Provide your API key as a Bearer token in the Authorization header.
Path Parameters
Unique company identifier. Example: DE-HRB-F1103-267645
Was this page helpful?
⌘I

