Sanctions Screening API - OFAC, EU, UN Consolidated Lists
Pricing
$5.00 / 1,000 name screeneds
Sanctions Screening API - OFAC, EU, UN Consolidated Lists
Screen customer or supplier names against the official OFAC SDN, EU financial sanctions and UN Security Council lists. Catches aliases, word-order swaps and misspellings. Every row says which list version it was checked against, and no-hit is an answer, not an empty cell.
Pricing
$5.00 / 1,000 name screeneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Give it a list of customer or supplier names. Get back, for every name, whether it appears on the US Treasury OFAC SDN list, the EU financial sanctions list or the UN Security Council consolidated list — with the alias it matched, how close the match was, and which version of each list it was checked against.
Straight from the three government files. No third-party aggregator, no licence to worry about, no API key.
Why "per name", not "per hit"
Every other screening Actor in the store charges for the records it returns. Screen 10,000 suppliers, find 3 matches, and they bill you for 3 records — which sounds generous until you realise the work you actually paid for was the 9,997 names that came back clean, and that is the answer you needed for your audit file.
This one charges per name screened. A clean list costs exactly the same as a dirty one, because it took exactly the same work, and a clean row is a real answer. Rows that could not be screened — an empty input, or a run where no list could be downloaded — are not charged.
A clean name is an answer, not an empty cell
Every input name produces exactly one row:
| Field | Meaning |
|---|---|
query | The name you gave |
hitCount | How many matches were found, 0 included. This is the number found, not the number returned |
matches | The best maxMatches of them. If more were found, reason says so |
topScore | Best match score, 0 when nothing matched |
| each match | listedName, matchedName, matchType, score, source, programs, countries, listedOn, reference |
listVersions | The version of each list this answer is based on — e.g. {"ofac":"08/26/2026","eu":"2026-08-05T16:47:04+02:00","un":"2026-08-26T23:00:04Z"} |
listsUsed / listsUnavailable | Which lists this answer actually covers, and which it does not |
That last pair matters more than anything else here. A screening tool that quietly answers "no match" after failing to fetch a list is worse than no tool at all, because it produces a clean audit trail for a check that never happened.
- No list could be read → every row comes back
ok: false,screened: false,hitCount: null, the failures are named, and nothing is charged. - Some lists could be read → the row is answered, but
reasonnames the lists it was NOT checked against. It never says "every list".
matchType says how it matched, not just that it did
| Value | Meaning |
|---|---|
exact-name / exact-alias | After normalisation, the strings are identical |
reordered-name / reordered-alias | Same words, different order — HUSSEIN SADDAM against the alias SADDAM HUSSEIN |
contained-name / contained-alias | Every word you typed appears in the listed name, which has one or two more — Nicolas Maduro against Nicolas MADURO MOROS |
fuzzy-name / fuzzy-alias | Close but not identical. score says how close |
A reordered match is never labelled exact, because that column ends up in an audit file.
What it catches
Measured on the real lists on 2026-08-27 — 19,319 OFAC + 6,234 EU + 1,011 UN records, 78,733 names including aliases:
| You type | It finds | How |
|---|---|---|
Saddam Hussein Al-Tikriti | 21 records, the three exact-name ones first | exact name, then aliases and relatives |
Abu Ali | 27 records — it is a very common alias, and every one of them is returned with its own score | alias |
HUSSEIN SADDAM | The same person | reordered |
aero caribbean | AEROCARIBBEAN AIRLINES | alias, spacing |
Sadam Husein | SADDAM HUSSEIN | misspelled, score 0.857 |
Bank Meli Iran | BANK MELLI IRAN, and the EU's Bank Melli | misspelled, both lists |
김동운 | KIM Tong-un | Korean script |
Χαμάς | Hamas | Greek script |
صدام حسين التكريتي | SADDAM HUSSEIN AL-TIKRITI | Arabic original script, from the UN list |
Dorde Vukovic | matches records written Đorđe Vuković | Latin-extended letters folded |
Nicolas Maduro | Nicolas MADURO MOROS | middle name missing |
Toyota Motor Corporation | nothing | correctly clean |
John Smith | nothing | correctly clean |
Matching uses Levenshtein distance for spelling and a token overlap for word order, blocked on both whole words and three-letter word prefixes — which is what makes Sadam Husein reachable at all, since neither of its words appears in any list.
minScore is yours to set, between 0.5 and 1.0. 1.0 returns only identical strings and word-order variants of them. 0.85 is the default and catches the misspellings above. Below 0.8, false alarms start to outnumber real hits — at 0.5, most ordinary names match something. A value outside 0.5–1.0 falls back to the default rather than to the loosest setting, so a typo in your config cannot silently flood you with false positives.
What it does not do
Being honest about this is part of the product:
-
A one-word query is not enough. Measured against 600 real listed entities and individuals on 2026-08-27, at the default threshold:
What you type Found The listed name as published 100% The listed name with one letter wrong 100% Surname first / word order swapped 100% A company name without its LTD/LLC/OAOsuffix93% A person without their middle name 84% Only the first two words of a long listed name 74% A single word ( Hezbollah,Gazprom)not matched at all A single word is deliberately never treated as "contained in" a longer listed name, because
Alialone would match dozens of unrelated people. Type the name as your records hold it — two words or more. -
Common personal names will hit. Screening 50 ordinary names on 2026-08-27 (30 large companies, 20 everyday personal names) produced 7 matches, every one of them a personal name —
Wei Zhang,Ali Hassan,Muhammad Aliand similar. None of the 30 company names produced a false hit. A person-name hit is a candidate to review, not a finding. -
It screens names. It does not check dates of birth, passport numbers or addresses, so a common name will produce matches you must review by hand.
-
It is not a full KYC or PEP check. There is no politically-exposed-persons list here, and no UK, Swiss, Canadian or Australian list yet. OFAC's SSI (non-SDN) list is not included either.
-
It reads the lists fresh on every run, which takes about 40 seconds for all three (57 MB). It does not tell you what changed since your last run.
-
A match is a candidate, not a legal determination. The
referenceon every match is the government's own record id, so you can open the source and decide.
Input
| Field | Default | What it does |
|---|---|---|
names | 3 sample names | One name per line, people or companies. Rows that are not text are returned with a note, and not charged |
sources | ofac, eu, un | Which lists to check. Repeats are ignored, and an id this Actor does not know is reported back to you rather than dropped |
minScore | 0.85 | Match threshold, 0.5–1.0 |
maxMatches | 10 | Matches returned per name, best first. hitCount still reports the true total |
maxRetries | 3 | Retries when a government server times out. A 404 is never retried |
Sources
| List | Publisher | Updated |
|---|---|---|
| SDN | US Department of the Treasury, OFAC | Almost daily — the copy read on 2026-08-27 was published 2026-08-26 |
| Financial Sanctions List (FSF) | European Commission | On regulation changes |
| Consolidated List | UN Security Council | On committee decisions |
All three are public government files, fetched directly. The exact version of each is written into every row, so an answer you filed six months ago can still be explained.
Other tools by NeverEmpty
Every NeverEmpty Actor follows the same rule: it never returns an empty result to mean two different things, and it only charges for rows that actually carry an answer.
- eu-tender-monitor - EU public tender notices from the official TED API
- domain-lookup - WHOIS, DNS, MX, SPF, DMARC and SSL expiry for a list of domains
- website-contacts - emails, phones and social profiles from any website, no invented addresses