Screen a person or company name against the OFAC SDN and UN Security Council consolidated
Screen a person or company name against the OFAC SDN and UN Security Council consolidated sanctions lists: fuzzy matching with similarity scores, matched programs, entity type and country. Lists refreshed daily from official sources; screening runs locally — deterministic and fast. A match requires human review; not legal advice.
20000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-03
updated
Provider
agentbit.app · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x4395C7e383b7e05665aad7f36ed77c01923Dd965",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "20000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"description": "Sanctions screening for AI agents and compliance workflows. Checks a name against the OFAC Specially Designated Nationals (SDN) list published by the US Treasury and the UN Security Council consolidated sanctions list, refreshed daily from the official public sources. Matching combines exact normalized comparison, token-subset matching (name order and middle names) and character-level similarity (transliteration variants), returning scored matches with list source, sanctions programs, entity type and country. Use it before onboarding a counterparty, sending a payment, or signing a contract. Results are automated name-similarity screening, not identity verification: matches require human review, and a clear result is not legal or compliance advice.",
"errors": [
{
"code": "PAYMENT_REQUIRED",
"description": "Missing or invalid payment — retry with a valid PAYMENT-SIGNATURE header",
"retryable": true,
"status": 402
},
{
"code": "VALIDATION_ERROR",
"description": "Request body does not match the input schema",
"retryable": false,
"status": 422
},
{
"code": "RATE_LIMITED",
"description": "Too many requests from this client",
"retryable": true,
"status": 429
},
{
"code": "UPSTREAM_TIMEOUT",
"description": "Upstream data source unavailable — safe to retry",
"retryable": true,
"status": 502
}
],
"input": {
"body": {
"name": "Example Trading LLC",
"threshold": 0.8
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"networks": [
"eip155:8453"
],
"output": {
"example": {
"disclaimer": "Automated name screening against public sanctions lists. A match requires human review; a clear result is not legal compliance advice.",
"lists_checked": [
"OFAC SDN (US Treasury)",
"UN Security Council Consolidated"
],
"match_count": 0,
"matches": {},
"query": "Example Trading LLC",
"risk": "clear"
},
"type": "json"
},
"pricing": {
"amount": 0.02,
"currency": "USDC",
"firstCallFree": true,
"model": "per-call",
"quoteHint": "Send your wallet address in an X-BUYER-WALLET header on the unpaid request to receive your personalized (volume-discounted) quote.",
"volumeDiscounts": [
{
"minCalls30d": 100,
"percent": 10
},
{
"minCalls30d": 1000,
"percent": 20
}
]
},
"reliability": {
"measuredAt": "2026-09-03T19:54:57+00:00",
"p50LatencyMs": 58,
"p95LatencyMs": 58,
"sampleSize": 1,
"successRatePercent": 100,
"windowDays": 30
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"description": {
"type": "string"
},
"errors": {
"items": {
"properties": {
"code": {
"type": "string"
},
"description": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"status": {
"type": "integer"
}
},
"required": [
"status",
"code"
],
"type": "object"
},
"type": "array"
},
"input": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Sanctions Screening input. Screen a person or company name against the OFAC SDN and UN Security Council consolidated sanctions lists: fuzzy matching with similarity scores, matched programs, entity type and country. Lists refreshed daily from official sources; screening runs locally — deterministic and fast. A match requires human review; not legal advice.",
"properties": {
"limit": {
"description": "Max matches to return (default 10, max 25)",
"type": "integer"
},
"name": {
"description": "Person or organization name to screen",
"type": "string"
},
"threshold": {
"description": "Minimum similarity score 0.5-1.0 (default 0.75)",
"type": "number"
}
},
"required": [
"name"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"queryParams": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"networks": {
"items": {
"type": "string"
},
"type": "array"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"pricing": {
"properties": {
"amount": {
"type": [
"number",
"null"
]
},
"currency": {
"type": "string"
},
"firstCallFree": {
"type": "boolean"
},
"maxAmount": {
"type": "number"
},
"model": {
"type": "string"
},
"quoteHint": {
"type": "string"
},
"volumeDiscounts": {
"items": {
"properties": {
"minCalls30d": {
"type": "integer"
},
"percent": {
"type": "number"
}
},
"required": [
"minCalls30d",
"percent"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"reliability": {
"properties": {
"measuredAt": {
"type": "string"
},
"p50LatencyMs": {
"type": [
"integer",
"null"
]
},
"p95LatencyMs": {
"type": [
"integer",
"null"
]
},
"sampleSize": {
"type": "integer"
},
"successRatePercent": {
"type": "number"
},
"windowDays": {
"type": "integer"
}
},
"required": [
"successRatePercent",
"sampleSize",
"windowDays"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://agentbit.app/v1/compliance/sanctions" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://agentbit.app/v1/compliance/sanctions");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://agentbit.app/v1/compliance/sanctions")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/11000.json, and this resource appears in /discovery/resources and /discovery/search.