Skip to main content

ofac-sanctions-screening

OFAC / sanctions / PEP / KYB screening for Python. Screen any person, company, or crypto wallet against OFAC SDN, EU, UK (OFSI), UN + 100+ global watchlists (powered by OpenSanctions) and get a PASS / WARN / BLOCK verdict — in one call, with cited sources.

  • ✅ Free demo, no signup — start screening in 10 seconds, no API key.
  • 🪙 Crypto-wallet OFAC screening — screen BTC/ETH addresses against the OFAC SDN crypto list (most APIs only do names & companies).
  • 🏢 KYB-360 — sanctions + PEP + entity risk + registry in one call.
  • ⚖️ One PASS / WARN / BLOCK verdict — no raw-list parsing.
  • 🔌 Zero dependencies, Python 3.8+. Pay-per-call (card or USDC via x402) — no seat license, no enterprise contract.

Install

pip install ofac-sanctions-screening

Quickstart (free, no key)

from ofac_sanctions_screening import Client

c = Client()  # free demo mode, rate-limited

# Sanctions / PEP screen a person or company
print(c.screen("Vladimir Putin"))
# {'result': {'flagged': True, 'match_count': 2, 'risk_topics': ['sanction', 'role.pep', ...], 'matches': [...]}}

# OFAC-screen a crypto wallet against the SDN crypto list
print(c.screen_wallet("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"))

# KYB screen a company
print(c.kyb("Acme Inc"))

Full access (paid)

Get an API key instantly with a card at https://api.gocreativeai.com/credits/buy (or pay-per-call in USDC via x402 — no key at all):

c = Client(api_key="gck_...")

c.screen("Some Person")        # full sanctions & PEP coverage
c.screen_wallet("0xabc...")    # full OFAC wallet screen
c.kyb("Some Company Ltd")      # full KYB-360 dossier
c.verdict("Some Person")       # one PASS / WARN / BLOCK decision
c.risk("Some Company")         # entity risk score 0-100 + onboarding flag

Compliance & registry lookups (paid)

Live watchlist + registry lookups that complement the sanctions screen — healthcare exclusion, fuzzy SDN matching, corporate ownership, name→LEI resolution, SEC filings and the FDA drug directory:

c = Client(api_key="gck_...")

c.screen_oig_exclusion("John Smith")
# {'is_excluded': True, 'match_count': 3, 'risk': 'HIGH — HHS-OIG LEIE ...', 'matches': [...]}
#   the mandatory pre-billing check for Medicare/Medicaid providers

c.screen_fuzzy_name("Vladimir Putin")
# {'is_potential_match': True, 'top_score': 83, 'matches': [{'name': 'PUTIN, Vladimir ...', ...}]}
#   catches alias / transliteration / reordered-name SDN hits a strict match misses

c.lookup_gleif_entity("Apple Inc")           # company NAME -> LEI(s) (ranked matches)
c.lookup_gleif_ownership("5493006MHB84DD0ZWV18")  # LEI -> corporate-ownership tree (UBO)
c.lookup_sec_filings("AAPL")                 # SEC EDGAR recent-filings feed (free demo too)
c.lookup_fda_ndc("Trulicity")               # FDA National Drug Code directory lookup

KYB identity / tax-ID validation (paid)

Reject malformed business identifiers before an expensive registry call — deterministic check-digit + reference-data validators for onboarding and vendor due diligence:

c = Client(api_key="gck_...")

c.verify_lei("529900T8BM49AURSDO55")
# {'verdict': 'VALID_ACTIVE', 'checksum_valid': True,
#  'entity': {'legal_name': 'Ubisecure Oy', 'legal_jurisdiction': 'FI', 'entity_status': 'ACTIVE', ...},
#  'registration': {'lei_status': 'ISSUED', ...}}   # ← live GLEIF Level-1 record

c.verify_ein("12-3456789")           # {'verdict': 'VALID_FORMAT', 'issuing_campus': 'Andover', ...}
c.verify_abn("51824753556")          # {'verdict': 'VALID', 'abn_formatted': '51 824 753 556', ...}
c.verify_latam_taxid("MX", "GODE561231GR8")
# {'verdict': 'VALID', 'country': 'MX', 'tax_id_scheme': 'RFC (Registro Federal de Contribuyentes)', ...}
# also handles AR CUIT, PE RUC, CO NIT, CL RUT

