Start free trial
Developer docs

Screening API

Programmatic access to the same screening engine that powers the Kleerance web app. Send a name, get honest, complete matches across OFAC (SDN & Consolidated), UN, EU and UK HMT — with confidence scores and primary-source links you can present to auditors.

Base URL

https://kleerance.com/api/v1

Authentication

All requests require a Bearer token in the Authorization header. Generate keys from the API keys page (Growth & Enterprise plans). Keys look like klr_live_… — treat them like passwords and never commit them to source control.

Authorization: Bearer klr_live_YOUR_KEY_HERE

Screen a name

POST/api/v1/screen

Request body

FieldTypeDescription
querystring (2–200)Name or entity to screen. Required.
limitinteger (1–50)Max matches to return. Default 25.
source_short_codestring[]Restrict to specific lists, e.g. ["OFAC-SDN","UN-CONS"]. Omit for all lists.

Example request

cURL
curl -X POST https://kleerance.com/api/v1/screen \ -H "Authorization: Bearer klr_live_YOUR_KEY_HERE" \ -H "Content-Type: application/json" \ -d '{ "query": "Vladimir Putin", "limit": 10 }'

Example response

200 OK
{ "query": "Vladimir Putin", "matches": [ { "entity_id": "b1e2...", "slug": "vladimir-putin-ofac-sdn", "name": "PUTIN, Vladimir Vladimirovich", "entity_type": "person", "aliases": ["Putin, V.V.", "Владимир Путин"], "programs": ["UKRAINE-EO13661", "RUSSIA-EO14024"], "score": 100, "matched_name": "PUTIN, Vladimir Vladimirovich", "matched_field": "primary", "source": { "id": "0f2c...", "name": "OFAC Specially Designated Nationals", "short_code": "OFAC-SDN" }, "primary_source_url": "https://kleerance.com/sanctions/vladimir-putin-ofac-sdn" } ], "meta": { "count": 1, "plan": "growth", "monthly_limit": 10000, "remaining_this_period": 9873, "disclaimer": "Informational screening only — not a consumer report under the FCRA. Always verify potential matches against the primary-source record before acting." } }

Response fields

Every match in the matches array includes:

The API returns the same complete results the website shows — we never truncate the match list or hide the count.

Rate limits & quotas

Quotas are enforced per user, per billing period. Every successful response includes headers:

X-RateLimit-Limit:     10000
X-RateLimit-Remaining: 9873
PlanAPI accessMonthly calls
Free
Essentials
Growth10,000
EnterpriseUnlimited

A per-key burst limit of 60 requests / minute also applies, regardless of plan, to protect the service from sudden spikes.

Errors

Errors return a JSON body of shape { "error": { "code", "message", ... } }.

StatusCodeMeaning
400invalid_bodyMalformed JSON or missing/invalid fields.
401invalid_api_keyMissing, malformed, or revoked API key.
402plan_upgrade_requiredCurrent plan does not include API access.
429quota_exceededMonthly call quota reached. Resets next billing cycle.
429rate_limitedPer-key burst limit (60/min) exceeded. Retry after 60s.
500internalServer error. Safe to retry after a short backoff.

Compliance framing

Kleerance provides informational screening only — it is not a consumer report under the Fair Credit Reporting Act (FCRA) or a substitute for legal counsel. Every match should be verified against the issuing authority's primary-source record before any decision affecting a person or entity is made. The primary_source_url on each match links to that record's canonical Kleerance page, which cites the issuing list.