apyhub
DATA VALIDATION · HR

AML & Sanctions Verification API

What it does

Sanctions Screening checks a person against sanctions and AML screening data using a name, with optional date of birth, country, and result limit filters.

Send a name and get back an envelope with success and code, plus one or more module blocks in the response. Because the output schema is intentionally open-ended, the service is best treated as a screening lookup rather than a fixed-field profile object.

Use Sanctions Screening when you need a quick compliance check during onboarding, KYC review, or manual case handling. Add dob and country to narrow the search and reduce false matches, or adjust limit when you want fewer or more candidate results.

The request stays simple: one required query field and three optional filters. That makes it easy to wire into account creation flows, internal risk checks, and batch review tooling without building extra parsing logic around the input.

GET
Sanctions / AML Screening
https://api.eu.apyhub.com/quadlem/sanctions-screening

QUICKSTART

GUIDE

Quickstart

Use the following request to screen a person against global sanctions lists using their name.

curl -X GET "https://api.eu.apyhub.com/quadlem/sanctions-screening?name=John%20Doe" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

A successful request returns the screening query, matched sanctions records, confidence score, risk assessment, and a recommendation based on the screening results.

{
  "success": true,
  "code": 200,
  "SANCTIONS": {
    "query": {
      "name": "John Doe",
      "dob": null,
      "country": null
    },
    "is_match": true,
    "match_status": "match",
    "confidence": 1,
    "match_count": 5,
    "matches": [
      {
        "name": "DOE, John Example",
        "list": "OFAC-SDN",
        "type": "individual",
        "programs": [
          "EXAMPLE-PROGRAM"
        ],
        "score": 1,
        "match_type": "token"
      }
    ],
    "lists_screened": [
      "UN",
      "OFAC-SDN",
      "EU"
    ],
    "risk_score": 1,
    "risk_level": "high",
    "recommendation": "reject",
    "summary": "Strong sanctions match (100%) to \"DOE, John Example\" on the OFAC-SDN list."
  }
}

Note: The matches array is truncated in this example. The full response returns up to the configured limit of matching sanctions records, along with complete details for each candidate.

TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Screens a person's name against OFAC, UN, and EU sanctions/AML watchlists using fuzzy, phonetic, and token matching, and returns candidate matches with confidence scores, matched programs, and a risk recommendation.

Query Parameter(s)

AttributeTypeMandatoryDescription
nameStringYesName to screen.
dobStringNoDate of birth (YYYY-MM-DD) — reinforces a match.
countryStringNoCountry filter.
limitIntegerNoMaximum number of results. Default: 10.

Response

AttributeTypeDescription
successBooleanWhether the request succeeded.
codeIntegerNumeric response code.
SANCTIONSObjectScreening result.
SANCTIONS.queryObjectThe name/dob/country submitted.
SANCTIONS.is_matchBooleanWhether any candidate match was found.
SANCTIONS.match_statusStringno_match, possible_match, or match.
SANCTIONS.confidenceNumberConfidence of the top match (0–1).
SANCTIONS.match_countIntegerNumber of candidate matches returned.
SANCTIONS.matchesArrayCandidate matches — name, list, type, programs, score, match type.
SANCTIONS.lists_screenedArrayWatchlists checked (UN, OFAC-SDN, EU).
SANCTIONS.entries_indexedIntegerTotal watchlist entries searched.
SANCTIONS.risk_scoreNumberOverall risk score (0–1).
SANCTIONS.risk_levelStringlow, medium, or high.
SANCTIONS.recommendationStringaccept, review, or reject.
SANCTIONS.summaryStringPlain-language explanation of the result.
SANCTIONS.reasonsArrayCodes/messages explaining the risk drivers.

Query parameters

Name
Type
Description
dobOPTIONAL
string
nameREQUIRED
string
limitOPTIONAL
integer
DEFAULT 10
countryOPTIONAL
string
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.