The problem
Anyone onboarding clients, running KYC/KYB, or vetting a new counterparty needs a sanctions check before money or goods move. Doing it by hand means downloading the US Treasury OFAC SDN list and the EU consolidated list, then string-matching each name — including the alias spellings that sanctioned parties are actually listed under.
Commercial screening tools (the README names Refinitiv World-Check, Dow Jones and ComplyAdvantage) run hundreds to thousands of dollars a month and are built for compliance teams, not for a one-off check or a lightweight internal tool. Yet the underlying data — OFAC's own SDN.CSV and ALT.CSV exports and the EU's public CSV export — is free and public.
What the actor does
The Sanctions Screening API screens up to 100 person or company names against both official lists, fetched fresh at the start of every run — never a stale cache. Per the README:
-
Two official lists, screened together: OFAC SDN (primary names plus OFAC's published a.k.a./f.k.a./n.k.a. aliases) and the EU consolidated financial sanctions list (names and aliases), straight from
sanctionslistservice.ofac.treas.govandwebgate.ec.europa.eu— no unofficial mirrors. -
Explainable matching. Names are normalized (uppercase, diacritics stripped, punctuation removed) and scored by token overlap: the fraction of the query's words found in a candidate's primary name or any alias. The default
minScore: 0.5is deliberately soft — a missed hit is worse than a false one — and tunable. - Ranked candidates, not one silent guess. Up to 25 candidates above the threshold, each with list attribution, entity type, sanction program(s), the matched name, whether the hit came via a primary name or an alias, and the score.
-
Honest partial coverage. If one list fails to load, every row carries
listsComplete: false, and a "no match" verdict in that state is not billed — an unverifiable clean result is free. If both lists fail, every name returnsfound: falseand nothing is charged.
The README is blunt about the boundary: this is a preliminary screening tool that builds the human review list, not a compliance determination, legal advice, identity verification or sanctions clearance. Every row carries that disclaimer and safeToAutomate: false.
Example: input and output
{
"names": ["Rosneft", "ROSNEFT"],
"minScore": 0.5,
"maxConcurrency": 1
}
A real row from a real run, quoted from the README (matches trimmed to the top entries):
{
"input": "Yevgeniy Prigozhin",
"found": true,
"match": true,
"matchCount": 25,
"matches": [
{ "listName": "OFAC SDN", "entityName": "PRIGOZHIN, Yevgeniy Viktorovich", "entityType": "individual", "program": "UKRAINE-EO13661, CYBER2, ELECTION-EO13848, RUSSIA-EO14024", "matchedNameType": "primary", "score": 1 },
{ "listName": "EU Consolidated", "entityName": "Yevgeniy Viktorovich PRIGOZHIN", "entityType": "individual", "program": "UKR", "matchedNameType": "primary", "score": 1 },
{ "listName": "OFAC SDN", "entityName": "BALYTSKYI, Yevhen Vitaliiovych", "entityType": "individual", "program": "RUSSIA-EO14024", "matchedName": "BALITSKIY, Yevgeniy", "matchedNameType": "aka", "score": 0.5 }
],
"highestScore": 1,
"matchedName": "PRIGOZHIN, Yevgeniy Viktorovich",
"matchedNameType": "primary",
"listsChecked": ["OFAC SDN", "EU Consolidated"],
"listsComplete": true,
"disclaimer": "Screening signal only — NOT a legal/compliance determination; verify against official sources.",
"checkedAt": "2026-07-26T15:09:32.370Z"
}
Pricing and the free limit
Pay-per-event: $0.005 per run start plus $0.005 per delivered screening row. Normalized duplicates, source-failure advisories, and incomplete no-match rows are not result-billed. A run delivering 100 screened names costs $0.005 + 100 × $0.005 = $0.505. Apify's free plan gives $5 of usage credits per month, so $5 covers about 9 such runs — roughly 900 screened names.
Try it
Paste names one per row, press Start, and route the ranked matches to a human reviewer: Sanctions Screening API
For AI agents and MCP
A standard Apify actor with JSON input and structured rows, callable from the Apify API, the SDKs, or the hosted Apify MCP server documented in the README. An agent can branch on found, match and listsComplete — and must treat every match: true as a review candidate with matchedNameType, programs and source lists attached, never as an automated "blocked" verdict.
Top comments (0)