API reference

Screen names against the sanctions lists from your backend or an AI agent. Base URL https://screen100.com/api.

Get a free API key from your dashboard to start.

Get an API key

Authentication

Send your API key as a bearer token. Keys start with sk_live_ or sk_test_ (sandbox).

Authorization header
Authorization: Bearer sk_live_your_key_here

Test keys behave identically but let you build safely. The /entities and /watchlists read endpoints are public and need no key.

POST /v1/screen

Screen a single person or company name. Billable: 1 screen.

Request
curl https://screen100.com/api/v1/screen \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 6f9c...optional" \
  -d '{
    "name": "Ramzan Kadyrov",
    "type": "individual"
  }'
Response 200
{
  "query": "Ramzan Kadyrov",
  "type": "individual",
  "result": "match",
  "hit_count": 1,
  "top_score": 0.97,
  "hits": [
    {
      "primary_name": "KADYROV, Ramzan Akhmatovich",
      "matched_name": "KADYROV, Ramzan Akhmatovich",
      "name_type": "primary",
      "score": 0.97,
      "entity_type": "individual",
      "source": "OFAC_SDN",
      "source_entry_id": "36832",
      "programs": ["RUSSIA-EO14024"],
      "slug": "kadyrov-ramzan-akhmatovich-ofac-sdn-36832"
    }
  ],
  "lists_searched": ["OFAC_SDN", "OFAC_CONS", "UN_SC"],
  "screened_at": "2026-07-12T00:00:00.000Z",
  "request_id": "req_..."
}

Fields: name (required, 2–200 chars), type (individual | entity | vessel | aircraft | any), min_score (0.5–1, default 0.72), limit (1–100).

Result is match (a hit ≥ 0.88), possible_match (0.72–0.88) or clear.

POST /v1/batch (Pro)

Screen up to 100 names in one request. Requires the Pro plan.

Request
curl https://screen100.com/api/v1/batch \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "names": ["Ramzan Kadyrov", "Acme Trading LLC"] }'

Returns a summary (counts of match/possible/clear) and a results array in input order.

GET /v1/entities/{slug}

Fetch the full record for one listed entity. Public — no key required.

Request
curl https://screen100.com/api/v1/entities/kadyrov-ramzan-akhmatovich-ofac-sdn-36832

GET /v1/watchlists

List the sanctions lists Screen100 searches, with counts and provenance. Public.

Request
curl https://screen100.com/api/v1/watchlists

Errors

Errors are structured JSON with a stable code and a request_id you can quote in support.

Error 401
{
  "error": {
    "code": "invalid_key",
    "message": "API key is invalid or revoked.",
    "docs": "https://screen100.com/docs/api#errors",
    "request_id": "req_..."
  }
}

Codes: unauthorized, invalid_key, invalid_request, quota_exceeded, rate_limited, plan_required, not_found, internal_error.

Rate limits & quota

Each response includes x-quota-limit and x-quota-remaining headers. Free allows 50 screens/month at 10 requests/minute; Pro allows 10,000/month at 120/minute. Send an Idempotency-Key header to make retries safe — a repeated key is not billed twice.

Prefer MCP?

Add Screen100 to any MCP-compatible agent and it gets screen_entity, batch_screen, get_entity and list_watchlists tools.

MCP setup →