Resolve an entity’s ultimate beneficial owners
/entities/{entity_uuid}/ubos
Resolves the ultimate beneficial owners (UBOs) of a business entity by tracing its
shareholding relationships (the relationship types that carry an ownership percentage) out to
the natural persons behind it. Indirect ownership through other companies is followed and each
person's stake is aggregated across every chain before the threshold is applied.
Example Request
GETRequest Schema
entity_uuid
The entity UUID
threshold
The minimum ownership percentage for an owner to be returned (0-100, default 25).
as_of
Evaluate ownership as at this date (YYYY-MM-DD, defaults to today).
Available Response Data
8 Data Pointsapplicable boolean (False when the entity is not a business (UBO tracing only applies to businesses))
threshold number
The minimum ownership percentage used to filter the ubos list
as_of string (The date the ownership was evaluated as at (YYYY-MM-DD))
fully_traced boolean
True when there are no data-quality gaps
circular_detected boolean
True when a loop was found in the ownership structure
ubos array
Confirmed beneficial owners at or above the threshold
data_gaps array
Businesses whose ownership could not be fully traced, regardless of stake
api_reference uuid
unique request identifier for log tracing and audit
API Data Scale & Coverage tag
Unmatched data depth to power your compliance and verification workflows.
Sandbox Environment
Build and test against a sandbox account. Sandbox is a separate account with its own UUID and its own API keys, and the environment is fixed at the account level, so you cannot switch an existing key between live and sandbox with a parameter or header. Both share the same base URL, so the account behind your key is what determines which environment you are in. GET /v1/account returns an environment field of live or sandbox, and that is the authoritative answer.
Calls on a sandbox key are not billed. Every endpoint, response shape, error envelope, idempotency and rate-limit behaviour mirrors live, so the only change when you move to production should be the credentials. Sandbox accounts are provisioned by your Global Data account manager.
Technical Use Cases tag
Reach the people behind a corporate customer
Resolve the ownership chain to the individuals who ultimately own or control an entity, so due diligence reaches the people instead of stopping at the company.
Effective stakes through layered structures
Direct and indirect ownership percentages are calculated from the recorded relationship chain, so a holding split across layers is surfaced with its effective stake.
Ownership-based by design
The calculation is ownership-based. Someone who controls an entity without an ownership percentage is not included unless an ownership relationship has also been recorded.
Compliance & Security tag
Enterprise-grade infrastructure audited against the standards your regulators require.
Common Questions tag
Everything you need to know about implementation details and compliance infrastructure.
rocket_launch Implementation
What are the rate limits?
add
What are the rate limits?
600 requests per minute by default, enforced with a 60-second fixed window. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining.
Exceeding the limit returns 429 Too Many Requests with a Retry-After header giving the number of seconds to wait, and X-RateLimit-Reset giving the reset timestamp. Schedule retries from Retry-After instead of a fixed sleep, and slow down before you hit zero, not after.
Higher limits can be arranged case by case through WatchEye support.
Ready to integrate Resolve an entity’s ultimate beneficial owners?
Talk to our team about credentials, sandbox access and the right combination of endpoints for your workflow.
