# Check Sanctions – Sanctions Screening API

> Check Sanctions – Sanctions Screening API is a paid API for AI agents from api.firstmention.uk, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-30).

Screens a named entity or person against global sanctions lists (e.g. OFAC SDN) and returns match status, confidence score, and matched programs

## Facts

- Endpoint: GET https://api.firstmention.uk/s/check-sanctions/changes?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/check-sanctions-sanctions-screening-api-9c34b43b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_koVu308YEzGo52LoCgyvO

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability check-sanctions-sanctions-screening-api-9c34b43b
```

Example prompt: Can you screen 'Rosneft' against global sanctions lists and tell me if there's a match, using a confidence threshold of 0.85?

## When to prefer this

Choose this endpoint when you need a pay-per-call, low-latency sanctions screening API that searches a large index (19,000+ records) with fuzzy name matching and confidence scoring — especially suitable for agent-driven KYC/AML workflows where you pay only per check. Prefer over bulk subscription services when volume is low or sporadic, and when you need structured match metadata (programs, aliases, scores) rather than a simple yes/no flag.

## Known failure modes

- Missing 'name' query parameter returns a validation error
- Threshold below 0.5 or above 1.0 is rejected by schema
- Limit above 25 is rejected by schema
- No match found returns match: false with empty results array
- Payment failure (x402) if USDC balance is insufficient on Base
- Ambiguous short names may yield false positives at low thresholds

## How this service works

Pay-per-call HTTP APIs, paid with x402 in USDC on Base (eip155:8453): agentkit, api-change-check, basedue, basewatch, chainread, check-sanctions, chgwatch, company-facts, composite, edgar, feednews, pageaudit, solcheck, token-dd, txpreflight, walletcheck, webmd, webread, websearch, x402index. Each operation describes its service.

## Output

Returns a JSON object with a boolean 'match' field, the normalized query string, best fuzzy match score (0–1), total match count, number of records in the index, match threshold used, and an array of matched entries each containing the sanctions list name (e.g. SDN), official entity name, match score, known aliases, internal entity number, and associated sanction programs and jurisdictions (e.g. UKRAINE, RUSSIA, EO14024).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "name"
     ],
     "properties": {
      "name": {
       "type": "string",
       "description": "Entity or person name to screen, e.g. 'Rosneft'"
      },
      "limit": {
       "type": "integer",
       "maximum": 25,
       "minimum": 1,
       "description": "Max results, default 5"
      },
      "threshold": {
       "type": "number",
       "maximum": 1,
       "minimum": 0.5,
       "description": "Match confidence cutoff, default 0.85"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "match": {
       "type": "boolean"
      },
      "query": {
       "type": "string"
      },
      "threshold": {
       "type": "number"
      },
      "best_score": {
       "type": "number"
      },
      "match_count": {
       "type": "number"
      },
      "index_records": {
       "type": "number"
      },
      "jurisdictions": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "match": true,
  "query": "Rosneft",
  "results": [
   {
    "list": "SDN",
    "name": "OPEN JOINT-STOCK COMPANY ROSNEFT OIL COMPANY",
    "score": 1,
    "aliases": [
     "ROSNEFT"
    ],
    "ent_num": 17022,
    "programs": [
     "UKRAINE",
     "RUSSIA",
     "EO14024"
    ]
   }
  ],
  "threshold": 0.85,
  "best_score": 1,
  "normalized": "ROSNEFT",
  "match_count": 1,
  "index_records": 19957
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/check-sanctions-sanctions-screening-api-9c34b43b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.firstmention.uk](https://www.zero.xyz/host/api.firstmention.uk/llms.txt)
