OpenSanctions Sanctions & Watchlist Screener avatar

OpenSanctions Sanctions & Watchlist Screener

Pricing

from $2.00 / 1,000 results

Go to Apify Store
OpenSanctions Sanctions & Watchlist Screener

OpenSanctions Sanctions & Watchlist Screener

Screen entity names and crypto wallet addresses against sanctions and watchlists: OFAC SDN by default plus EU, UK, UN and 470+ more lists. Each match comes with the list, confidence tier, programs, authorities and source links; every query that finds nothing gets an audit row.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Sanctions & AML Screening with OpenSanctions Data

Quick Start

Screen entity names and crypto wallet addresses against sanctions and watchlists — OFAC SDN by default, plus EU, UK, UN, and 470+ more datasets. Built for AML checks, counterparty due diligence, and compliance audits. Start with:

{"queries": ["VTB Bank", "Lazarus Group", "0xE950DC316b836e4EeFb8308bf32Bf7C72a1358FF"], "datasets": ["us_ofac_sdn"]}

Screened against OpenSanctions official bulk data — no account or API key required.

What you get

  • One record per matched name or address: which lists matched, match confidence, programs, authorities, sanction reasons, and source URLs.
  • An explicit no-match audit row for every query that found nothing — each query is accounted for.
  • List data is downloaded once and reused by subsequent runs, refreshed on the schedule you set.

Input

NameTypeDefaultWhat it does
queriesarrayrequired1–500 entity names and/or crypto addresses (BTC/ETH/TRON/USDT/…).
datasetsarray["us_ofac_sdn"]Up to 8 OpenSanctions datasets, e.g. us_trade_csl, eu_fsf, gb_fcdo_sanctions, un_sc_sanctions, or the consolidated sanctions merge.
maxDatasetAgeHoursinteger168Reuse cached list data younger than this many hours; re-download when older.
includeAliasesbooleantrueAlso match known aliases / AKAs of listed entities.

Output

Dataset fields: recordKey, query, queryType (name/address), match, confidence (exact/alias/address), matchedName, caption, targetType (Person, LegalEntity, Company, Organization, Vessel, CryptoWallet, Airplane), lists, countries, topics, programs, authorities, sanctions (per-list designation details with source URLs), sourceUrl, entityUrl (the OpenSanctions profile page), publicKey, currency, holderName, datasetsMeta (dataset provenance incl. upstream build time), screenedAt.

Example record:

{"recordKey":"os:vtb-bank:NK-223CQDBzp8MRkdJMDiqXn3","source":"opensanctions-bulk","kind":"sanctions_screen","query":"VTB Bank","queryType":"name","match":true,"confidence":"exact","matchedName":"VTB Bank","caption":"Bank VTB Publichnoe Aktsionernoe Obshchestvo","targetType":"Organization","lists":["us_ofac_sdn","eu_fsf"],"countries":["ru"],"topics":["sanction"],"programs":["US-UKRRUS-REL"],"sanctions":[{"program":"US-UKRRUS-REL","authority":["Office of Foreign Assets Control"],"sourceUrl":["https://sanctionssearch.ofac.treas.gov/Details.aspx?id=17013"]}],"entityUrl":"https://www.opensanctions.org/entities/NK-223CQDBzp8MRkdJMDiqXn3","screenedAt":"2026-10-02T00:00:00Z"}

The run summary in the default key-value store reports status, per-dataset freshness, matched and unmatched query counts, rows by confidence tier, and warnings naming the queries with no match.

FAQ

How does matching work? Deterministic tiers: exact name, known alias/AKA, or wallet address. There is no fuzzy scoring — near-misses come back as no-match rather than as low-confidence hits.

How fresh are the lists? Every record carries the upstream build time of the list data it was screened against. Cached runs screen the cached build; control refresh with maxDatasetAgeHours (default one week).

Which lists can I screen against? Any of the 470+ OpenSanctions datasets — OFAC SDN by default, plus EU FSF, UK FCDO, UN Security Council, the US trade consolidated list, or the full consolidated sanctions merge (a much larger download: give that run more memory and time).

Are wallet addresses matched exactly? Hex (0x…) and uniformly-cased bech32 addresses match case-insensitively; base58 (BTC/TRON) is case-sensitive — screen the exact address you transact with.

What does a no-match mean? No match in the selected datasets at their build time. It is audit evidence — never clearance or proof of sanction absence.

Support

For questions or issues, contact Apify Support from the Actor page and include the run URL.