Skip to content

Risk & compliance

AML screening and ongoing monitoring

Screen people and organisations against UN, OFAC SDN, EU, UK OFSI, Nigeria Sanctions List and PEP data, then re-screen monitored subjects as lists change.

What it does

AML Screening & Monitoring, in detail.

Six lists, one call

UN, US OFAC SDN, EU, UK HM Treasury / OFSI, the Nigeria Sanctions List (NSC, NFIU, EFCC) and PEP, filterable with lists[].

Transliteration-aware matching

Mohammed and Muhammad, Abubakar and Abubakr, reordered names and compound surnames match, with fuzziness tunable from 0 to 1.

Date of birth weighting

A matching date of birth raises the score, a contradicting one lowers it, and nationality adds confidence.

Ongoing monitoring

Monitored subjects are re-screened nightly and on every list change; monitoring.hit fires only for new hits.

List versions recorded

Every result records which lists and versions were screened, for your audit file.

How it works

From request to decision.

  1. 1

    POST /v1/screen

    Send the name, entity type, any date of birth and nationality, the purpose and the consent attestation.

  2. 2

    Decide on risk

    Read clear, potential_match or match, with up to 25 ranked hits, the lists screened and the threshold.

  3. 3

    Monitor

    Add approved customers with POST /v1/monitoring/subjects and route monitoring.hit to your review queue.

Routing and providers

Sanctions lists are synchronised from their official publishers and versioned. PEP coverage depends on your workspace’s PEP feed; adverse-media results are indicative and labelled with their provider.

Use it

One request. One normalized response.

Call POST /v1/screen through @speedmap/node, speedmap for Python, or the screen_aml tool in Speedmap Connect.

Request
curl -X POST http://localhost:4000/v1/screen \
  -H "Authorization: Bearer sk_test_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Clarke Griffin",
  "entity_type": "person",
  "date_of_birth": "1992-04-18",
  "nationality": "NG",
  "reason": "financialProducts",
  "consent": {
    "obtained": true
  },
  "fuzziness": 0.5
}'
Response · 200 OK
{
  "reference_id": "spm_1246c40b4b6abccc148a503c",
  "object": "verification",
  "product": "aml",
  "method": "aml_screen_person",
  "status": "verified",
  "match": null,
  "summary": {
    "risk": "clear",
    "hits": [],
    "hit_count": 0,
    "screened_lists": [
      "un",
      "ofac_sdn",
      "eu",
      "uk",
      "ng",
      "pep"
    ],
    "list_versions": {
      "un": "2026-10-19T23:00:03.500Z",
      "uk": "03/06/2026"
    },
    "threshold": 0.8,
    "adverse_media": {
      "provider": "simulated",
      "level": "none",
      "categories": [],
      "articles": 0
    }
  }
}

Use cases

Where Nigerian teams use it.

Account opening

Screen every new customer at signup and add approved ones to monitoring.

Payments KYB

Screen the company and its directors in one onboarding flow.

Existing portfolios

Load the existing book into monitoring for nightly re-screening.

Agent networks

Screen super-agents and monitor them for as long as they hold float.

Part of:MarketplacesInsurance

What you get back

The fields you will read.

  • summary.risk

    Meaning
    clear, potential_match or match. match is null: act on risk
  • summary.hits[]

    Meaning
    list, entity_id, masked name, score, risk, matched_on, programs, dob_match, pep_class
  • summary.screened_lists / list_versions / threshold

    Meaning
    What was screened and how strictly
  • summary.adverse_media

    Meaning
    Provider, level and categories, when enabled
  • summary.risk_signals

    Meaning
    Device and IP risk when you pass client_ip, user_agent, email or phone

Assertion tier

Masked hit names and scores.

Full tier

Adds data: the listed names in clear, list labels, positions, remarks and the candidates considered.

Pricing

One price per POST /v1/screen call; monitoring re-screens are not billed as verifications. Contact sales for portfolio pricing. Billed per live check on the Scale up plan. Failed calls and idempotent retries are never billed.

FAQ

AML Screening & Monitoring questions.

Need more detail? Read the documentation or talk to our team.

Which lists are covered?
UN, US OFAC SDN, EU, UK HM Treasury / OFSI, the Nigeria Sanctions List and a PEP list. GET /v1/screening/lists returns each version and entity count.
Is PEP coverage global?
It depends on your workspace’s PEP feed; ask sales which applies before relying on it as your only PEP control.
How often is monitoring re-screened?
Nightly and whenever a list version changes, with monitoring.hit sent only for new hits.
Can I stop monitoring a subject?
Yes, at any time; add ?erase=true to erase the subject as well.

Start verifying in minutes. Go live when you’re ready.

Create your account in under a minute and explore the full dashboard. We switch your workspace live after a short compliance review.