Counterparty Check API: KYB checklist from official registers avatar

Counterparty Check API: KYB checklist from official registers

Pricing

from $50.00 / 1,000 company checkeds

Go to Apify Store
Counterparty Check API: KYB checklist from official registers

Counterparty Check API: KYB checklist from official registers

KYB checklist per company: register status, LEI, insolvency, recent accounts, sanctions (OFAC, UN, UK, EU) on the company and officers, VAT (VIES), IBAN; pass, fail, review or unverified, each sourced. Officers: UK, PL, NO, FR only. Insolvency: UK, PL, FR, DE, NL, NO, FI, EE; elsewhere unverified.

Pricing

from $50.00 / 1,000 company checkeds

Rating

0.0

(0)

Developer

Bosco Labs

Bosco Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Security

Limited permissions

Share

Can I do business with this company? One call checks a supplier, customer or partner against official sources and returns a checklist: pass, fail, review or unverified per check, each with its source link and time. Built for AI agents doing KYB, vendor onboarding or "may I pay this party?" checks, and for people who want a fast, sourced first screen. To screen a vendor list, pass up to 10 companies in companies: one checklist per company, same price each.

Pricing (pay per event): $0.05 per company checked, on Apify and on the HTTP API, MCP and x402. An ambiguous name returns the candidates to pick from and costs nothing; so does a company no source knows.

What you get