c.verify_bic("DEUTDEFF")
# {'verdict': 'VALID', 'structure': {'institution_code': 'DEUT', 'country_code': 'DE', ...},
#  'entity': {'legal_name': 'DEUTSCHE BANK AKTIENGESELLSCHAFT', 'lei': '7LTWFZYICNSX8D621K86', ...}}  # ← GLEIF BIC-to-LEI

c.verify_gstin("27AAPFU0939F1ZV")   # India GSTIN — mod-36 checksum + state + embedded PAN
c.verify_pan("AAPFU0939F")          # India PAN — structure + holder type
c.verify_gtin("4006381333931")      # GTIN/UPC/EAN — GS1 mod-10 check digit + region
c.verify_uk_vat("GB434031494")      # UK VAT — HMRC modulus-97 (9755)

# Or use the dispatcher for any validator:
c.verify("lei", "5493001KJTIIGC8Y1R12")
c.verify("latam-taxid", "GODE561231GR8", country="MX")

Reference-data / identifier validators (paid)

Deterministic check-digit + structural validators for finance, trade, securities and telecom identifiers — same keyless-algorithm pattern, one line each:

c = Client(api_key="gck_...")

# Finance / banking
c.verify_aba("021000021")          # US bank routing / ABA / MICR (Fed mod-10) + district
c.verify_cnpj("11222333000181")    # Brazil CNPJ checksum + Receita Federal company lookup
c.verify_cnpj_alpha("12ABC34501DE35")  # Brazil CNPJ incl. new 2026 alphanumeric format

# Securities
c.verify_isin("US0378331005")      # ISIN (ISO 6166) + security resolve
c.verify_cusip("037833100")        # CUSIP (North-American securities, mod-10)
c.verify_sedol("2046251")          # SEDOL (UK/Ireland, LSE weighted mod-10)

# Trade / supply chain / government
c.verify_duns("150483782")         # D&B D-U-N-S number format
c.verify_cage("1U2A3")             # US CAGE / NATO NCAGE (defense-supplier onboarding)
c.verify_eori("GB123456789000")    # EU/UK EORI (customs / trade compliance)
c.verify_gln("0614141000012")      # GS1 GLN (mod-10) + region

# Telecom / media
c.verify_phone("+14155552671")     # phone number (ITU-T E.164) + country decode
c.verify_imei("490154203237518")   # IMEI (GSMA Luhn) + TAC (manufacturer/model) decode
c.verify_issn("2049-3630")         # ISSN (ISO 3297, mod-11)
c.verify_media_type("application/json")  # IANA media type / MIME (RFC 6838)

Methods

Method Free demo Paid endpoint Returns
screen(name) ✅ /v1/verdict/screen sanctions & PEP matches across OFAC/EU/UK/UN + 100+ lists
screen_wallet(address) ✅ /v1/verdict/wallet OFAC SDN crypto-wallet match
kyb(name) ✅ /v1/verdict/kyb KYB-360 dossier
verdict(name) — /v1/verdict/check PASS / WARN / BLOCK
risk(name) — /v1/risk/entity-score risk score 0-100
screen_oig_exclusion(name) — /v1/screen/oig-exclusion HHS-OIG LEIE healthcare-exclusion screen
screen_fuzzy_name(name) — /v1/screen/fuzzy-name fuzzy OFAC SDN match (alias/transliteration)
lookup_gleif_ownership(lei) — /v1/lookup/gleif-ownership GLEIF corporate-ownership tree (UBO)
lookup_gleif_entity(name) — /v1/lookup/gleif-entity company name → LEI resolver
lookup_sec_filings(ticker_or_cik) ✅ /v1/lookup/sec-filings SEC EDGAR recent-filings feed
lookup_fda_ndc(ndc_or_name) — /v1/lookup/fda-ndc FDA NDC drug-directory lookup
verify_lei(lei) — /v1/verify/lei ISO 17442 checksum + GLEIF legal-entity record
verify_ein(ein) — /v1/verify/ein US EIN format + IRS issuing campus
verify_abn(abn) — /v1/verify/abn Australian ABN (ATO modulus-89)
verify_latam_taxid(country, tax_id) — /v1/verify/latam-taxid MX RFC / AR CUIT / PE RUC / CO NIT / CL RUT
verify_bic(bic) — /v1/verify/bic SWIFT/BIC (ISO 9362) + GLEIF legal entity
verify_gstin(gstin) — /v1/verify/gstin India GSTIN (mod-36) + state / embedded PAN
verify_pan(pan) — /v1/verify/pan India PAN structure + holder type
verify_gtin(gtin) — /v1/verify/gtin GTIN/UPC/EAN (GS1 mod-10) + region
verify_uk_vat(vat) — /v1/verify/uk-vat UK VAT (HMRC modulus-97)
verify_aba(routing_number) — /v1/verify/aba US bank routing / ABA / MICR (Fed mod-10) + district
verify_cnpj(cnpj) — /v1/verify/cnpj Brazil CNPJ checksum + Receita Federal lookup
verify_cnpj_alpha(cnpj) — /v1/verify/cnpj-alpha Brazil CNPJ incl. 2026 alphanumeric format
verify_isin(isin) — /v1/verify/isin ISIN (ISO 6166) + security resolve
verify_cusip(cusip) — /v1/verify/cusip CUSIP (North-American securities)
verify_sedol(sedol) — /v1/verify/sedol SEDOL (UK/Ireland securities)
verify_duns(duns) — /v1/verify/duns D&B D-U-N-S number format
verify_cage(code) — /v1/verify/cage US CAGE / NATO NCAGE code
verify_eori(eori) — /v1/verify/eori EU/UK EORI (customs / trade)
verify_gln(gln) — /v1/verify/gln GS1 GLN (mod-10) + region
verify_phone(phone) — /v1/verify/phone phone number (ITU-T E.164)
verify_imei(imei) — /v1/verify/imei IMEI (GSMA Luhn) + TAC decode
verify_issn(issn) — /v1/verify/issn ISSN (ISO 3297, mod-11)
verify_media_type(media_type) — /v1/verify/media-type IANA media type / MIME (RFC 6838)
verify(kind, value, country=…) — dispatcher any of the 23 validators by kind

