Sanctions Screening API: OFAC, UK, EU & US export lists
Coming soon to the StoreAnswers "is this company, vessel or person sanctioned?" for one or many names, against the official OFAC SDN and non-SDN lists, the US Consolidated Screening List (Commerce Entity List, Denied Persons, State lists), the UK Sanctions List and the EU financial sanctions list. Every answer says which lists were checked and how current they were, and every match links to its official source. Built for AI agents doing KYB, compliance or procurement checks, and for people who need a quick, sourced screen.
Pricing (pay per event): $0.01 per name screened, match or no match. A run that cannot load any list fails and costs nothing.
Questions agents ask
- “Before we sign with these suppliers, check whether Sovcomflot or Novo Nordisk A/S are on any sanctions list, and cite the lists you checked.”
Example
Input
{ "names": ["Sovcomflot", "Huawei Technologies", "Petrel 8"], "entityType": "any", "minScore": 85 }Output
{
"schema_version": "1",
"query": "Sovcomflot",
"match_found": true,
"match_count": 3,
"best_score": 100,
"summary": "3 possible match(es) >= 85; best 100 'JOINT STOCK COMPANY SOVCOMFLOT' on the OFAC SDN List. A name match alone does not confirm identity: compare countries, identifiers and dates before acting.",
"matches": [
{
"list": "ofac_sdn",
"list_name": "OFAC SDN List",
"entry_id": "34741",
"listed_name": "JOINT STOCK COMPANY SOVCOMFLOT",
"matched_name": "JOINT STOCK COMPANY SOVCOMFLOT",
"matched_alias": false,
"match_type": "exact",
"score": 100,
"aliases": ["PAO SOVCOMFLOT", "JSC SOVCOMFLOT", "SCF GROUP", "SCF"],
"entity_type": "organization",
"programs": ["RUSSIA-EO14024", "UKRAINE-EO13662"],
"listing_date": null,
"end_date": null,
"countries": ["RU"],
"country_match": null,
"identifiers": [
{"type": "Tax ID No.", "value": "7702060116"},
{"type": "Registration Number", "value": "1027739028712"},
{"type": "Legal Entity Number", "value": "253400DYLWR5A6YAWJ69"}
],
"birth_dates": [],
"source_url": "https://sanctionssearch.ofac.treas.gov/Details.aspx?id=34741",
"list_version_date": "2026-11-05"
}
],
"warnings": [],
"min_score": 85,
"entity_type": "any",
"country": null,
"checked_at": "2026-11-05T21:47:49+00:00"
}What you get
| Field | Type | Meaning |
|---|---|---|
schema_version | string | Output schema version. |
query | string | The name as given. |
match_found | boolean | True when at least one listing scored >= min_score. |
match_count | integer | Number of listings at or above min_score (only the top 5 are in matches). |
best_score | integer | null | Highest score, null when nothing matched. |
summary | string | One sentence an agent can pass on: the best match, or 'No match >= N' with every list checked and its date. |
matches | array | Top 5 listings, best first (listings in other countries than country last). |
lists_checked | array | Every list this answer covers, with its publish date (version_date), when it was downloaded (fetched_at), its number of entries and the official file URL. |
warnings | array | Lists that could not be downloaded (not checked, or checked from an older cached copy), in plain words. |
min_score | integer | Threshold used. |
entity_type | string | Entity type filter used. |
country | string | null | Country used for ranking (ISO-2), or null. |
checked_at | string | When the screening ran (ISO 8601, UTC). |
Use with AI agents (MCP)
Add this URL to your MCP client (Claude, Cursor, VS Code, ...) to load the Actor as a tool through the Apify hosted MCP server. It signs you in with OAuth or accepts Authorization: Bearer <APIFY_TOKEN>. It works once the Actor is live on the Apify Store.
https://mcp.apify.com?tools=bosco_labs/sanctions-screening
For “Before we sign with these suppliers, check whether Sovcomflot or Novo Nordisk A/S are on any sanctions list, and cite the lists you checked.” the agent passes:
{ "names": ["Sovcomflot", "Novo Nordisk A/S"] }
one small row per name (typically 2-7 KB), stable snake_case fields, ISO dates, null for unknown. summary is one sentence the agent can repeat; match_found is the yes/no; lists_checked gives the dates for the citation. A cold run (lists downloaded fresh) takes about 15-20 seconds; runs within an hour of the last one reuse the parsed lists and take a few seconds.
Or call the Apify API: POST https://api.apify.com/v2/acts/bosco_labs~sanctions-screening/run-sync-get-dataset-items with the input as JSON body. Cost: $0.01 per name screened.
HTTP API
Also on the Bosco Labs HTTP API (beta, test mode): same input and same rows as the Actor, $0.01 per name screened from prepaid credits (max 50 names per call). Get a key with a $0.50 free trial; see prices and limits.
curl https://api.boscolabs.dev/v1/sanctions-screening \
-H "Authorization: Bearer $BOSCO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"names": ["Sovcomflot", "Novo Nordisk A/S"]}'
This product uses the International Trade Administration's Data API but is not endorsed or certified by the International Trade Administration. OFAC and CSL data are US government works. UK Sanctions List: contains public sector information licensed under the Open Government Licence v3.0. EU list: European Commission, names as published. No endorsement by any publisher is implied.
Input fields
| Field | Type | Meaning |
|---|---|---|
names | array (required) | Company, vessel or person names to check, one per entry, as plain text, e.g. ["Sovcomflot", "Novo Nordisk A/S", "Vladimir Putin"]. Legal forms (Ltd, LLC, GmbH, PJSC), accents, punctuation and word order are ignored. 1-200 names; each name gives one result row and one charge; repeats are screened once. Required. |
country | string | Country of the party you are screening, as an ISO 3166 alpha-2 code or English name, e.g. "RU" or "Russia". It never hides a match: listings that name other countries move to the end and get country_match false. Empty = no country ranking. |
entityType | string | Only return listings of this type, e.g. "organization". Default "any". Listings whose type the list does not state (the US Commerce and State lists) are always kept. |
minScore | integer | Lowest similarity score (0-100) that counts as a match, e.g. 85 (default). 100 = same name after normalisation; 90-99 = small spelling differences or the name inside a longer listed name; lower values find more variants and more false positives. Range 50-100. |
lists | array | Which lists to check, any of "ofac_sdn", "ofac_consolidated", "us_csl", "uk", "eu", e.g. ["ofac_sdn", "uk"]. Default (or empty) = all five. The price is the same for any number of lists. |
Sources, licence and limits
Is this legal advice or a compliance decision? No. It is a screening aid. Fuzzy name matching produces false positives (a namesake) and can miss a party listed under a spelling or script it doesn't recognise. Review every match against the official entry (source_url) before acting, and use your own judgement or counsel for decisions. Only the official publications are authoritative (for the EU, the Official Journal).
Which lists are covered?
| List | Publisher | Entries (2026-11-05) |
|---|---|---|
ofac_sdn OFAC Specially Designated Nationals | US Treasury | 19,555 |
ofac_consolidated OFAC non-SDN lists (SSI, NS-MBS, CMIC, PLC, ...) | US Treasury | 486 |
us_csl Consolidated Screening List: Entity List, Denied Persons, Unverified, Military End User (Commerce/BIS); ITAR debarred, Nonproliferation (State) | US ITA | 6,213 |
uk UK Sanctions List (replaced the OFSI list on 28 Jan 2026) | UK FCDO | 6,420 |
eu EU Consolidated Financial Sanctions List | European Commission | 6,269 |
The CSL's Treasury sub-lists are skipped because the same entries come from OFAC directly.
What is not covered? The UN Security Council list is not used directly (its terms don't allow redistribution), but UN designations are largely included in the UK and EU lists. National lists of other countries, PEPs (politically exposed persons), adverse media, ownership (the OFAC 50% rule: companies owned by listed parties are often not listed themselves) and EU sectoral or vessel annexes outside the financial sanctions list are not covered.
How fresh is it? Each run uses the lists as published at most 1 hour earlier; older copies are downloaded again. lists_checked shows each list's own publish date. Agencies publish on their own schedule (OFAC and the CSL often daily, the UK and EU when designations change).
Why is listing_date null for OFAC? OFAC's standard XML doesn't include designation dates (only its 110 MB "enhanced" file does). Check the OFAC entry page in source_url.
Personal data? The lists name individuals. This Actor serves only per-name screening results (at most 5 listings per name, no bulk export) for sanctions compliance, and keeps only the fields needed to confirm or rule out a match. See LEGAL.md.
Attribution. OFAC and CSL data are US government works. This product uses the International Trade Administration's Data API but is not endorsed or certified by the International Trade Administration. Contains public sector information licensed under the Open Government Licence v3.0 (UK Sanctions List). EU data: European Commission, Consolidated list of persons, groups and entities subject to EU financial sanctions; reformatted for matching, names as published. No endorsement by any publisher is implied.