Skip to main content

OFAC, sanctions, PEP & KYB screening for Python — screen names, companies & crypto wallets against OFAC SDN, EU, UK, UN + 100+ watchlists, plus 9 KYB identity validators (LEI/GLEIF, US EIN, Australian ABN, LATAM tax-IDs, SWIFT/BIC, India GSTIN & PAN, GTIN/UPC/EAN, UK VAT). 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

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 of the 9 validators:
c.verify("lei", "5493001KJTIIGC8Y1R12")
c.verify("latam-taxid", "GODE561231GR8", country="MX")

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
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(kind, value, country=…) dispatcher any of the 9 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).

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

ofac_sanctions_screening-0.3.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ofac_sanctions_screening-0.3.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file ofac_sanctions_screening-0.3.0.tar.gz.

File metadata

File hashes

Hashes for ofac_sanctions_screening-0.3.0.tar.gz
Algorithm Hash digest
SHA256 973a07b69ace0a8eb83b62718cd93d5b5c75af80a80f0eb1233525a4b399cfd4
MD5 2828e28262d5bd447d295f72ae8f3d1f
BLAKE2b-256 c4895276a807e3d76a74f292faf86bb5584df0a8ae3c9e66ecc7d7ec46aa161c

See more details on using hashes here.

File details

Details for the file ofac_sanctions_screening-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ofac_sanctions_screening-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa16a374cba658d1e8a2b601c13c3336261c7935b350c72aa740e170fa7c40e2
MD5 3fd308c19fd5579062056d34ab95cd89
BLAKE2b-256 daebd467e8e0abfb39a36b3b6915824df12c1a48c8a6f252858f33e81796329b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page