CheckSourcePass / fail / review
register_statusNational register or GLEIFactive = pass; liquidation, dissolved, bankrupt, deleted = fail; other = review. Active but an unclosed liquidation notice with the company's number = fail; other recent notices = review (Sirene and GLEIF stay active during a liquidation)
lei_statusGLEIFISSUED = pass; LAPSED = review; RETIRED, ANNULLED = fail
insolvencyCompanies House insolvency cases and The Gazette (UK), KRS (PL), BODACC (FR), German and Dutch insolvency registers; register status (NO, FI, EE)a Companies House insolvency status or case (a members' voluntary liquidation is solvent: pass), a notice in the last 3 years that gives the company's number, or an open proceeding = fail; older notices, notices matched on the name only, arrears, or a UK company gone before our Gazette copy starts = review; struck off or deleted without a procedure shown = unverified
accounts_recentRegisters, ESEF, SECnewest year end within 24 months = pass, older = review
sanctions_entityOFAC SDN and non-SDN, UN Security Council, UK, EU, US export listsa listing that carries the company's registration number or LEI = fail; possible name match = review
sanctions_peoplesame lists; officers and owners from the UK, Polish, Norwegian and French registerspossible match = review
vat_number, vat_name_match, vat_country_matchVIES (EU)not valid = fail; other name or country = review
iban, iban_country_matchISO 13616 check digits, SWIFT IBAN Registrybad check digits = fail; other country = review
wallet_sanctionsOFAC wallet addresseslisted = fail

unverified always means not checked (no source for that country, a source down, no VAT number known), never "safe". summary.needs_attention lists the fail and review checks. There is no overall verdict or risk score: you decide, with the sources in hand.

Besides the checklist the answer carries the company's identity, its latest annual figures, UK officers and owners, insolvency notices, the US listing and the full sanctions, VAT and IBAN results.

Coverage by country:

CountryRegister statusOfficers screenedInsolvency
UKCompanies Housedirectors and owners (PSCs)The Gazette
PolandKRSboard (names the register shows in full)KRS
NorwayBrønnøysundCEO and boardregister status (bankrupt, winding up)
FranceSirenedirectors (RNE)BODACC
Finland, Estonianational registerno open sourceregister status
GermanyGLEIFno open sourceinsolvenzbekanntmachungen.de
NetherlandsGLEIFno open sourceCentraal Insolventieregister
Denmark, US, othersGLEIF, SECnounverified

Sanctions on the company, the LEI, VAT and IBAN work for every country.

Example

{
"schema_version": "1",
"query": "24256790",
"status": "checked",
"company": {
"legal_name": "NOVO NORDISK A/S",
"country": "DK",
"registration_number": "24256790",
"register": "Erhvervsstyrelsen (CVR)",
"lei": "549300DAQ1CVT6CXN342",
"lei_status": "ISSUED",
"status": "active",
"legal_form": "Aktieselskab",
"registered_address": "Novo Alle 1, 2880 Bagsværd, DK"
},
"checks": [
{
"check": "register_status",
"status": "pass",
"detail": "Register status: active.",
"source": "GLEIF",
"source_url": "https://api.gleif.org/api/v1/lei-records/549300DAQ1CVT6CXN342",
"checked_at": "2026-11-08T04:12:24+00:00"
},
{
"check": "lei_status",
"status": "pass",
"detail": "LEI 549300DAQ1CVT6CXN342 is ISSUED.",
"source": "GLEIF",
"source_url": "https://search.gleif.org/#/record/549300DAQ1CVT6CXN342",
"checked_at": "2026-11-08T04:12:24+00:00"
},
{
"check": "insolvency",
"status": "unverified",
"detail": "Insolvency covers the UK, Poland, France, Germany and the Netherlands (insolvency registers) and Norway, Finland and Estonia (register status).",
"source": null,
"source_url": null,
"checked_at": "2026-11-08T04:12:24+00:00"
},
{
"check": "accounts_recent",
"status": "pass",
"detail": "Newest annual accounts: year ending 2025-12-31 (11 months ago).",
"source": "filings.xbrl.org",
"source_url": "https://filings.xbrl.org/549300DAQ1CVT6CXN342/2025-12-31/ESEF/DK/0/NOVO-2025-12-31-1-en.json",
"checked_at": "2026-11-08T04:12:24+00:00"
},
{
"check": "sanctions_entity",
"status": "pass",
"detail": "No match. Checked: OFAC Consolidated (non-SDN) List 2026-11-04, UN Security Council Consolidated List 2026-11-08, UK Sanctions List 2026-11-03, EU Consolidated Financial Sanctions List 2026-10-23, US Consolidated Screening List (Commerce, State) 2026-11-08, OFAC SDN List 2026-11-06.",
"source": "OFAC, UN, UK, EU and US export lists",
"source_url": null,
"checked_at": "2026-11-08T04:12:24+00:00"
},
{
"check": "sanctions_people",
"status": "unverified",
"detail": "No officer or owner names known (UK and Polish registers list them; Polish names are masked).",
"source": null,
"source_url": null,
"checked_at": "2026-11-08T04:12:24+00:00"
},
{
"check": "vat_number",
"status": "unverified",
"detail": "VIES is not answering (SERVICE_UNAVAILABLE); try again later",
"source": "VIES (European Commission), answered by the national tax administration",
"source_url": "https://ec.europa.eu/taxation_customs/vies/#/vat-validation",
"checked_at": "2026-11-08T04:12:24+00:00"
},
{
"check": "iban",
"status": "pass",
"detail": "DK5000400440116243: structure and check digits valid. Bank code 0040; no bank was contacted.",
"source": "ISO 13616 check digits (mod 97) and the SWIFT IBAN Registry formats",
"source_url": "https://www.swift.com/standards/data-standards/iban-international-bank-account-number",
"checked_at": "2026-11-08T04:12:24+00:00"
},
{
"check": "iban_country_match",
"status": "pass",
"detail": "expected DK, number is DK",
"source": "ISO 13616 check digits (mod 97) and the SWIFT IBAN Registry formats",
"source_url": "https://www.swift.com/standards/data-standards/iban-international-bank-account-number",
"checked_at": "2026-11-08T04:12:24+00:00"
}
],
"summary": {
"pass": 6,
"fail": 0,
"review": 0,
"unverified": 3,
"needs_attention": [],
"unverified_checks": [
"insolvency",
"sanctions_people",
"vat_number"
]
},
"notice": "Screening aid built from official sources, not a compliance, credit or legal determination. 'unverified' means not checked, never 'safe'. Review every 'fail' and 'review' against the linked source before acting.",
"latest_financials": {
"basis": "Consolidated annual report of a listed company (ESEF, IFRS figures).",
"source": "filings.xbrl.org",
"period_end": "2025-12-31",
"currency": "DKK",
"revenue": 309064000000,
"net_income": 102434000000,
"total_assets": 542902000000,
"source_url": "https://filings.xbrl.org/549300DAQ1CVT6CXN342/2025-12-31/ESEF/DK/0/NOVO-2025-12-31-1-en.json"
},
"sanctions": {
"entity": {
"query": "NOVO NORDISK A/S",
"match_found": false,
"best_score": null,
"complete": true,
"summary": "No match >= 85 for 'NOVO NORDISK A/S'. Checked: OFAC Consolidated (non-SDN) List 2026-11-04, UN Security Council Consolidated List 2026-11-08, UK Sanctions List 2026-11-03, EU Consolidated Financial Sanctions List 2026-10-23, US Consolidated Screening List (Commerce, State) 2026-11-08, OFAC SDN List 2026-11-06."
},
"people_with_matches": [],
"people_screened": 0
},
"vat": {
"number": "DK24256790",
"status": "unverified",
"valid": null,
"registered_name": null,
"name_match": null,
"country_match": null,
"source_url": "https://ec.europa.eu/taxation_customs/vies/#/vat-validation"
},
"iban": {
"number": "DK5000400440116243",
"status": "pass",
"valid": true,
"bank_code": "0040",
"country_match": true,
"source": "ISO 13616 check digits (mod 97) and the SWIFT IBAN Registry formats"
},
"wallets": [],
"warnings": [
"EU Consolidated Financial Sanctions List: download failed (HTTP 500); used the copy fetched 2026-11-07T01:57 UTC (list dated 2026-10-23)."
],
"source_url": "https://api.gleif.org/api/v1/lei-records/549300DAQ1CVT6CXN342",
"retrieved_at": "2026-11-08T04:12:24+00:00",
"duration_seconds": 28.5
}

This example ran while VIES was down: the VAT check says unverified, not pass.

Input

{ "query": "24256790", "country": "DK", "vatNumber": "DK24256790", "iban": "DK5000400440116243" }
FieldMeaning
queryCompany name, LEI or registration number (UK, DK, NO, FR, FI, EE, PL), US ticker or CIK. Required
countryISO country code to pick the register, e.g. GB
vatNumberThe VAT number the counterparty gave you, e.g. DK24256790; empty = the one the register lists, if any
ibanThe IBAN they want to be paid on
walletAddressesCrypto addresses they want to be paid on, at most 10
companiesInstead of query: a list of up to 10 companies, each {query, country, vatNumber, iban}

Check a vendor list in one run

{
"companies": [
{ "query": "Novo Nordisk A/S", "country": "DK", "vatNumber": "DK24256790" },
{ "query": "00445790", "country": "GB" },
{ "query": "Equinor ASA", "country": "NO" }
]
}

You get one row per company, in the same shape as a single check, and pay the same $0.05 per company checked. A name that fits several companies (status: "ambiguous", with candidates) and a company no source knows or that does not answer in time (status: "failed", with a message) cost nothing. Up to 10 companies per run; four are checked at a time, within the registers' rate limits (a UK company takes the longest). Split a longer list over several runs.

Use from an AI agent (MCP)

Agents can call this Actor as a tool through the Apify MCP server. Add this server URL to your MCP client (Claude, Cursor, VS Code, ...):

https://mcp.apify.com?tools=bosco_labs/counterparty-check

It loads this Actor as a tool, plus the tools that read its results. The hosted server signs you in with OAuth, or accepts your Apify token as Authorization: Bearer <APIFY_TOKEN>.

Example prompt: "Before we pay them: check supplier Novo Nordisk A/S (CVR 24256790), their VAT number DK24256790 and IBAN DK5000400440116243." The agent passes:

{"query": "24256790", "country": "DK", "vatNumber": "DK24256790", "iban": "DK5000400440116243"}

Output for agents: one row (typically 10-20 KB) with stable snake_case fields; read summary.needs_attention and checks first. Usually 5-30 seconds (VIES and UK officer lookups are the slow parts). Cost: $0.05 per company checked, billed to the Apify account the MCP server is signed in with.

Also on the Bosco Labs API (POST https://api.boscolabs.dev/v1/counterparty-check, credits or x402) and its MCP server https://api.boscolabs.dev/mcp (tool counterparty_check).

FAQ

Is this a compliance decision? No. It is a screening aid built from official sources. Fuzzy name matching gives false positives (namesakes) and can miss a name written another way. Review every fail and review against the linked source, and use your own judgement or counsel for decisions.

Why is a check unverified? The source does not cover that country (see the coverage table), the source did not answer in time, or the input to check is missing (no VAT number). The detail says which.

Does the IBAN check prove who holds the account? No. It checks that the number is well formed and in the expected country; no bank is contacted.

How fresh is it? Registers, GLEIF and VIES are read live. Sanctions lists are at most about an hour old (each list's own date is in the detail). UK insolvency notices come from a nightly copy of The Gazette.

Personal data? Officer and owner names come from the public registers and are screened only against sanctions lists, for this check. Nothing about the people is stored. See LEGAL.md.