KYB & SCREENING API
KYB and sanctions screening, as an API
Look up companies on their registers, walk ownership to the real people behind them and screen names for sanctions and PEPs, all from your own systems. No case needed, and usage is metered per check.
LiveOn Cruise and Charter, or as an API-only workspace.
A UBO lookup, from the sandbox:
GET /v1/registry/ubo/company?country=FR&companyNumber=909090901
Authorization: Bearer eyJhbGciOi…
{
"found": true,
"sandbox": true,
"entity": {
"tier": "ubo",
"subject": { "legalName": "ACME SANDBOX SARL", … },
"ubos": [
{ "name": "Jean Bernard", "effectivePct": 60, … },
{ "name": "Sophie Laurent", "effectivePct": 40, … }
],
"unresolvedBranches": [
{ "name": "Nominee Trust", "reason": "nominee_shareholder" }
],
"entityCount": 3,
"source": { "registry": "INSEE / RNE (France)", … }
},
…
}COMPANY DATA
Three depths of company data
Start with a search, and go as deep as the customer needs. Each tier has its own scope and its own price.
Lite: search and company detail
Search a national register by name or number. You get the legal name, registration number, status, legal form, incorporation date and registered address.
GET /v1/registry/searchGET /v1/registry/company
Enhanced: the full profile
Lite, plus directors and officers, registered shareholders with their direct percentages, capital, activity and registered agents. Search first, so you only pay for a profile you chose.
GET /v1/registry/enhanced/searchGET /v1/registry/enhanced/company
UBO: ownership to the real people
Walks the ownership chain to natural persons, with each one’s effective percentage, and lists any branch it couldn’t resolve, with the reason. You set the threshold and the depth, within limits.
GET /v1/registry/ubo/company
A slow register? Run any tier as a job with POST /v1/registry/jobs. It answers straight away, and GET /v1/registry/jobs/{id} gives you the same result as the direct call, for 7 days after the job finishes.
COVERAGE
National registers, and further on Enhanced and UBO
Lite covers national registers. Enhanced and UBO reach more countries, and every company record names the register it came from.
Lite
The UK, France, Germany, Denmark, Czechia, Finland, Poland, Estonia, Brazil and Nigeria.
Mexico: Entity and status only: its registers publish no officers or owners.
South Africa: From the National Credit Regulator’s licence register, not CIPC: no directors or owners, and some private companies are absent.
Enhanced, in the UK and EU
The UK, Ireland, Austria, Belgium, Cyprus, Denmark, Estonia, Finland, France, Germany, Italy, Latvia, Luxembourg, the Netherlands, Spain and Sweden.
UBO, in the UK and EU
The UK, Ireland, Austria, Belgium, Denmark, France, Germany, Italy and the Netherlands.
Beyond the UK and EU, coverage varies by country and by tier. Tell us the countries you need →
SCREENING
Sanctions and PEP screening in one call
Send a list of people and companies, and get the hits back in the response.
Up to 100 subjects a call
Screen people and companies for sanctions and PEPs. Add a date of birth, country or registration number to each subject, and your own ID to match the results back.
POST /v1/screening/run
Adverse media, with ComplyAdvantage
Add adverse media to the same call and get links to the source articles.
Needs ComplyAdvantage as your adverse-media vendor.
No case, and no hits stored
A run creates no case and stores no hits, so the result lives in your system. Send an idempotency key and the response is held for 24 hours, to replay a retry.
CASES AND EVENTS
Run onboarding from your own systems
If you onboard customers with First Mile Labs, the same API starts cases and brings the results back.
Start onboarding
Create a case from your CRM. The customer gets their invite, and the case joins your analysts’ queue, marked with where it came from.
POST /v1/cases
Read the results
Pull each case’s status, decisions, risk band and screening hits, and its documents with their extracted data.
GET /v1/cases/{caseId}GET /v1/cases/{caseId}/decisionsGET /v1/cases/{caseId}/screeningGET /v1/documents/{id}
Work hits from your CRM
Dismiss, approve or escalate a screening hit on a case, with a note and the officer’s name. It goes in the audit log, and the case’s risk is assessed again.
POST /v1/cases/{caseId}/screening/disposition
Events, pulled or pushed
Poll the event feed, or take the same events as signed webhooks.
GET /v1/events
HOW IT WORKS
Built for your engineers
OAuth2 client credentials
Swap a client ID and secret for a one-hour bearer token. Your compliance admins create and rotate keys themselves, and rotating stops the old secret at once.
A scope for each tier
Each registry tier, and screening, has its own scope. A key can hold just the ones it needs, with no way into your cases.
Idempotency keys
Retry a lookup or a screen with the same key within 24 hours and you get the stored response, with no second charge.
A sandbox
Fixed test data for lookups and screens, with no vendor call and no charge. We issue sandbox keys on request, and API-only workspaces start with one.
OpenAPI and Postman
An OpenAPI 3.1 spec, and a Postman collection for the registry with the token exchange already wired.
One schema in every country
The same keys wherever the company is, with null where a register has no answer. Every company record names the register it came from and when it was read.
BILLING
You pay for checks that complete
Usage is metered per check and billed in pounds sterling.
Registry lookups
Charged per successful check, by tier and by the country’s pricing band. A search with no match, or a company that isn’t found, costs nothing. A UBO lookup is a base fee plus a charge for each person or company resolved.
Screening
Charged per completed screen, by the number of subjects, whether or not anything matched: a clean result is still a completed check.
Hard caps
Set a monthly budget with a hard cap on registry checks, and a lookup over it is refused before it runs, at no cost.
See what you spent
Usage & billing breaks spend down by check, with CSV and JSON exports. The registry catalogue endpoint lists each national register’s band and price per tier.
GET /v1/registry/jurisdictions
WORKSPACES
API-only, or alongside onboarding
API-only
No onboarding portal and no case queue. You get an API console for your keys, Usage & billing, and the products you chose: KYB, screening or both.
Hybrid
The onboarding portal and the API in one workspace, so a case you start over the API sits in the same queue as the rest.
API access is included on Cruise and Charter.
FAQ
Questions about the API
- Do we need a case to run a lookup or a screen?
- No. Registry lookups and screening runs stand on their own, and a key that holds only those scopes can’t reach your cases.
- Does it cover UK companies?
- Yes, on every tier. Lite reads Companies House for a company’s name, number, status, registered office and incorporation date. Enhanced adds its directors and shareholders, and UBO walks its ownership to natural persons.
- What does a no-match cost?
- On registry lookups, nothing: a search with no match, or a company that isn’t found, is recorded but not charged. A screen is charged whether or not it matches, because a clean result is still a completed check.
- Do you keep what we send?
- A screening run creates no case and stores no hits. If you send an idempotency key, the response is held for 24 hours so a retry can replay it, alongside a hash of your request rather than the names in it. An async registry job’s request and result are deleted 7 days after it finishes.
- Can we test before we go live?
- Yes. A sandbox key serves fixed test data for registry lookups and screening, with no vendor call and no charge. We issue sandbox keys on request, and an API-only workspace starts with one.
- Is adverse media included?
- Yes, with ComplyAdvantage as your adverse-media vendor: add it to a screen. Without it, a request for adverse media is refused before anything runs or is billed.
- Can we run identity checks or decisions over the API?
- No. The API covers company data, screening and cases. Identity verification and risk decisions run inside the platform: start a case over the API, then read its decision.
Talk to us about your integration
Tell us which countries and checks you need, and we’ll show you the calls.