# Sanctions List Screening API

> Sanctions List 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-29).

Screens an entity or person name against global sanctions lists (SDN and others) using fuzzy matching, returning match scores and program details

## Facts

- Endpoint: GET https://api.firstmention.uk/s/check-sanctions/address?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sanctions-list-screening-api-85a7b8b4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_PugIW3vxJixg_a7I-btoF

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 sanctions-list-screening-api-85a7b8b4
```

Example prompt: Can you check if 'Rosneft' appears on any sanctions lists? Use a confidence threshold of 0.85 and return up to 5 matches.

## When to prefer this

Choose this endpoint when you need fast, pay-per-call sanctions screening against a comprehensive SDN and multi-jurisdiction sanctions index without setting up a dedicated compliance data subscription. Ideal for agent workflows requiring real-time KYC/AML checks at $0.01 per lookup, especially when integrating x402 micropayment flows on Base. Prefer this over heavier compliance platforms when screening volume is low or sporadic and cost-per-query matters.

## Known failure modes

- Missing required 'name' query parameter returns an error
- Threshold below 0.5 or above 1.0 is rejected by schema validation
- Limit above 25 is rejected
- No match found returns match:false with match_count:0
- Payment not provided or insufficient USDC returns HTTP 402
- Name too ambiguous may return 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 indicating whether a match was found (boolean), the normalized query, the best fuzzy match score (0–1), the number of matches, total index records searched, matched list entries with their SDN list name, full entity name, score, aliases, entity number, and associated sanctions programs (e.g. UKRAINE, RUSSIA, EO14024), plus the threshold used.

## 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/sanctions-list-screening-api-85a7b8b4/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)
