Bulk Screening

Screen your entire back book in one job.
Millions of rows. One async batch.

Upload a CSV or stream records through the batch API and SmartSanction screens every name against sanctions, PEP and adverse-media lists, then hands back a single scored results file.

10M+
Rows per job
Async
Job model
CSV/JSON
Input formats
Webhook
Completion event

CSV & streaming upload

Drop a spreadsheet of customers or post records to the batch endpoint. Column mapping is configurable, so existing exports work without reformatting.

  • CSV, TSV & JSON-lines input
  • Configurable column mapping
  • Resumable large uploads

Async batch jobs

Submit once and poll or wait for a webhook. Jobs run on a dedicated queue so a million-row re-screen never blocks your real-time screening traffic.

  • Dedicated batch queue
  • Per-job progress tracking
  • No impact on live API latency

Tunable match thresholds

Set the fuzzy-match threshold and which lists to screen per job, so a periodic re-screen can run tighter or looser than onboarding checks.

  • Per-job threshold
  • Selectable list coverage
  • Schema-aware matching

Scored results file

Each input row comes back with its best match, score, risk band and matched lists, ready to load straight into your case queue.

  • Row-level match attribution
  • Risk band per record
  • Clear / review / reject recommendation

Completion webhooks

Get a signed webhook the moment a job finishes, then pull the results file, no polling loops to maintain.

  • HMAC-signed callback
  • Result file download URL
  • Retry on delivery failure

Audit-ready output

Every batch run is logged with the lists, thresholds and dataset versions used, so you can evidence a point-in-time re-screen to an auditor.

  • Dataset version stamp
  • Immutable run log
  • Exportable evidence pack

API Reference

Integrate in minutes.

Simple JSON REST API. No SDKs required.

POST/api/v1/portal/batch/jobs200 OK

Request

{
  "threshold": 0.82,
  "lists": ["sanctions", "pep", "adverse_media"],
  "queries": [
    { "id": "cust_001", "name": "Petrov Industries LLC", "schema": "Company" },
    { "id": "cust_002", "name": "Aleksandr Petrov", "schema": "Person" }
  ]
}

Response

{
  "job_id": "batch_7f3c9a",
  "status": "queued",
  "total": 2,
  "result_url": "/api/v1/portal/batch/jobs/batch_7f3c9a/results",
  "callback": "webhook",
  "api_version": "v1"
}

Re-screen your whole customer base.

Start with a sample file in the sandbox, then schedule periodic batch re-screens. No credit card required.