Sanctions data updated hourly

API

API Documentation

Integrate sanctions screening directly into your applications with our REST API.

Base URL: https://api.ofacscreen.com/api/v1/

Getting Started

The OFACScreen API allows you to programmatically screen names and entities against OFAC and other sanctions lists. Follow these steps to get up and running:

1

Create an Account

Sign up for a Business or Enterprise plan to access the API.

2

Generate API Key

Go to your dashboard settings to generate a Bearer token.

3

Make Your First Call

Use the examples below to start screening against sanctions lists.

Authentication

All API requests must include a Bearer token in the Authorization header. You can generate API keys from your account dashboard.

Authorization: Bearer your_api_key_here

Keep your API key secret. Do not expose it in client-side code, public repositories, or browser requests.

Screen (Single)

POST /api/v1/screen/

Screen a single name or entity against all enabled sanctions lists. Returns match results with confidence scores.

Request

curl -X POST https://api.ofacscreen.com/api/v1/screen/ \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "John Smith",
    "type": "individual",
    "threshold": 0.3
  }'

Parameters

Parameter Type Required Description
name string Yes Name or entity to screen (max 500 characters)
type string No "individual", "entity", "vessel", or "aircraft". Defaults to all types.
threshold number No Minimum match score between 0.0 and 1.0. Defaults to 0.3.

Response

{
  "query": "John Smith",
  "screened_at": "2026-03-04T14:30:00Z",
  "total_matches": 1,
  "matches": [
    {
      "id": 281578,
      "name": "John Ka-chiu LEE",
      "entry_type": "individual",
      "list_code": "OFAC_SDN",
      "list_name": "OFAC Specially Designated Nationals (SDN)",
      "program": "HK-EO13936",
      "remarks": "",
      "score": 0.333,
      "score_pct": 33,
      "matched_alias": "John LEE",
      "aliases": ["John LEE", "Ka Chiu LEE"],
      "addresses": [{"city": "Kowloon", "country": "Hong Kong"}],
      "identifications": [{"type": "National ID No.", "number": "G0286787"}],
      "match_level": "low"
    }
  ]
}

Screen (Batch)

POST /api/v1/screen/batch/

Screen multiple names or entities in a single request. Supports up to 100 names per batch. For larger batches, use the CSV upload feature in the web dashboard.

Request

curl -X POST https://api.ofacscreen.com/api/v1/screen/batch/ \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "names": ["John Smith", "Acme Trading LLC", "Jane Doe"],
    "type": "individual",
    "threshold": 0.3
  }'

Parameters

Parameter Type Required Description
names array Yes Array of name strings to screen (max 100)
type string No "individual", "entity", "vessel", or "aircraft". Defaults to all types.
threshold number No Minimum match score between 0.0 and 1.0. Defaults to 0.3.

Response

{
  "screened_at": "2026-03-04T14:30:00Z",
  "total_screened": 3,
  "results": [
    {
      "query": "John Smith",
      "total_matches": 1,
      "matches": [...]
    },
    {
      "query": "Acme Trading LLC",
      "total_matches": 0,
      "matches": []
    },
    {
      "query": "Jane Doe",
      "total_matches": 0,
      "matches": []
    }
  ]
}

Lists

GET /api/v1/lists/

Retrieve information about all available sanctions lists, including the last update timestamp. This endpoint does not require authentication.

Request

curl https://api.ofacscreen.com/api/v1/lists/

Response

{
  "lists": [
    {
      "code": "OFAC_SDN",
      "name": "OFAC Specially Designated Nationals (SDN)",
      "description": "The primary US sanctions list maintained by the Office of Foreign Assets Control.",
      "country": "United States",
      "last_updated": "2026-03-04T12:00:00Z"
    },
    {
      "code": "EU_FSF",
      "name": "EU Financial Sanctions (FSF)",
      "description": "The European Union consolidated list of persons, groups and entities subject to EU financial sanctions.",
      "country": "European Union",
      "last_updated": "2026-03-04T11:00:00Z"
    }
  ]
}

Monitoring

GET POST DELETE /api/v1/monitoring/

Manage entities for continuous monitoring. Monitored entities are automatically re-screened on every sanctions list update. You'll receive an email alert when a new match is detected.

List Entities

curl https://api.ofacscreen.com/api/v1/monitoring/ \
  -H "Authorization: Bearer your_api_key_here"
{
  "entities": [
    {
      "id": 42,
      "name": "John Smith",
      "entity_type": "individual",
      "last_checked_at": "2026-03-04T12:00:00Z",
      "last_match_found": false,
      "last_match_score": 0.0
    }
  ],
  "total": 1
}

Add Entity

curl -X POST https://api.ofacscreen.com/api/v1/monitoring/ \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"name": "John Smith", "entity_type": "individual"}'
{
  "id": 42,
  "name": "John Smith",
  "entity_type": "individual",
  "created": true
}

Remove Entity

curl -X DELETE https://api.ofacscreen.com/api/v1/monitoring/ \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"id": 42}'
{"id": 42, "deleted": true}

Note: The number of monitored entities is limited by your plan. Entities are automatically screened on every sanctions list update. Email alerts are sent when a new match is detected.

Rate Limits

API usage is subject to your plan's monthly search quota. Rate limit headers are included in every response.

Plan Monthly Quota
Business 10,000 searches
Enterprise Unlimited

Rate Limit Headers

X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9955

If you exceed your monthly quota, you will receive a 429 Too Many Requests response with a Retry-After header.

Error Codes

The API uses standard HTTP status codes to indicate success or failure.

Status Description
200 Success. Results returned.
400 Bad request. Check your request parameters.
401 Unauthorized. Invalid or missing API key.
403 Forbidden. Your plan does not include API access.
429 Rate limit exceeded. Retry after the reset period.
500 Internal server error. Contact support if this persists.

Error Response Format

{
  "error": "name field is required"
}

API

Ready to Integrate?

API access is available on our Business and Enterprise plans. Start your free trial to get your API key.