Sanctions screening API
on official lists

Screen people, companies, vessels and aircraft against
OFAC SDN & Consolidated, EU, UK and UN lists.

  • 33,465 records
  • 5 lists
  • 6h refresh
  • Global coverage
  • 200 free checks a month
  • No credit card
  • No contracts
  • Key in 60 seconds
Screening result for Vladimir Putin: score 1.00, likely; OFAC SDN, EU, UK; monitoring watch, webhook delivery and global coverage cards

Built for compliance, risk and fraud teams

  • Official sources onlyOFAC, EU, UK and UN files, versioned on every refresh
  • Simple integrationREST API with clear docs, samples and SDKs
  • Real-time resultsMedian 66 ms, p95 142 ms — in any script
  • Secure by designTLS 1.2+, hashed keys, EU hosting; store only what you choose
Official sources only

Every list the regulator expects, in one call

OFAC SDN and Consolidated (US Treasury), the EU Consolidated Financial Sanctions List, the UK Sanctions List (FCDO) and the UN Security Council list — loaded from the publishers' own files, versioned, with a diff on every refresh.
Every response names the exact version of each list it ran against, so your audit trail can prove what you checked and when. A failed refresh never replaces a good version.
Matching that reads names like a compliance officer

Cyrillic, Arabic, CJK — matched through name dictionaries, not just spelling

  • «Владимир Путин» finds Vladimir Vladimirovich PUTIN; «Ким Чен Ын» finds Jong Un KIM — through name dictionaries, not spelling.

  • Aliases keep the publisher's strong/weak marking; a conflicting birth year or country lowers the score instead of hiding the match.
0 K
records across four official lists
0 %
recall@5 on the public test set
Built for the whole workflow

Screen once, monitor forever, export the proof

One REST call at onboarding. Batch up to 10,000 names when you migrate a book. Watch any customer and get a webhook the moment a list changes.
Every check is written to your audit trail with the dataset versions it used — download it as CSV for your auditor or regulator whenever they ask.

Screen

One REST call, every list, scored matches with reasons.

Monitor

Watch a customer; get a webhook when a list changes.

Prove

Every check logged with dataset versions; CSV for your auditor.

Integrate

SDKs for Python and Node; OpenAPI 3.1 for everything else.

What a check looks like

One request, one JSON answer, every list. Here is what comes back.

Scored matches with reasons

  • Each match carries a score from 0 to 1, a possible / likely level and the matched alias, so review is fast.

  • The features field shows which signals fired: name similarity, identifier match, conflicting birth year or country.

Identifiers rank first

  • Send a passport, national ID, IMO or registration number and an exact hit outranks every name similarity.

  • Vessels and aircraft are matched by their own identifiers, not only by name.

Batch & async

  • POST up to 10,000 names; results stream in as the job runs and a batch.finished webhook tells you when it is done.

  • Quota is counted once per name, never per list.

Monitoring with webhooks

  • Register a customer once; we re-screen it after every list update and send watch.match / watch.clear events.

  • Signed with HMAC-SHA256, retried with backoff, disabled automatically after repeated failures.

Audit trail & CSV export

  • Every screening is stored with the dataset versions it ran against for the retention period of your plan.

  • Export the whole trail as CSV in one call — or keep only a hash of the query with store: false.

Fast where it matters

Under 150 ms, including the cold start

Candidates come from PostgreSQL through name symbols, trigrams and phonetics; only twenty go to the scorer. Median 66 ms, 95th percentile 142 ms on our public test set — measured cold, without cache tricks.
  • Median 66 ms, 95th percentile 142 ms on the public test set — measured cold, no cache tricks.

  • Rate limits from 1 to 50 requests per second by plan; batch handles the heavy lifting asynchronously.

The numbers behind the service

Live from the status page — nothing here is a marketing estimate.
0
official lists: OFAC SDN & Consolidated, EU, UK, UN
0 h
hours between list refreshes, with a diff every time
0 ms
95th-percentile latency in milliseconds, measured cold
Honest about limits

A screening tool, not a verdict

  • We cover the four official consolidated lists and say so on the coverage page: no PEP data, no adverse media, no ownership rules. If your obligation needs those, KYCWire is one input to your process.

  • Our methodology page publishes the test set and its results, including the cases we get wrong.

Who uses it

Teams that need to prove sanctions checks without a quarter of procurement.

Fintech & payments

Screen counterparties at onboarding and on every payout; monitor the whole book against list updates.

Crypto exchanges & wallets

Names and OFAC-listed addresses at signup and withdrawal, with an audit trail the regulator will accept.

Marketplaces & gaming

Vendors, sellers and high-value players checked automatically; alerts only when something changes.

Compliance consultants

Run client books through batch, hand over the CSV, and keep watches running between reviews.

Shipping & trade finance

Vessels by IMO number and counterparties by name on every shipment, letter of credit or charter.

SaaS & developer platforms

One endpoint in your onboarding flow instead of a compliance vendor contract — start on the free plan.

Start with the free plan, grow without a sales call

  • Free covers 200 checks a month on every list. Starter, Growth and Scale add batch, monitoring and longer audit retention — pay by card or crypto, cancel from the dashboard.

  • Overage is optional and priced per check. No minimums, no annual commitment unless you want the two months off.

Developer-first

JSON in, JSON out, one bearer key. Errors carry a stable code and a link to the docs. The OpenAPI 3.1 description is generated from the same code that serves the API, so it never drifts.

Drop-in SDKs

  • pip install kycwire · npm install kycwire — typed clients with webhook signature verification built in.

  • Copy-paste examples for cURL, PHP and Go in the docs; a dashboard curl that already contains your key.

Keys you control

Keys are stored as SHA-256 hashes and shown once. Rotate from the dashboard; the old key stops the same second.

Dashboard

Usage this month, recent screenings with scores, watches and webhook deliveries — everything the API knows, on one page.

OpenAPI 3.1

Machine-readable spec at /api/v1/openapi.json: generate a client in any language or import it into Postman.

Every list, every language

Five official sources. Official SDKs for Python and Node, examples for cURL, PHP and Go.
OFAC SDN
OFAC Consolidated
EU Consolidated
UK Sanctions List
UN Security Council
Python SDK
Node SDK
cURL
PHP
Go
OpenAPI 3.1
Webhooks