OFAC SDN Sanctions Screener — Name Matching
Pricing
$20.00 / 1,000 sdn match returneds
OFAC SDN Sanctions Screener — Name Matching
Screen names against OFAC SDN (Specially Designated Nationals) — the primary US sanctions list. Joins sdn.csv + alt.csv + add.csv for full names, aliases, addresses. Returns matches with similarity score, programs, type, addresses. Daily-refreshed from treasury.gov. No auth.
Screen any list of names against the OFAC SDN list — Specially Designated Nationals and Blocked Persons, the primary US sanctions list maintained by Treasury. ~13,000 entities. Joins sdn.csv + alt.csv + add.csv for full names, aliases, addresses.
Built for KYC / compliance / AML / sanctions screening workflows. No login, no API key — pulls fresh files from treasury.gov on each run.
Two modes
screen (default) — name matching
{"mode": "screen","names": ["John Smith", "Acme Trading Co"],"minScore": 60}
Output: one row per match per input name. Includes match score (0-100) for downstream thresholding.
dump — full list export
{ "mode": "dump" }
Output: one row per SDN entity. Use for ETL or building your own screening logic.
Inputs
| input | default | notes |
|---|---|---|
mode | screen | screen or dump. |
names | [] | Required when mode=screen. |
minScore | 60 | Drop matches below this. 100 = exact only. |
typesFilter | all | Restrict by entity type: Individual, Entity, Vessel, Aircraft. |
programsFilter | all | Restrict to specific OFAC programs: IRAN, RUSSIA-EO14024, SDGT, NARCOTICS, CUBA, etc. |
Output schema
| field | example |
|---|---|
| inputName | John Smith (screen mode only) |
| matchScore | 82 (screen mode only) |
| matchKind | alt_name_substring |
| matchedName | Johnny Smith (screen mode only) |
| entityNumber | 12345 |
| name | canonical SDN name |
| type | Individual |
| programs | ["IRAN", "SDGT"] |
| title | (when present) |
| altNames | [{"type": "aka", "name": "..."}, ...] |
| addresses | [{"address": "...", "cityState": "...", "country": "..."}] |
| remarks | (when present) |
| vesselType | Tanker (when type=Vessel) |
| callSign | (when applicable) |
| tonnage | (when applicable) |
| vesselFlag | (when applicable) |
| vesselOwner | (when applicable) |
Scoring
Deterministic, no ML:
- Exact normalized name → 100
- Exact alt-name → 95
- Input is substring of name → 90
- Name is substring of input → 80
- Token overlap (Jaccard) → up to 75
Normalization: lowercase, strip punctuation, collapse whitespace.
What it doesn't do
- No EU / UN / UK / Canada / OFSI lists — OFAC SDN only. Other US lists (SSI, Entity List, MEU, ...) and EU/UN will be separate actors.
- No fuzzy / phonetic / NLP matching — deterministic scoring only.
- No "false positive flag" — that's your analyst's call.
Maintained by
vøiddo studio — small independent shop.