Try it now — no code
Open the screening page, paste an API key, type a name, and get a clear Pass / Review / Fail verdict with risk score and matched entities. Built-in example names to try.
Open the Try-it pageSanctions · PEP · Adverse media
PROOViD AML is a multi-tenant, API-first screening service for sanctions, PEP and adverse-media checks. We run our own matching and risk engine, so there's no per-lookup aggregator lock-in — buy it as a hosted API, or self-host the whole thing in your own cloud with one Docker stack.
Building an integration? Read the API docs →
Get started
Try it in your browser with no code, onboard a tenant for a real API key, or build straight against the API.
Open the screening page, paste an API key, type a name, and get a clear Pass / Review / Fail verdict with risk score and matched entities. Built-in example names to try.
Open the Try-it pageUse the guided wizard to create a tenant and get an API key in about a minute — no code required. It hands the key straight to the Try-it page.
Onboard a tenantA 5-minute quickstart, the full interactive API reference, webhook verification and an AI-agent automation guide — plus a ready-to-run MCP server for agents.
Read the developer docsHow it works
No SDK gymnastics, no batch ceremony. A single REST call returns a normalized, actionable verdict.
One POST /v1/tenants provisions a tenant, an API key, a default risk profile and an optional signed webhook. Multi-tenant from the first request.
Send a name (plus optional DoB, nationality, aliases). We match across sanctions, PEP and adverse-media sources with fuzzy, phonetic and nickname-aware matching.
Back comes a normalized isMatch + score, a classification (True / Potential / False / Unknown), a risk band and a Pass / Review / Fail decision you can act on.
Flag a subject for ongoing monitoring and we re-screen on every watchlist change, firing an HMAC-signed monitoring.alert webhook only when the outcome moves.
Radically transparent
Most vendors won't show you where their data comes from. We publish the whole pipeline: the sources, how they refresh, how PEP levels are worked out, and exactly what we hold — with a public source link on every leader.
Head of state + head of government for ~200 countries, with the dates each held office and their relatives — every row links back to its public source. What we hold →
PEP1 Domestic / PEP2 Foreign / PEP3 International-org / PEP4 Family — derived from the office's country versus your home country, at screen time. No black box. How tiers work →
Every source refreshes on a 24-hour cycle; once a person is captured they stay, so coverage only improves over time — no daily gamble, no hand-maintained lists.
Query the leaders catalog directly — GET /v1/leaders (JSON) or a CSV export — filter by country, role and period; every row links back to its public source. Leaders API →
Every PEP category — heads of state & government, speakers, ministers, central bankers, ambassadors, legislators, IGO officials and families — is mapped to the FATF definition and measured against the live source on every refresh, so gaps surface automatically. We publish exactly what's Full, Broad or Commercial-via-BYO. See the coverage matrix →
Adverse media
Adverse media is where screening vendors are vaguest. Ours is fully in the open: the source is GDELT, an open global news-monitoring project, and every hit returns a headline, publisher, date, category and the matched person entity. When we haven't checked a subject yet, we say so.
Not a naked link. Each hit carries the headline, publisher, date, a FATF-style category (financial crime, cyber, regulatory, high-risk) and the person entity that matched — so an analyst can triage without clicking out, and an auditor can resolve it after the link rots.
Every response carries an explicit status. No evidence for a subject yet? You get Unavailable, never a clean pass. A control that silently reports “no adverse media” when it never looked is 100% false negatives dressed as coverage — we refuse to ship that.
Names bind as an ordered, adjacent span — never a bag of tokens that merges two people into one. Above that sits a rarity gate from our own 490,072-name corpus: on a high-collision surname, a name match alone is never accepted as identification. Precision lever and fairness control at once — a matcher that floods on common names discriminates by surname.
Scoring “how negative” an article sounds is the obvious move; we measured it failing. A tone gate discards 44% of genuinely AML-relevant articles — laundering indictments read in neutral prose, while a live sample's most negative stories were a prison riot, a depression feature and a celebrity death. Zero predicate offences. We capture tone for display, never for a decision.
On subjects we've already fetched, at the shipped threshold (0.7): 38.9% recall (14 of 36 positives) and 100% precision on common names (15 of 15). Reading the entities GDELT already extracted — not the headline alone — more than doubled recall, from 16.7% (6 of 36) to 38.9%, while holding common-name precision at 100%: better evidence, not a lower bar.
That recall is the matcher's quality on evidence we hold — not the coverage you get on an arbitrary name today. Coverage is still building as the prefetch fills; a fresh subject returns Unavailable until then, never a false clean. The set is small (36 positives, 15 common-name negatives) — indicative, not a number to tune a compliance control on. Rare names: 1 of 2 (n=2). We publish the curve, not a slogan.
No World-Check, LexisNexis, Dow Jones or ComplyAdvantage. Adverse media is open GDELT; sanctions and PEP come direct from the primary publishers (UN, OFAC, EU, UK, Wikidata). That's exactly why we can let you self-host the whole thing and price it in the open — no per-lookup licence rides behind our API.
Adverse media here is a discovery layer that produces a Review, not a verdict. We can tell you an article is about a person with your subject's name; we don't confirm it's your subject — a human dispositions the hit.
And we don't paper over real gaps. Our own benchmark still misses Roger Ng, a convicted 1MDB banker: GDELT returns on-topic articles, but they name Jho Low and Tim Leissner, never him — no tuning fixes that. We hold no article bodies (unlicensed prose, and we won't pretend otherwise), don't yet collapse one story syndicated across outlets into a single event, and our retrieval terms are English, so non-English coverage is under-represented. A commercial vendor sells human-curated, entity-resolved dossiers. This is not that, and we won't imply it is.
Adverse-media results are derived from The GDELT Project (gdeltproject.org). Headlines, publishers and links are the property of their respective publishers.
Features
Everything you need to stand up screening — and everything an auditor will ask for later.
Sanctions (UN, OFAC, EU, UK), PEP and adverse media, ingested per watchlist into one model. PEP levels are derived from office jurisdiction (PEP1–PEP4), backed by the country-anchored leaders index. Per-list transparency →
Levenshtein/trigram, Jaro-Winkler, token-based phonetic and nickname-aware matching with DoB confirmation to cut false positives. See the benchmark →
Configurable country, category and criminal-record weights map matches to a 0–100 score and a Low / Medium / High band.
Enrol a subject once; we re-screen on list changes and on a schedule, alerting only when the decision actually moves. Turn it on and set the cadence per tenant, right from your console.
screening.completed and monitoring.alert delivered with SHA-256 signatures and replay protection, payloads PII-light. Register endpoints and watch a full delivery log from your console.
Screen a portfolio in one request with POST /v1/screenings/bulk, or upload a CSV/XLSX right in the console — onboarding back-books and periodic sweeps, not just one-offs.
Review and disposition matches (open / cleared / confirmed / escalated) with an audit-note thread and a bundled back-office console.
Every state change is recorded immutably and exportable to CSV — built for the conversation you'll have with a regulator.
A dedicated OpenIddict-based IdP — machine and human auth — so there's no hard dependency on an external identity system.
Measured, not marketed
We validated the engine against an independent 1,736-name benchmark — every name also screened through OpenSanctions as the reference — and measured recall and precision against its verdicts. These are our own numbers, run against production, reproducible in the playground or the API.
Overall recall at the recall-first default (fuzzy threshold 0.70) — the recall-maximizing end of the curve.
Genuine precision at the default; 100% on the Balanced and Precision-first presets.
Genuine FPs across the entire 1,736-name benchmark set at the default.
Fuzzed real entities our engine caught that the reference screener missed.
Why us
Aggregators such as Dilisense, SumSub and sanctions.io resell a shared data layer behind their API. We took the other road.
Pricing
Screening against our built-in sanctions & PEP watchlists costs us essentially nothing to run — so it's free. You only pay, at cost, for the premium data and volume that costs us money. No markup games, no surprise bills, and every screen is counted and shown.
€0 / month
A generous monthly allowance for any team. No card, no setup.
At cost / screen
Beyond the free allowance you buy credits — priced at what it costs us.
Unlimited built-in
For trusted teams — unlimited built-in screening, on us.
The public sanctions & PEP lists — and the open news source behind adverse media — are open data we aggregate and maintain, so a screen against them costs us essentially nothing and we don't charge for it. You pay only when we pay: premium feeds you bring, monitoring at scale, or volume above the free allowance — passed through at cost. And we count every screen, free ones included, so usage is never a mystery.
Built to be trusted
EU-focused, PII-light webhooks and field-level handling of personal data.
Strict per-tenant isolation, keys, quotas and risk profiles out of the box.
Versioned /v1 REST, idempotency keys, RFC 7807 errors, signed webhooks.
Cloud-agnostic Docker — Postgres, S3-compatible storage, no managed-cloud lock-in.
Reference customers and case studies coming soon — be one of the first to pilot.
Onboard a tenant, screen your first subject and wire a webhook in well under an hour.
Prefer to talk first? Email us at [ enable JavaScript to view ].