API reference
US Sanctions screening
Last updated
Purpose
Screens individuals and entities against every US federal restricted-party list: OFAC (SDN, Non-SDN, SSI, FSE), BIS (Entity List, Denied Persons, Unverified), DDTC (Debarred), ITA (Nonproliferation), GSA SAM (Exclusions), and DHS UFLPA Entity List. Surfaces fuzzy matches with confidence scoring and supporting evidence. Designed for risk-management workflows that need a defensible, documented screening trail.
The service supports decisions about a business relationship; it does not replace professional sanctions or export-controls advice. Results carry a freshness timestamp from the underlying published list.
Base URL
https://api.farshorelabs.com/sanctions-screening/v1
Service ID for API key scoping: sanctions-screening.
POST /screen
Submit one entity for screening. Returns ranked matches with per-list provenance.
POST /v1/screen
Authorization: Bearer fsl_live_...
Content-Type: application/json
{
"kind": "individual",
"name": "John Q. Public",
"aliases": ["Jonathan Public"],
"dateOfBirth": "1972-03-14",
"nationality": "US",
"address": {
"country": "US",
"city": "Seattle"
},
"fuzziness": "balanced"
}Response (200):
{
"requestId": "9c1e9f2a-9c0d-4f1b-8a35-3e09b27b48a4",
"screenedAt": "2026-05-22T14:11:09Z",
"matches": [
{
"listSource": "ofac-sdn",
"entryId": "12345",
"matchedName": "John Q Public",
"confidence": 0.86,
"evidence": [
{ "field": "name", "weight": 0.55 },
{ "field": "nationality", "weight": 0.20 },
{ "field": "dateOfBirth", "weight": 0.11 }
],
"listFreshness": "2026-05-21T06:00:00Z"
}
],
"summary": {
"anyMatchAbove": 0.85,
"recommendedAction": "manual-review"
}
}Fuzziness levels:
strict— exact + light normalisation only. Few false positives.balanced(default) — phonetic + token-level similarity.loose— aggressive matching for due-diligence reviews.
POST /screen/batch
Submit up to 100 entities in a single call. Each is processed independently; the response is an array of the same shape as single-screen, in submission order.
GET /lists
Returns the catalog of supported sanctions sources, their last refresh timestamp, and the number of entries.
Retention
Screening request bodies are not persisted beyond the lifetime of the request. Only the requestId, screening timestamp, and a SHA-256 hash of the request body are retained for 30 days, to support audit reconstruction without storing the original PII.