OFAC, sanctions, PEP & KYB screening for Python — screen names, companies & crypto wallets against OFAC SDN, EU, UK, UN + 100+ watchlists, plus KYB identity validation (LEI/GLEIF, US EIN, Australian ABN, LATAM tax-IDs). Free demo, no key.
Project description
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
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
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 |
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 |
All methods return parsed JSON (dict). Errors raise ComplianceError with a clear message (402 → how to get a key, 429 → demo quota reached).
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ofac_sanctions_screening-0.2.0.tar.gz.
File metadata
- Download URL: ofac_sanctions_screening-0.2.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65d569d48d9181db3e772a45d855ca5bdf7a5534299ad41fed71e3f4a4bf51a9
|
|
| MD5 |
780ede05b988764c80c2a9a1fed59d56
|
|
| BLAKE2b-256 |
cbf323a9183d51c57b1ba2f86aa60b3ed54af41ed6e098609e88280b5d909e9d
|
File details
Details for the file ofac_sanctions_screening-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ofac_sanctions_screening-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
231fad5429727088e48440f2852e0d022101b385cb5da178479e179e7ddc5c81
|
|
| MD5 |
17cf68c4d2dc289fff1d792480997cb4
|
|
| BLAKE2b-256 |
137ef679aee855f2f03b1228e43e7d49cab135f130a83a2924839fce29435bf4
|