Screen a name against sanctions and US export-control lists in JavaScript

A Node.js tutorial for screening a person, entity, or vessel name against six official sources in one call using Prometiam's /sanctions/screen endpoint. The endpoint unions EU consolidated, UN, OFAC SDN, UK OFSI, the French Registre national des gels, and the US Consolidated Screening List (BIS Entity List, Denied Persons, ITAR) — 44,000+ active entities — and runs a trigram fuzzy match with confidence scoring server-side. This is sanctions plus export-control screening; PEP screening is available separately in beta for Spain only (no relatives or close associates) via ?include_pep=true, and adverse media and natural-person identity verification are not covered.

The problem it solves

The guide lists common screening failures: checking only one list, exact-match-only screening that misses transliteration variants, weekly instead of daily refresh, no confidence scores, and no audit trail.

What the guide covers

  • A ~40-line production-shape ES module with a screen() function (threshold, entityType, limit, timeout, error class) and a classify() helper for a 3-tier review queue.
  • Using it in a KYB onboarding flow — screening the legal entity and each officer, then routing block/review decisions.
  • The response shape: match name, aliases, source list, confidence score (0–100), and a list_url audit-trail anchor.
  • Threshold tuning (80 default; auto-block at 90+, queue 80–89 for human review).
  • Audit-trail fields for SAR compliance and common pitfalls (screen aliases, avoid exact match, re-screen on change, fail closed, avoid logging raw PII).

Full sanctions screening is a Professional-tier scope; the free tier covers registry-data scopes only.

Read more · Get a free API key

Frequently asked questions

Which sanctions lists are covered in one call?
EU consolidated, UN, OFAC SDN, UK OFSI consolidated, the French Registre national des gels, plus the full US Consolidated Screening List of export-control lists — 44,000+ active entities. The Prometiam /sanctions/screen endpoint queries all six sources with one fuzzy match and returns matches with confidence scores.
What threshold should I use?
80 is the production default. Drop to 70 for high-stakes onboarding (lending, payment processing) where false negatives are costly. Raise to 85 for high-volume flows where review cost dominates.
Can I screen entities and vessels too, not just persons?
Yes. Pass entity_type=person, entity, vessel, or any (default).
Is this exposed on the free tier?
No — full sanctions screening is a Professional-tier scope (€29.99/month, 100K calls/month). The Starter tier includes sanctions monitoring (watchlists + change feed); Free covers registry-data scopes only.