Sanctions Screening — OFAC, BIS, EU, UN + 9 Jurisdictions
Sanctions Screening — OFAC, BIS, EU, UN + 9 Jurisdictions
Unified sanctions screening across 16 government restricted-party lists from 9 jurisdictions. Three operating modes: bulk ingest, fuzzy-match query screening, and daily diff of new designations.
Built for banks, fintech companies, crypto exchanges, insurance firms, exporters, and compliance teams that need multi-jurisdiction coverage in a single actor run.
Covered Sources
United States
| List Key | Source | Entities |
|---|---|---|
OFAC_SDN |
OFAC Specially Designated Nationals | ~19,000 |
OFAC_CONS |
OFAC Consolidated Sanctions List | ~1,900 |
BIS_DPL |
BIS Denied Persons List | ~994 |
BIS_EL |
BIS Entity List | ~2,918 |
BIS_MEU |
BIS Military End User List | ~400 |
DDTC |
DDTC Debarred Persons & Entities | ~1,500 |
CSL |
trade.gov Consolidated Screening List | ~30,151 |
United Kingdom
| List Key | Source | Entities |
|---|---|---|
UK_FCDO |
FCDO UK Sanctions List | ~6,177 |
OFSI |
OFSI HMT Financial Sanctions | ~19,761 |
Other Jurisdictions
| List Key | Jurisdiction | Source | Entities |
|---|---|---|---|
EU_FSF |
EU | EU Financial Sanctions File | ~15,165 |
UN_SC |
UN | UN Security Council Consolidated | ~1,009 |
CA_SEMA |
Canada | Global Affairs Canada SEMA | ~10,953 |
CA_OSFI |
Canada | OSFI Listed Terrorists | ~177 |
AU_DFAT |
Australia | DFAT Consolidated | ~8,990 |
CH_SECO |
Switzerland | SECO Sanctions | ~16,608 |
JP_METI |
Japan | METI End User List | ~1,659 |
IL_NCI |
Israel | NCI/CTF Designated Terrorists | ~2,061 |
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode |
string | ingest_lists |
Operating mode (see below) |
lists |
array | all | List keys to include (e.g. OFAC_SDN, EU_FSF) |
jurisdictions |
array | all | Filter by jurisdiction (e.g. US, EU, UN) |
queries |
array | — | Names to screen (screen_queries mode) |
minMatchScore |
integer | 75 | Minimum fuzzy match score 0-100 |
includeAliases |
boolean | true | Match against alias names |
maxItems |
integer | 1000 | Maximum records to output |
Modes
ingest_lists — Downloads all selected lists and outputs full normalized records. Use for initial data load or scheduled refreshes.
screen_queries — Fuzzy-matches each name in queries against all selected lists. Returns matches with match_score, match_field, and match_reason. Score 0-100; threshold set by minMatchScore.
new_designations_diff — Compares current list state against the previous run (stored in key-value store). Outputs only newly added entities. Use for daily monitoring.
Output
Each record contains:
| Field | Type | Description |
|---|---|---|
source_list |
string | List key (e.g. OFAC_SDN, EU_FSF) |
source_list_id |
string | Native ID within the source list |
source_information_url |
string | URL of the source list page |
jurisdiction |
string | Jurisdiction code (US, UK, EU, UN, CA, AU, CH, JP, IL) |
primary_name |
string | Primary name of the sanctioned entity |
alias_names |
array | Alternate names / aliases |
entity_type |
string | Individual, Entity, Vessel, or Aircraft |
nationalities |
array | Nationality strings |
citizenship |
array | Citizenship strings |
date_of_birth |
string | Date of birth (individuals) |
place_of_birth |
string | Place of birth (individuals) |
addresses |
array | Address strings |
identifying_documents |
array | Passport, ID, registration numbers |
sanctions_programs |
array | Program codes (e.g. SDGT, IRAN) |
designation_date |
string | Date first designated |
remarks |
string | Additional notes from source list |
vessel_details |
string | Call sign, IMO number (vessel entities) |
scraped_at |
string | ISO timestamp of fetch |
In screen_queries mode, additional fields are present:
| Field | Type | Description |
|---|---|---|
query_term |
string | The query string screened |
match_score |
number | Fuzzy similarity score 0-100 |
match_field |
string | Which field matched (primary_name or alias) |
match_reason |
string | Human-readable match explanation |
Example Inputs
KYC/AML name screening:
{
"mode": "screen_queries",
"queries": ["Vladimir Potanin", "Alisher Usmanov"],
"minMatchScore": 80,
"maxItems": 50,
"sp_intended_usage": "KYC compliance screening",
"sp_improvement_suggestions": "None"
}
Daily monitoring for new designations:
{
"mode": "new_designations_diff",
"jurisdictions": ["US", "EU", "UN"],
"sp_intended_usage": "Daily sanctions monitoring",
"sp_improvement_suggestions": "None"
}
Initial bulk load — US lists only:
{
"mode": "ingest_lists",
"jurisdictions": ["US"],
"maxItems": 0,
"sp_intended_usage": "Initial data load for compliance database",
"sp_improvement_suggestions": "None"
}
Data Sources
All data is sourced from official government publications:
- US Treasury OFAC — direct XML download
- UK FCDO and OFSI — direct XML download
- UN Security Council — direct XML download
- EU FSF, BIS lists, DDTC, Canada, Australia, Switzerland, Japan, Israel — via OpenSanctions (Apache 2.0 licensed, derived from official government sources)
All sources are freely available government sanctions lists intended for regulatory compliance screening.