Sanctions Screening API - OFAC, EU, UN Consolidated Lists avatar

Sanctions Screening API - OFAC, EU, UN Consolidated Lists

Pricing

$5.00 / 1,000 name screeneds

Go to Apify Store
Sanctions Screening API - OFAC, EU, UN Consolidated Lists

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

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

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:

FieldMeaning
queryThe name you gave
hitCountHow many matches were found, 0 included. This is the number found, not the number returned
matchesThe best maxMatches of them. If more were found, reason says so
topScoreBest match score, 0 when nothing matched
each matchlistedName, matchedName, matchType, score, source, programs, countries, listedOn, reference
listVersionsThe 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 / listsUnavailableWhich 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 reason names the lists it was NOT checked against. It never says "every list".

matchType says how it matched, not just that it did

ValueMeaning
exact-name / exact-aliasAfter normalisation, the strings are identical
reordered-name / reordered-aliasSame words, different order — HUSSEIN SADDAM against the alias SADDAM HUSSEIN
contained-name / contained-aliasEvery word you typed appears in the listed name, which has one or two more — Nicolas Maduro against Nicolas MADURO MOROS
fuzzy-name / fuzzy-aliasClose 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 typeIt findsHow
Saddam Hussein Al-Tikriti21 records, the three exact-name ones firstexact name, then aliases and relatives
Abu Ali27 records — it is a very common alias, and every one of them is returned with its own scorealias
HUSSEIN SADDAMThe same personreordered
aero caribbeanAEROCARIBBEAN AIRLINESalias, spacing
Sadam HuseinSADDAM HUSSEINmisspelled, score 0.857
Bank Meli IranBANK MELLI IRAN, and the EU's Bank Mellimisspelled, both lists
김동운KIM Tong-unKorean script
ΧαμάςHamasGreek script
صدام حسين التكريتيSADDAM HUSSEIN AL-TIKRITIArabic original script, from the UN list
Dorde Vukovicmatches records written Đorđe VukovićLatin-extended letters folded
Nicolas MaduroNicolas MADURO MOROSmiddle name missing
Toyota Motor Corporationnothingcorrectly clean
John Smithnothingcorrectly 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.51.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 typeFound
    The listed name as published100%
    The listed name with one letter wrong100%
    Surname first / word order swapped100%
    A company name without its LTD / LLC / OAO suffix93%
    A person without their middle name84%
    Only the first two words of a long listed name74%
    A single word (Hezbollah, Gazprom)not matched at all

    A single word is deliberately never treated as "contained in" a longer listed name, because Ali alone 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 nameWei Zhang, Ali Hassan, Muhammad Ali and 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 reference on every match is the government's own record id, so you can open the source and decide.

Input

FieldDefaultWhat it does
names3 sample namesOne name per line, people or companies. Rows that are not text are returned with a note, and not charged
sourcesofac, eu, unWhich lists to check. Repeats are ignored, and an id this Actor does not know is reported back to you rather than dropped
minScore0.85Match threshold, 0.51.0
maxMatches10Matches returned per name, best first. hitCount still reports the true total
maxRetries3Retries when a government server times out. A 404 is never retried

Sources

ListPublisherUpdated
SDNUS Department of the Treasury, OFACAlmost daily — the copy read on 2026-08-27 was published 2026-08-26
Financial Sanctions List (FSF)European CommissionOn regulation changes
Consolidated ListUN Security CouncilOn 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