SancScreen API
Screen entities against 13 global sanctions lists. API key required — sign up free.
Authentication
All API endpoints require an API key. Sign up for free to get your key.
Include your key in every request using one of these methods:
Option 1: Authorization header
Authorization: Bearer sk_live_your_key_here
Option 2: x-api-key header
x-api-key: sk_live_your_key_here
Example
curl -X POST https://your-domain.com/api/v1/screen \
-H "Content-Type: application/json" \
-H "x-api-key: sk_live_your_key_here" \
-d '{"query": "Bank of Syria"}'Overview
All responses follow a standard JSON envelope. Successful responses include rate-limit headers.
Success envelope
{
"ok": true,
"data": { ... },
"meta": {
"timestamp": "2026-03-13T...",
"version": "v1"
}
}Error envelope
{
"ok": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "..."
},
"meta": {
"timestamp": "2026-03-13T...",
"version": "v1"
}
}Rate Limit Headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1710345600
Screen Entity
/api/v1/screenScreen a single entity (name, IMO number, or MMSI) against all 13 sanctions lists. Returns a HIT or CLEAR verdict with matching details.
Request body (JSON)
querystringrequiredName, IMO number, or MMSI to screentypestringForce query type: "name", "imo", or "mmsi". Auto-detected if omitted.Example request
curl -X POST https://your-domain.com/api/v1/screen \
-H "Content-Type: application/json" \
-d '{"query": "Bank of Syria"}'Example response
{
"ok": true,
"data": {
"query": "Bank of Syria",
"queryType": "NAME",
"verdict": "HIT",
"matchCount": 3,
"activeHits": 2,
"results": [
{
"id": "clx...",
"primaryName": "Commercial Bank of Syria",
"sourceList": "OFAC_SDN",
"entityType": "Entity",
"status": "ACTIVE",
"score": 0.85,
"aliases": ["CBS"],
"programs": ["SYRIA"]
}
]
},
"meta": { "timestamp": "...", "version": "v1" }
}Rate limit: 60 requests/minute per IP
Bulk Screen
/api/v1/screen/bulkUpload a CSV file to screen multiple entities at once. The CSV should have a header row with at least one column: name, imo, vessel_name, or company_name.
Request (multipart/form-data)
fileFile (.csv)requiredCSV file with entities to screenExample request
curl -X POST https://your-domain.com/api/v1/screen/bulk \ -F "file=@entities.csv"
Example response
{
"ok": true,
"data": {
"fileName": "entities.csv",
"totalRows": 100,
"totalHits": 3,
"totalClear": 97,
"results": [
{
"row": 1,
"query": "Acme Corp",
"queryType": "NAME",
"verdict": "CLEAR",
"matchCount": 0,
"activeHits": 0,
"topMatch": null
}
]
},
"meta": { "timestamp": "...", "version": "v1" }
}Rate limit: 5 requests/minute per IP
List Sources
/api/v1/sourcesGet all 13 sanctions sources with their active entity counts.
Example response
{
"ok": true,
"data": {
"sources": [
{ "key": "OFAC_SDN", "label": "OFAC SDN", "activeCount": 12543 },
{ "key": "EU_CONSOLIDATED", "label": "EU Consolidated", "activeCount": 5021 },
{ "key": "UK_OFSI", "label": "UK OFSI", "activeCount": 4830 }
],
"totalSources": 13
},
"meta": { "timestamp": "...", "version": "v1" }
}Browse Source Entities
/api/v1/sources/{sourceList}Browse entities from a specific sanctions source with pagination, filtering, and search.
Query parameters
pagenumberPage number (default: 1)pageSizenumberResults per page, max 100 (default: 50)statusstringFilter by ACTIVE or DELISTEDentityTypestringFilter by Individual, Entity, or VesselsearchstringCase-insensitive name searchsortstringSort by: name, status, type, updated (default: name)orderstringSort order: asc or desc (default: asc)formatstringSet to "csv" to download as CSV fileExample request
curl "https://your-domain.com/api/v1/sources/OFAC_SDN?page=1&pageSize=10&status=ACTIVE&search=bank"
Example response
{
"ok": true,
"data": {
"source": { "key": "OFAC_SDN", "label": "OFAC SDN" },
"entities": [
{
"id": "clx...",
"primaryName": "Central Bank of Iran",
"entityType": "Entity",
"status": "ACTIVE",
"aliases": ["CBI", "Bank Markazi"],
"programs": ["IRAN"],
"updatedAt": "2026-03-13T..."
}
]
},
"meta": {
"timestamp": "...",
"version": "v1",
"page": 1,
"pageSize": 10,
"total": 234,
"totalPages": 24
}
}Error Codes
| Code | HTTP Status | Description |
|---|---|---|
| UNAUTHORIZED | 401 | Missing, invalid, or revoked API key |
| VALIDATION_ERROR | 400 | Invalid request (missing fields, bad format) |
| NOT_FOUND | 404 | Resource not found (invalid source list) |
| RATE_LIMITED | 429 | Too many requests. Wait and retry. |
| INTERNAL_ERROR | 500 | Server error. Contact support. |
Supported Sources
| Key | Source |
|---|---|
| OFAC_SDN | US Treasury OFAC SDN List |
| OFAC_CONS | US Treasury OFAC Non-SDN Consolidated |
| EU_CONSOLIDATED | EU Consolidated Sanctions |
| UK_OFSI | UK OFSI Consolidated List |
| UN_SC | UN Security Council Sanctions |
| CA_SEMA | Canada SEMA Sanctions |
| AU_DFAT | Australia DFAT Sanctions |
| CH_SECO | Swiss SECO Sanctions |
| US_BIS | US BIS Entity List |
| JP_MOF | Japan MOF Sanctions |
| SG_MAS | Singapore MAS Enforcement |
| WB_DEBARRED | World Bank Debarred Firms |
| INTERPOL_RED | INTERPOL Red Notices |