KYB & corporate trees
Resolve the legal entity. Map the wider customer group.
Start with a confirmed legal entity, then choose the depth of data your workflow needs. Availability and permissions can vary by company, source and data section.
The API company ID, registration number and VAT identifier are different fields. Search IDs can be strings; tree IDs can be numbers. Normalize IDs for comparison and preserve registration numbers as strings.
Find a company
#/kyb/searchResolve a legal entity before requesting its profile or corporate tree. Match country and registration number as well as the company name.
| Parameter | Location / type | Description |
|---|---|---|
locationRequired | bodystring | Required. ISO country code (GB), supported country-state code (US-CA), or a KYB location nomenclature ID. |
name | bodystring | Company name. Supply at least one of name, registration_number, vat_number or ticker. |
registration_number | bodystring | Company registration identifier; retain leading zeros. |
vat_number | bodystring | VAT or EIN identifier. |
ticker | bodystring | Stock ticker; listed among accepted identifiers in the provider validation rules. |
city_or_state | bodyarray<string> | Optional list of city or state names. |
include_provenance | bodyboolean | Optional source metadata. This can change the response structure; see the provenance examples. |
curl --request POST "https://api.globaldatabase.com/v2/kyb/search" \
--header "Authorization: Token $GLOBAL_DATABASE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"name": "GLOBAL DATA INTELLIGENCE",
"location": "GB"
}'Response
200 JSON array of candidate companies. An empty array does not identify a matching entity.
View JSON example
[
{
"id": "29707645",
"name": "GLOBAL DATA INTELLIGENCE LIMITED",
"registration_number": "09410808",
"vat_number": "GB260423730",
"country_code": "GB",
"state": "Northamptonshire",
"jurisdiction": null
}
]- The search response remains an array with include_provenance=true; matching records gain source metadata. Do not assume all KYB responses use a data wrapper.
Get a company profile
#/kyb/{id}/liteRead the legal identity, registration, operating status, address and available web presence for a selected company.
| Parameter | Location / type | Description |
|---|---|---|
idRequired | pathinteger | Company ID returned by KYB search. This is not the company registration number. |
include_provenance | queryboolean | Optional source metadata. This can change the response structure; see the provenance examples. |
Set COMPANY_ID in your server environment after confirming the company returned by KYB search.
# Set COMPANY_ID to the ID you selected from KYB search.
curl --request GET "https://api.globaldatabase.com/v2/kyb/${COMPANY_ID}/lite" \
--header "Authorization: Token $GLOBAL_DATABASE_API_KEY"Response
200 JSON company object. Example below is abbreviated, without provenance.
View JSON example
{
"id": "29707645",
"name": "GLOBAL DATA INTELLIGENCE LIMITED",
"registration_number": "09410808",
"vat_number": "GB260423730",
"incorporation_date": "2015-01-28",
"status": "Active",
"country_code": "GB",
"country_name": "United Kingdom",
"legal_form": "Private limited company (Ltd.)",
"website": "https://www.globaldatabase.com/",
"ticker": null
}- With provenance enabled, fields are organized under basic, address and contact, each with its own source where supplied. The default response is flatter.
Get immediate group relationships
#/kyb/{id}/group-structures/liteUse the compact hierarchy to check the company’s immediate corporate connections before requesting a deeper tree.
| Parameter | Location / type | Description |
|---|---|---|
idRequired | pathinteger | Company ID returned by KYB search. This is not the company registration number. |
include_provenance | queryboolean | Optional source metadata. This can change the response structure; see the provenance examples. |
Set COMPANY_ID in your server environment after confirming the company returned by KYB search.
# Set COMPANY_ID to the ID you selected from KYB search.
curl --request GET "https://api.globaldatabase.com/v2/kyb/${COMPANY_ID}/group-structures/lite" \
--header "Authorization: Token $GLOBAL_DATABASE_API_KEY"Response
200 JSON array of tree roots by default, or an object containing data and source when provenance is enabled.
View JSON example
[
{
"id": 29707645,
"name": "GLOBAL DATA INTELLIGENCE LIMITED",
"country": "GB",
"registration_number": "GB 09410808",
"selected": true,
"children": []
}
]Get the full corporate tree
#/kyb/{id}/group-structures/fullTraverse the available parent and subsidiary relationships to map the wider account. Sister companies share a parent in the returned hierarchy.
| Parameter | Location / type | Description |
|---|---|---|
idRequired | pathinteger | Company ID returned by KYB search. This is not the company registration number. |
include_provenance | queryboolean | Optional source metadata. This can change the response structure; see the provenance examples. |
Set COMPANY_ID in your server environment after confirming the company returned by KYB search.
# Set COMPANY_ID to the ID you selected from KYB search.
curl --request GET "https://api.globaldatabase.com/v2/kyb/${COMPANY_ID}/group-structures/full?include_provenance=true" \
--header "Authorization: Token $GLOBAL_DATABASE_API_KEY"Response
200 JSON. This example uses include_provenance=true. Without it, the response is the array of roots.
View JSON example
{
"data": [
{
"id": 29707645,
"name": "GLOBAL DATA INTELLIGENCE LIMITED",
"country": "GB",
"registration_number": "GB 09410808",
"selected": true,
"children": [
{
"id": 222828368,
"name": "GLOBAL DATABASE, SRL",
"country": "MD",
"registration_number": "MD 1021600025805",
"selected": false,
"children": []
}
]
}
],
"source": {
"category": "Modelled",
"id": 895,
"name": "Global Data Intelligence Limited",
"url": "https://www.globaldatabase.com/"
}
}- Follow children recursively and use selected to locate the requested company. Preserve parent-child edges when the same entity appears more than once.
- Source categories can include Modelled. A corporate relationship does not establish contract coverage, buying authority or demand. Missing relationships are not proof that none exist.
Get financial statements
#/kyb/{id}/financialRetrieve available reporting periods and grouped financial measures to add scale and company context to account research.
| Parameter | Location / type | Description |
|---|---|---|
idRequired | pathinteger | Company ID returned by KYB search. This is not the company registration number. |
include_provenance | queryboolean | Optional source metadata. This can change the response structure; see the provenance examples. |
Set COMPANY_ID in your server environment after confirming the company returned by KYB search.
# Set COMPANY_ID to the ID you selected from KYB search.
curl --request GET "https://api.globaldatabase.com/v2/kyb/${COMPANY_ID}/financial" \
--header "Authorization: Token $GLOBAL_DATABASE_API_KEY"Response
200 JSON object with years and groups. Abbreviated example from the provider documentation.
View JSON example
{
"years": [
"2018-01-31"
],
"groups": [
{
"id": "Summary",
"name": "Summary",
"order": 0,
"list": [
{
"name": "Currency",
"list": {
"2018-01-31": "GBP"
}
},
{
"name": "Employee Numbers",
"list": {
"2018-01-31": "1"
}
}
]
}
]
}- Values may be strings or null. Read reporting period, currency and consolidation basis before comparing entities. Missing values are not zero.
List company officers
#/kyb/{id}/officersRetrieve available officer appointments for the company. Use this for corporate context; an officer’s title alone does not establish procurement responsibility.
| Parameter | Location / type | Description |
|---|---|---|
idRequired | pathinteger | Company ID returned by KYB search. This is not the company registration number. |
page | queryinteger | Page number. |
per_page | queryinteger | Results requested per page. No universal maximum is documented for this endpoint. |
include_provenance | queryboolean | Optional source metadata. This can change the response structure; see the provenance examples. |
Set COMPANY_ID in your server environment after confirming the company returned by KYB search.
# Set COMPANY_ID to the ID you selected from KYB search.
curl --request GET "https://api.globaldatabase.com/v2/kyb/${COMPANY_ID}/officers?page=1&per_page=10" \
--header "Authorization: Token $GLOBAL_DATABASE_API_KEY"Response
200 paginated JSON: data, total_pages and total_results. Records can include id, first_name, last_name, job_title, appointed_at, resigned_at and work_status. Empty-result illustration below.
View JSON example
{
"data": [],
"total_pages": 0,
"total_results": 0
}- Provenance can reorganize records into officer, appointment, address and optional contact sections. Read each source independently.
Find companies connected to an officer
#/kyb/officers/searchSearch an officer’s name and use additional filters to distinguish people with similar names. Associations require identity review.
| Parameter | Location / type | Description |
|---|---|---|
nameRequired | bodystring | Officer name, at least 2 characters. |
date_of_birth_year | bodyinteger | Optional four-digit birth year for disambiguation. |
country_code | bodystring | ISO two-letter country code. |
status | bodystring | C for current appointments; P for previous appointments. |
appointment_date | bodyobject | Optional gte / lte date bounds (YYYY-MM-DD). |
resignation_date | bodyobject | Optional gte / lte date bounds (YYYY-MM-DD). |
company_name | bodystring | Filter by company name. |
company_reg_number | bodystring | Filter by company registration number. |
company_status | bodyarray | Company Status nomenclature IDs, not status labels. |
company_countries | bodyarray | KYB Countries nomenclature IDs, not ISO codes. |
include_provenance | bodyboolean | Optional source metadata. This can change the response structure; see the provenance examples. |
curl --request POST "https://api.globaldatabase.com/v2/kyb/officers/search" \
--header "Authorization: Token $GLOBAL_DATABASE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"name": "Alex Morgan",
"country_code": "GB",
"status": "C"
}'Response
200 JSON array of officer-to-company matches. Alex Morgan is a placeholder name; the empty response is illustrative.
View JSON example
[]Get a combined KYB report
#/kyb/{id}/fullRequest company identity, officers, shareholders, group structure and financials together. Each section has its own entitlement and usage checks.
| Parameter | Location / type | Description |
|---|---|---|
idRequired | pathinteger | Company ID returned by KYB search. This is not the company registration number. |
include_provenance | queryboolean | Optional source metadata. This can change the response structure; see the provenance examples. |
Set COMPANY_ID in your server environment after confirming the company returned by KYB search.
# Set COMPANY_ID to the ID you selected from KYB search.
curl --request GET "https://api.globaldatabase.com/v2/kyb/${COMPANY_ID}/full" \
--header "Authorization: Token $GLOBAL_DATABASE_API_KEY"Response
200 may contain partial failures. Sections are lite, officers, shareholders, group_structures_full and financial. Illustrative partial response below.
View JSON example
{
"lite": {
"error": {
"status_code": 403,
"detail": {
"message_guard": "API entitlement or usage limit prevented this section."
}
}
},
"officers": [],
"shareholders": [],
"group_structures_full": [],
"financial": {
"error": {
"status_code": 404,
"detail": "No financial data available in this illustrative response."
}
}
}- Check section.error before using each section. A 403 within a section means access or usage was blocked; a 404 means that section had no data.
- Officers and shareholders in this combined report are not paginated. Standalone list endpoints are paginated.
Read provenance without losing context
Turning on include_provenance is more than adding one optional field. Search stays an array, a lite profile gains grouped sections, and a corporate tree becomes a data plus source object.
Corporate tree
Keep the relationship source alongside the nodes. A Modelled relationship should remain identifiable in your UI and exports.
Profile and financials
Preserve the source for each section. Contact enrichment and registry identity can have different origins.
Use the full KYB report only when you need several data categories. Inspect every section’s error even when HTTP status is 200.
Based on the Global Database API v2 reference ↗ · Reviewed 14 September 2026. Examples are illustrative or abbreviated, not live company reports.