All methods return parsed JSON (dict). Errors raise ComplianceError with a clear message (402 → how to get a key, 429 → demo quota reached).

Get a free key (2 minutes)

The screen, screen_wallet, kyb, screening_report, wallet_report and batch_screen methods work with no key (rate-limited demo). To unlock full coverage and all 23 validators, grab a gck_ key:

  1. Go to https://api.gocreativeai.com/start — the guided key wizard.
  2. Buy credits with a card (instant) at https://api.gocreativeai.com/credits/buy, or pay per call in USDC via x402 with no key at all.
  3. Client(api_key="gck_...") — done.

Why this vs the incumbents

Same OpenSanctions data the serious vendors use, but keyless and pay-per-call — a fraction of the cost of Dataspike, ComplyAdvantage, or enterprise contracts, and it adds crypto-wallet OFAC screening most don't. See the comparisons: vs Dataspike · vs sanctions.io · vs ComplyAdvantage.

Disclaimer

Screening results draw on public watchlist + sanctions data and are provided for compliance-screening support. Verify matches before acting; absence of a match is not a guarantee of clearance. Not legal advice.

License

MIT © GoCreative · Product page · Docs

Metadata

Release files for ofac-sanctions-screening 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ofac-sanctions-screening 0.7.1
File Size Uploaded Provenance Actions
ofac_sanctions_screening-0.7.1.tar.gz 19.9 kB Without provenance Details for ofac_sanctions_screening-0.7.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ofac-sanctions-screening 0.7.1
File Interpreter ABI Platform Actions
ofac_sanctions_screening-0.7.1-py3-none-any.whl Python 3 none any Details for ofac_sanctions_screening-0.7.1-py3-none-any.whl

Total release size: 36.7 kB

Release files / ofac_sanctions_screening-0.7.1.tar.gz

Download URL ofac_sanctions_screening-0.7.1.tar.gz
Size 19.9 kB
Tags Source
SHA-256 checksum
How to use checksums
07cd251836fe411c6fa0edb6299093829bad6981de3628f338b0d59a6f81bff2
BLAKE2b-256 checksum
How to use checksums
b135fdeec7ed1c306a3b7fcd714c31ace1479be0e3e5e01201b6fd7ffc4b5cb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / ofac_sanctions_screening-0.7.1-py3-none-any.whl

Download URL ofac_sanctions_screening-0.7.1-py3-none-any.whl
Size 16.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c0c4901774c23bcb107e363bda3f408f34457a439dae20edad3edf733304f003
BLAKE2b-256 checksum
How to use checksums
c1187fd8e03e9493bb2ff5ab54f4a108f2687c594b8047558d276adc831fd427
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Security for ofac-sanctions-screening 0.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page