# Sanctions Screening API (check-sanctions)

> Sanctions Screening API (check-sanctions) 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 an entity or person name against global sanctions lists (e.g. OFAC SDN) and returns fuzzy-matched results with confidence scores

## Facts

- Endpoint: GET https://api.firstmention.uk/s/check-sanctions/screen?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/sanctions-screening-api-check-sanctions-26e06efb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_DVtJq2cVT1RQG-s3SG1_s

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-screening-api-check-sanctions-26e06efb
```

Example prompt: Can you check if 'Rosneft' appears on any sanctions list, using a match confidence of at least 0.85 and returning up to 5 results?

## When to prefer this

Use this endpoint when you need programmatic, pay-per-call sanctions screening without a subscription, especially in agentic workflows requiring on-demand compliance checks. It is well-suited for AI agents doing KYC, AML, or counterparty due diligence at low cost ($0.01/call). Prefer this over bulk-subscription sanctions databases when call volume is low or sporadic, or when you need to integrate sanctions checks into an autonomous agent pipeline that pays with USDC via x402.

## Known failure modes

- Missing required 'name' query parameter returns a 400 error
- Threshold below 0.5 or above 1.0 is rejected as invalid
- Limit above 25 is rejected
- Payment not included or invalid x402 USDC payment on Base returns 402 Payment Required
- Network or upstream index unavailability returns 503
- Very short or ambiguous names may return no matches despite entity being listed

## 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 flag, the normalized query string, best fuzzy-match score, total match count, number of index records searched, list of matched sanctions entries (each with list name, full entity name, score, aliases, entity number, and sanctions programs), threshold used, and jurisdictions covered.

## 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-screening-api-check-sanctions-26e06efb/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)
