OnSanctions
Subscribe

The sanctions screening API built for rescreening.

Three calls cover the lifecycle: enroll, rescreen and withdraw. The same request that enrolls a customer rescreens them later. Keys come with an active plan.

Enroll and rescreen

OnSanctions lets businesses enroll identified people or companies and rescreen them against refreshed sanctions and watchlist sources. POST /v1/screen is one call. The first accepted call for a name and identifier enrolls and screens. The same body later is a rescreen against the refreshed sources. Dataset-update notifications support rescreening through the API. The notice is not a result for each subject. You still send the rescreen. The first enrollment uses AML/PEP credits. Subsequent same-subject screens use zero extra credits within the active license’s population and request limits.

Identifiers

A person enrolls with a passport of 5 to 20 letters or digits and a 2-letter ISO country.

A company, organization, or legal entity enrolls with a 20-character LEI and a 2-letter ISO country.

identifierCountry is always a 2-letter ISO code. dataset is all, sanctions, peps, or crime. PEP and RCA are included on this license. PEP enrichment includes Wikidata alongside official publisher feeds.

Sample person
{
  "name": "SAMPLE MATCH PERSON",
  "entity": 0,
  "country": "GB",
  "dataset": "sanctions",
  "identifierType": "passport",
  "identifierValue": "SAMPLE12345",
  "identifierCountry": "GB"
}
Sample company
{
  "name": "SAMPLE MATCH COMPANY",
  "entity": 1,
  "country": "DE",
  "dataset": "sanctions",
  "identifierType": "lei",
  "identifierValue": "SAMPLELEI01234567890",
  "identifierCountry": "DE"
}

Response

Each result names the dataset version, when that dataset was published, when the screen ran, and the categories requested. A clear result means no possible match in the categories and dataset version on that response.

Sample header
{
  "success": true,
  "operation": "onboarding",
  "screened_name": "SAMPLE MATCH PERSON",
  "screened_entity_type": 0,
  "screened_country": "gb",
  "screened_dataset": "sanctions",
  "results": {
    "Success": true,
    "ResponseCode": 200,
    "Header": {
      "DatasetVersion": "aml_20260817_sample",
      "DatasetPublishedAt": "2026-08-17T07:12:00.000Z",
      "ScreenedAt": "2026-08-17T08:00:00.000Z",
      "CategoriesRequested": ["sanctions"]
    },
    "SearchResults": {
      "Found": true,
      "Message": "Possible match",
      "RecordCount": 1
    },
    "PossibleMatches": {
      "Found": true,
      "Results": [{ "Name": "SAMPLE MATCH PERSON", "Category": "Sanctions" }]
    }
  },
  "mode": "live",
  "requestId": "6f1c2a9e-0d4b-4e8a-9a51-2b7f4c1d3e88"
}

Withdraw

POST /v1/withdraw takes the entity and identifier. The response includes withdrawn: true. Audit metadata stays for seven years.