OFAC Sanctions Screener - Compliance Check avatar

OFAC Sanctions Screener - Compliance Check

Pricing

$10.00 / 1,000 entity screeneds

Go to Apify Store
OFAC Sanctions Screener - Compliance Check

OFAC Sanctions Screener - Compliance Check

Screen companies, individuals, vessels against the US Treasury OFAC SDN sanctions list. Fuzzy matching with confidence scores, risk levels, aliases, and addresses. Batch screen hundreds of entities for KYC/AML, import/export compliance, and due diligence. Works with AI agents via MCP.

Pricing

$10.00 / 1,000 entity screeneds

Rating

0.0

(0)

Developer

George Kioko

George Kioko

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

13 hours ago

Last modified

Share

Apify Actor OFAC SDN OpenSanctions Pay Per Event Node.js Fuse.js

Screen companies, individuals, vessels, and aircraft against the US Treasury OFAC SDN sanctions list with intelligent fuzzy matching. Optionally cross-reference against 40+ international sanctions lists via OpenSanctions (EU, UN, UK, and more).

Built for compliance teams, fintech platforms, and AI agents that need real-time sanctions screening without maintaining their own sanctions infrastructure. Enterprise tools charge $5,000-$100,000+/year -- this does the same job at $0.01 per entity.


How It Works

flowchart LR
A["Entity Names"] --> B["Download SDN List\n(US Treasury XML)"]
B --> C["Fuzzy Match\n(Fuse.js)"]
C --> D{OpenSanctions\nEnabled?}
D -- Yes --> E["OpenSanctions API\n(40+ Lists)"]
D -- No --> F["Risk Report"]
E --> F
style A fill:#4A90D9,color:#fff
style B fill:#D94A4A,color:#fff
style C fill:#D98A4A,color:#fff
style E fill:#8A4AD9,color:#fff
style F fill:#4AD97A,color:#fff
  1. Input your entity names (person, company, vessel, or aircraft)
  2. Live SDN data is downloaded directly from the US Treasury (treasury.gov) -- 18,000+ sanctioned entities
  3. Fuzzy matching via Fuse.js catches misspellings, transliterations, and aliases
  4. OpenSanctions (optional) extends coverage to EU, UN, UK, and 40+ other lists
  5. Risk report returned with match scores, programs, and sanction details

Architecture

graph TB
subgraph Input
Q["Entity Names Array"]
T["Match Threshold\n(40-100)"]
ET["Entity Type Filter"]
OPT["Options\n(aliases, OpenSanctions)"]
end
subgraph "OFAC SDN Pipeline"
DL["Download SDN XML\n(treasury.gov/ofac)"]
PARSE["fast-xml-parser\nXML to JSON"]
STRIP["Strip Business Suffixes\n(Inc, LLC, Corp)"]
INDEX["Build Fuse.js\nSearch Index"]
MATCH["Fuzzy Match\nAll Entities"]
end
subgraph "OpenSanctions (Optional)"
OS_API["OpenSanctions API\n(EU, UN, UK, 40+)"]
OS_MERGE["Merge & Deduplicate\nResults"]
end
subgraph "Output"
SCORE["Confidence Scores\n(0-100)"]
RISK["Risk Level\nCRITICAL / HIGH / MEDIUM / LOW / CLEAR"]
PROGRAMS["Sanctioned Programs\n& Entity Details"]
end
Q --> DL
T --> INDEX
ET --> MATCH
OPT --> MATCH
DL --> PARSE --> STRIP --> INDEX --> MATCH
MATCH --> OS_API --> OS_MERGE --> SCORE
MATCH --> SCORE
SCORE --> RISK --> PROGRAMS
style DL fill:#D94A4A,color:#fff
style PARSE fill:#D98A4A,color:#fff
style INDEX fill:#4A90D9,color:#fff
style MATCH fill:#4AD97A,color:#fff
style OS_API fill:#8A4AD9,color:#fff
style RISK fill:#D94A6A,color:#fff

AI Agent Integration

