OFAC Sanctions Screener (SDN + Consolidated, Fuzzy Match) avatar

OFAC Sanctions Screener (SDN + Consolidated, Fuzzy Match)

Pricing

Pay per event

Go to Apify Store
OFAC Sanctions Screener (SDN + Consolidated, Fuzzy Match)

OFAC Sanctions Screener (SDN + Consolidated, Fuzzy Match)

Bulk-screen people, companies and vessels against US Treasury OFAC SDN and Consolidated sanctions lists with fuzzy name and alias matching. Match score, programs, addresses, IDs. Also exports any sanctions program as a data feed. No API key.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Andres Barcelo

Andres Barcelo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

OFAC Sanctions Screener (SDN + Consolidated List, Fuzzy Name Match)

Screen people, companies, vessels and aircraft against the US Treasury OFAC sanctions lists in bulk. Paste a list of names and get, for every name, a clear match / no match result, a fuzzy match score (0-100) and the top candidate sanctioned records with their aliases, programs, addresses, countries, IDs and remarks. Covers the SDN list (Specially Designated Nationals and Blocked Persons) and the Consolidated (non-SDN) list (SSI, NS-MBS, FSE, CAPTA, NS-CMIC, NS-PLC...). Data is downloaded fresh from OFAC's official Sanctions List Service on every run. No API key, no subscription, no setup.

A second list mode turns the Actor into a sanctions data feed: export every record for a program such as RUSSIA-EO14024, SDGT, IRAN or DPRK3, filtered by type and country.

What it does

  • Downloads the current OFAC SDN and Consolidated lists (names, aliases a.k.a./f.k.a./n.k.a., addresses, remarks) directly from sanctionslistservice.ofac.treas.gov
  • Normalizes names: case, punctuation, diacritics (é -> e), token order ("PUTIN, Vladimir" = "Vladimir Putin") and company legal forms (LLC, Ltd, GmbH, OOO, PJSC, S.A....)
  • Fuzzy matches each input name against every primary name and alias using RapidFuzz (token sort ratio by default; WRatio and token set optional), so spelling and transliteration variants are caught
  • Returns one dataset row per screened name, ready for CSV/Excel/JSON export, API, webhooks, Zapier, Make or n8n
  • Optional filters: entity type (individual, entity, vessel, aircraft), country (address, nationality, citizenship, vessel flag), sanctions program
  • Merges records that appear on both lists and shows onLists so you know exactly where a hit comes from

Use cases

  • KYC / AML onboarding: screen new customers, beneficial owners and directors before account opening
  • Vendor and supplier onboarding: third-party due diligence and procurement compliance
  • Payments, fintech and crypto: batch-screen counterparties, merchants and payees
  • Export control and trade compliance: check consignees, shipping companies and vessels (IMO numbers appear in remarks)
  • Periodic re-screening: schedule a daily or weekly run over your customer base to catch new designations
  • Data feeds: pull all RUSSIA-EO14024 or SDGT designations into your own database, BI tool or AI agent (MCP)

Input

FieldDescription
modescreen (default) or list
namesNames to screen (people, companies, vessels, aircraft), any order or format
minScoreMatch threshold 50-100, default 85
maxMatchesPerNameCandidate records returned per name, default 5
matchAlgorithmtoken_sort (default), wratio or token_set
includeAliasesMatch against aliases too (default true)
listsSDN, CONSOLIDATED (default both)
entityTypesOptional filter: individual, entity, vessel, aircraft
countriesOptional filter, e.g. Russia, Iran, Venezuela
programsOptional filter in screen mode, main selector in list mode, e.g. RUSSIA-EO14024
maxRecordsList mode cap, default 1000

Screening example:

{"names": ["Banco Nacional de Cuba", "Vladimir Putin", "Rosneft Trading", "Acme Widgets LLC"], "minScore": 85}

Data feed example (list mode):

{"mode": "list", "programs": ["RUSSIA-EO14024"], "entityTypes": ["vessel"], "maxRecords": 500}

Output

Screen mode, one row per input name:

{
"query": "Vladimir Putin",
"matched": true,
"bestScore": 100,
"bestMatchName": "PUTIN, Vladimir Vladimirovich",
"bestMatchPrograms": ["RUSSIA-EO14024"],
"matchCount": 2,
"topMatches": [{
"score": 100, "name": "PUTIN, Vladimir Vladimirovich", "matchedName": "PUTIN, Vladimir Vladimirovich", "matchedOn": "primary",
"type": "individual", "programs": ["RUSSIA-EO14024"], "list": "SDN", "onLists": ["SDN"], "uid": 35096,
"countries": ["Russia"], "addresses": [{"address": "Kremlin", "cityStatePostal": "Moscow", "country": "Russia"}], "aliases": ["PUTIN, Vladimir"],
"remarks": "DOB 07 Oct 1952; POB Leningrad, Russia; nationality Russia; Gender Male; ..."
}],
"threshold": 85, "listsChecked": ["SDN", "CONSOLIDATED"], "listFileDate": "2026-10-16", "screenedAt": "2026-10-20T15:18:30+00:00"
}

A clean name returns "matched": false, "bestScore": 0 and an empty topMatches array, which is your documented evidence that the name was screened.

List mode returns full sanctions records: uid, name, type, programs, onLists, aliases (with type), addresses, countries, remarks (DOB, POB, passports, tax IDs, IMO numbers, linked entities), title, callSign, vesselType, vesselFlag, vesselOwner, tonnage.

Pricing

Pay only for what you use (pay per event):

  • $3 per 1,000 names screened ($0.003 per name), whether or not it matches
  • $1 per 1,000 sanctions records returned in list mode ($0.001 per record)

No monthly fee. Screening 100 vendors costs $0.30.

FAQ

How fresh is the data? Every run downloads the latest files OFAC publishes, and each row includes listFileDate, the publication date of the files used.

What score threshold should I use? 85 is a common starting point. Lower it to 80 for more transliteration variants (Arabic, Cyrillic and Korean names), raise it to 90+ to reduce false positives. Always review potential matches manually using DOB, nationality, addresses and IDs in remarks.

Does it match aliases? Yes. Every a.k.a., f.k.a. (formerly known as) and n.k.a. (now known as) alias is matched; matchedName and matchedOn show which one hit.

Can I screen vessels? Yes. Vessel names, call signs, flags, owners and IMO numbers (in remarks) are included; use entityTypes: ["vessel"].

Does it cover EU, UK or UN sanctions? No, this Actor covers US OFAC lists (SDN and Consolidated non-SDN) only.

Can I run it on a schedule or via API? Yes, use Apify Schedules, the Apify API, webhooks or integrations (Zapier, Make, n8n, Google Sheets) to re-screen automatically.

Disclaimer

This Actor is a screening aid, not legal advice and not a substitute for a compliance program. Fuzzy matching can produce false positives and false negatives; a match is a potential match that must be reviewed by a qualified person, and a non-match does not guarantee a party is not sanctioned (OFAC's 50% rule, ownership and control, and other lists are not covered). Always confirm results with the official OFAC Sanctions List Search (sanctionssearch.ofac.treas.gov). Data comes from the US Department of the Treasury, Office of Foreign Assets Control (public domain). Not affiliated with or endorsed by OFAC or the US Treasury.