Screenings

Check a person or a company against sanctions, politically exposed person (PEP) and adverse-media lists. Use it to triage before onboarding, or to re-check customers you already have.

One name or a batch

POST /v1/screenings
One person or company. The answer comes back in the response, usually within a few seconds.
POST /v1/screening_batches
Up to 100 subjects in the background. The response comes at once with the batch's id; you get a screening_batch.completed webhook when every subject is done, then read the batch with all its screenings.
curl https://api.vindexgrid.com/v1/screenings \
  -H "Authorization: Bearer $VINDEX_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": { "type": "person", "name": "Aarav Sharma", "date_of_birth": "1990-04-12", "country": "IN" },
    "purpose": "onboarding",
    "external_reference": "crm-42"
  }'

Give a person's date_of_birth and country when you have them: they rule out namesakes. Always say why you are screening with purpose (onboarding, periodic_review, transaction_monitoring or other); it is kept for audit.

Reading a result

A completed screening
{
  "id": "scr_0vZ3mT4cQw8nX2Lb9Pk1Ra",
  "object": "screening",
  "livemode": true,
  "status": "completed",
  "result": {
    "outcome": "no_match",
    "screened_at": "2026-11-05T10:31:12Z",
    "provider": "world_check",
    "attribution": "Screening data: LSEG World-Check. Results are an aid to your own checks, not a decision."
  },
  "credits_charged": 1,
  "external_reference": "crm-42"
}
no_match
Nothing on the lists looks like this subject.
potential_match
One or more list entries look like this subject. It is not a finding: a person has to check whether it is really them. Hold the customer, review, or start a full verification, where Vindex's reviewers do that for you.

Results carry LSEG's attribution; show it wherever you show the result. Where Vindex's data agreement allows, results also include match_count and categories (sanctions, pep, adverse_media); test mode always includes them.

Don't tell the person screened

A result is for your compliance team only. Telling someone they matched a sanctions or PEP list can break anti-money-laundering tipping-off rules.

When the provider is down

If the screening provider can't be reached, the call returns 503 provider_unavailable and nothing is charged. Retry later with the same Idempotency-Key. In a batch, a subject that can't be screened is marked failed and not charged; the rest of the batch carries on.

Credits: a screening is charged only when it completes. A batch holds its full price up front, charges each subject as it is screened, and releases whatever is left at the end.

Live screening

Screening runs on LSEG World-Check. Test screening works now. Live screening through the API opens once LSEG approves it for Vindex's partners; until then a live request returns 403 feature_not_enabled. Verifications already include screening, so nothing else is blocked.

Try it in test mode

Names containing Sanctioned, Pep, Adverse or Multimatch return matches, and Unavailable simulates an outage. See Test mode.

Something missing or unclear? Signed-in users can tell us from Feedback in the app.