Integrate sanctions screening directly into your AI agent workflows, compliance pipelines, or payment systems. Compatible with the Apify MCP Server so AI agents (Claude, GPT, CrewAI, LangChain) can discover and run it automatically.

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('george.the.developer/ofac-sanctions-screener').call({
queries: ['Sberbank of Russia', 'Kim Jong Un', 'Rosneft Oil Company'],
matchThreshold: 70,
entityType: 'all',
includeOpenSanctions: true,
maxMatchesPerQuery: 5,
includeAliases: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
console.log(`${item.queryName}: ${item.riskLevel} (${item.matchConfidence}% confidence)`);
}

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("george.the.developer/ofac-sanctions-screener").call(run_input={
"queries": ["Sberbank of Russia", "Kim Jong Un", "Rosneft Oil Company"],
"matchThreshold": 70,
"entityType": "all",
"includeOpenSanctions": True,
"maxMatchesPerQuery": 5,
"includeAliases": True,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
for item in items:
print(f"{item['queryName']}: {item['riskLevel']} ({item['matchConfidence']}% confidence)")

cURL

# Start the screening run
curl -X POST \
"https://api.apify.com/v2/acts/george.the.developer~ofac-sanctions-screener/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"queries": ["Sberbank of Russia", "Kim Jong Un", "Bank Melli Iran"],
"matchThreshold": 70,
"entityType": "all",
"includeOpenSanctions": false,
"maxMatchesPerQuery": 5,
"includeAliases": true
}'
# Retrieve results from the dataset
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN"

Input Schema

erDiagram
INPUT {
string_array queries "Entity names to screen (required)"
integer matchThreshold "40-100, default 70"
string entityType "all | individual | entity | vessel | aircraft"
boolean includeOpenSanctions "Cross-ref 40+ international lists"
integer maxMatchesPerQuery "1-25, default 5"
boolean includeAliases "Include known aliases in matching"
}
ParameterTypeRequiredDefaultDescription
queriesstring[]Yes--Array of entity names to screen (company, person, vessel, aircraft)
matchThresholdintegerNo70Fuzzy match sensitivity (40 = loose, 100 = exact). Lower values catch more transliterations.
entityTypestringNo"all"Filter by entity type: all, individual, entity, vessel, aircraft
includeOpenSanctionsbooleanNofalseCross-reference against 40+ international sanctions lists (EU, UN, UK, etc.)
maxMatchesPerQueryintegerNo5Maximum matches returned per query (1-25)
includeAliasesbooleanNotrueInclude known aliases and alternate names in matching

Example Input

{
"queries": [
"Sberbank of Russia",
"Kim Jong Un",
"Iranian Revolutionary Guard",
"Rosneft Oil Company",
"Bank of Syria"
],
"matchThreshold": 70,
"entityType": "all",
"includeOpenSanctions": true,
"maxMatchesPerQuery": 5,
"includeAliases": true
}

Output Schema

Each entity in the output contains match results with confidence scores, program details, and risk indicators.

erDiagram
RESULT {
string queryName "Original search term"
string matchedName "Sanctioned entity name"
integer matchConfidence "Similarity score 0-100"
string riskLevel "CRITICAL | HIGH | MEDIUM | LOW | CLEAR"
string sanctionsList "OFAC SDN or OpenSanctions"
string entityType "individual | entity | vessel | aircraft"
string_array programs "Sanctions program codes"
string_array aliases "Known alternative names"
string source "Data source identifier"
}
RESULT ||--o{ ADDRESS : has
RESULT ||--o{ ID_DOCUMENT : has
ADDRESS {
string city "City name"
string country "Country name"
}
ID_DOCUMENT {
string type "Passport, Tax ID, etc"
string number "Document number"
}

Match Found (Sanctioned Entity)

{
"queryName": "Bank Melli Iran",
"matchedName": "BANK MELLI IRAN",
"matchConfidence": 100,
"sanctionsList": "OFAC SDN",
"entityType": "entity",
"sdnUid": 25578,
"programs": ["IFSR", "IRAN", "SDGT"],
"aliases": ["BANK MELLI", "MELLI BANK", "NATIONAL BANK OF IRAN", "BMI"],
"addresses": [{ "city": "Tehran", "country": "Iran" }],
"riskLevel": "CRITICAL",
"sdnListDate": "03/09/2026",
"screenedAt": "2026-03-11T12:00:00.000Z",
"source": "US Treasury OFAC SDN List"
}

No Match (Clear Entity)

{
"queryName": "Apple Inc",
"matchedName": null,
"matchConfidence": 0,
"riskLevel": "CLEAR",
"result": "NO_MATCH",
"message": "No sanctions matches found for \"Apple Inc\" above 70% confidence threshold.",
"source": "US Treasury OFAC SDN List"
}

Use Cases

mindmap
root((OFAC\nScreening))
KYC
Customer Onboarding
Identity Verification
Ongoing Monitoring
AML
Transaction Screening
Wire Transfer Checks
Suspicious Activity Reports
Payments
Cross-border Payments
Crypto Compliance
Payment Gateway Checks
Trade Compliance
Export Controls
Shipping & Vessel Screening
Freight Forwarder Checks
Due Diligence
M&A Target Screening
Vendor & Supplier Vetting
Investor Background Checks
Use CaseWhoWhy
KYC/AML OnboardingBanks, fintech, payment processorsScreen customers at onboarding. Batch-screen hundreds in one run.
Import/Export ComplianceLogistics, freight, trade companiesScreen suppliers, buyers, and freight forwarders. OFAC penalties reach $20M per violation.
Due DiligenceLaw firms, PE/VC, corporate devVerify partners, investors, or acquisition targets before signing.
Supply Chain MonitoringEnterprise, manufacturingMonitor your entire supplier network. Run daily to catch new designations.
AI Agent PipelinesDevelopers, automation teamsAutomated compliance checks embedded in LLM-powered workflows via MCP.
Crypto ComplianceExchanges, DeFi platformsScreen wallets, counterparties, and entities for OFAC compliance.

High-Risk Programs Tracked

Program CodeTargetDescription
IRANIranComprehensive Iranian sanctions
IFSRIranIran Financial Sanctions Regulations
RUSSIA-EO14024RussiaRussia-related sanctions (Executive Order 14024)
SYRIASyriaSyrian sanctions
DPRKNorth KoreaDemocratic People's Republic of Korea sanctions
UKRAINE-EO13661Russia/UkraineUkraine/Russia-related sanctions (EO 13661)

Pricing

$0.01 per entity screened via Apify's pay-per-event model.

VolumeCostPer Entity
10 entities$0.10$0.01
100 entities$1.00$0.01
1,000 entities$10.00$0.01
10,000 entities$100.00$0.01

No monthly fees. No minimum commitment. Pay only for what you screen.

Platform costs (Apify compute + storage) are charged separately at negligible rates for this actor.


Integrations

graph LR
subgraph "Data Sources"
OFAC["US Treasury\nOFAC SDN\n(18,000+ entities)"]
OS["OpenSanctions\n40+ International\nLists"]
end
subgraph "Sanctions Screener"
ACTOR(("george.the.developer/\nofac-sanctions-screener"))
end
subgraph "Connect Via"
API["REST API"]
JS["JavaScript SDK"]
PY["Python SDK"]
MCP["MCP Server\n(AI Agents)"]
WH["Webhooks"]
ZAP["Zapier"]
MAKE["Make"]
end
subgraph "Your Systems"
CRM["CRM / KYC\nPlatform"]
PAY["Payment\nGateway"]
ERP["ERP / Trade\nCompliance"]
AI["AI Agents\n(Claude, GPT)"]
SLACK["Slack / Teams\nAlerts"]
end
OFAC --> ACTOR
OS --> ACTOR
ACTOR --> API
ACTOR --> JS
ACTOR --> PY
ACTOR --> MCP
ACTOR --> WH
ACTOR --> ZAP
ACTOR --> MAKE
API --> CRM
JS --> PAY
PY --> AI
MCP --> AI
WH --> ERP
ZAP --> SLACK
MAKE --> CRM
style ACTOR fill:#4A90D9,color:#fff,stroke:#2A70B9
style OFAC fill:#D94A4A,color:#fff
style OS fill:#8A4AD9,color:#fff

FAQ


Data Sources


Support

Found a bug or have a feature request? Reach out on the Apify platform or open an issue.