OFAC SDN Watchlist Monitor - Exact Match avatar

OFAC SDN Watchlist Monitor - Exact Match

Pricing

$4.00 / 1,000 successful watchlist results

Go to Apify Store
OFAC SDN Watchlist Monitor - Exact Match

OFAC SDN Watchlist Monitor - Exact Match

Re-screen known OFAC SDN unique IDs or exact primary names against the public Treasury SDN list. Exact match only. Not identity verification and not a fuzzy name-search product. You only pay for successful checks you receive.

Pricing

$4.00 / 1,000 successful watchlist results

Rating

0.0

(0)

Developer

Technical Dost Solutions

Technical Dost Solutions

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

an hour ago

Last modified

Categories

Share

Re-screen SDN unique IDs or exact primary names you already hold against the public Treasury SDN list. Exact match only.

This Actor takes a caller-owned list of known SDN uid values and/or exact primary names, reads the public OFAC SDN CSV, and writes one structured row per query: listed or not, matched name, type and programs. Pass the previous run's snapshot back in and you get INITIAL, UNCHANGED or CHANGED when listing status or programs move.

This is not identity verification, not KYC, not AML decisioning, and not a fuzzy name-search product. It will not score “close” names, transliterations, or “is this the same person?” questions.


What this Actor does

You already have SDN unique IDs (preferred) or exact primary names copied from a prior SDN publication. You want a scheduled re-screen: still listed, programs changed, type changed — without treating the Actor as a screening engine for raw customer PII.

That is the job: exact re-screen of known SDN identifiers.


What you get

{
"schemaVersion": 1,
"id": "uid:36",
"status": "ok",
"uid": 36,
"queryName": null,
"listed": true,
"matchedName": "CASTRO RUZ Fidel",
"sdnType": "Individual",
"programs": ["CUBA"],
"publishDate": null,
"changeType": "INITIAL",
"changedFields": [],
"checkedAt": "2026-09-06T12:00:00.000Z",
"sourceUrl": "https://www.treasury.gov/ofac/downloads/sdn.xml",
"error": null
}

Uid 36 / the historical Castro primary name is a public SDN example, not a customer and not an endorsement. Prefer uid in production. Name match is exact against the SDN primary-name field after punctuation is stripped.

sourceUrl stays on the public Treasury path. The Actor follows official HTTPS redirects to retrieve the list; it does not persist signed object URLs.


Main use cases

  • Known-uid re-screen. Nightly check that SDN entries you already recorded are still present.
  • Program-code movement. programs is a compared field.
  • Exact-name confirmation. Only when you copied the SDN primary name exactly.
  • Workflow packaging. n8n / MCP / backend job around a list you already maintain.

Do not send raw customer names, emails, or “does this person match the list?” jobs. Use a dedicated screening product for that.


Quick start

{
"entities": [{ "uid": 36 }],
"maxItems": 1
}

Run it, open the dataset, and save NEXT_SNAPSHOT from the default key-value store.


Repeat workflow

  1. Keep one entity watchlist per control process (1–50 objects). Prefer uid.
  2. Start a bounded run. Schedule it yourself if you need a cadence.
  3. Save NEXT_SNAPSHOT in your private workflow state.
  4. On the next run pass it as previousSnapshot and set onlyChanges: true.
  5. Route listed flips and programs changes for human review.

Input

FieldTypeDefaultWhat it does
entitiesarray—1–50 objects with uid (positive integer) and/or name (2–200 chars). Prefer uid.
maxItemsinteger501–50. Must cover all unique entities.
onlyChangesbooleanfalseSuppress unchanged successful records without charging them.
previousSnapshotobject—Prior NEXT_SNAPSHOT with kind: "ofac".

Name match is exact after uppercasing and stripping punctuation. "CASTRO RUZ, Fidel" and "CASTRO RUZ Fidel" match each other. "FIDEL CASTRO" does not.


Pricing

EventPriceWhen it happens
Successful watchlist result$0.004One successful entity check written to the dataset
Actor startnoneNo custom start fee

You are not charged for: failed downloads, parse failures, retries, duplicate entities, invalid input, or unchanged records suppressed by onlyChanges.

The public SDN CSV is several megabytes. One run still bills per successful entity, not per downloaded byte. A 10-uid re-screen is $0.04 in event charges when all ten succeed.

How this compares

This Actor is not priced as the cheapest OFAC name-search dump. Search-oriented Store cards (2026-09-06) sit around $0.001–$0.01 per row and imply fuzzy or bulk name lookup. Use those if you need search. Use this Actor if you need exact uid/name re-screen with isolated snapshots.


Using the API

curl --fail -X POST "https://api.apify.com/v2/acts/technicaldost~ofac-sdn-entity-watchlist-monitor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"entities":[{"uid":36}],"maxItems":1}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('technicaldost/ofac-sdn-entity-watchlist-monitor').call({
entities: [{ uid: 36 }],
maxItems: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("technicaldost/ofac-sdn-entity-watchlist-monitor").call(run_input={
"entities": [{"uid": 36}],
"maxItems": 1,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["uid"], row["listed"], row["programs"], row["changeType"])

n8n / MCP. Server-side only. Do not send customer PII through a public agent chat.


Limitations

  • Exact uid or exact normalized primary name / alias only. No fuzzy match, no phonetics, no transliteration, no “same person” scoring.
  • Not a substitute for a regulated screening vendor, legal advice, or an OFAC compliance program.
  • SDN CSV/XML availability and size govern run time. Allow up to a few minutes on a cold download.
  • publishDate is present when the XML parser is used; the CSV path may leave it null.
  • At most 1,000 snapshot records are retained.

Source: public OFAC SDN list via official HTTPS redirects. Not affiliated with the U.S. Department of the Treasury or OFAC.



Changelog

See CHANGELOG.md. Release 1.0.0 (2026-09-06): exact uid/name SDN re-screen, isolated snapshots, $0.004 per successful result, no start fee.

Output example

Each result is one dataset item. A real item from a test run (long fields shortened):

{
"schemaVersion": 1,
"id": "uid:36",
"status": "ok",
"uid": 36,
"queryName": null,
"listed": true,
"matchedName": "AEROCARIBBEAN AIRLINES",
"sdnType": "-0- ",
"programs": [
"CUBA"
],
"publishDate": null,
"changeType": "INITIAL",
"changedFields": []
}

Use OFAC SDN Watchlist Monitor with AI agents (MCP)

Give Claude, ChatGPT, Cursor, VS Code or any MCP client this Actor as a tool through the hosted Apify MCP server. The agent sees the input fields with descriptions and example values, runs the Actor, and reads the results.

MCP server URL (this Actor only):

https://mcp.apify.com/?tools=technicaldost/ofac-sdn-entity-watchlist-monitor

Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=technicaldost/ofac-sdn-entity-watchlist-monitor" --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Cursor, VS Code, Claude Desktop and other clients (mcp.json or the client's MCP settings):

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=technicaldost/ofac-sdn-entity-watchlist-monitor",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}

Clients that support sign-in (such as Claude.ai connectors) can use the URL without a token and log in to Apify instead. Get your token in Apify Console → Settings → API & Integrations, or generate a ready config for your client at mcp.apify.com. In the agent the tool is named technicaldost--ofac-sdn-entity-watchlist-monitor; ask it, for example, to "run OFAC SDN Watchlist Monitor with {"entities": [{"uid": 36}]}".

AI agents without an Apify account can also run and pay for this Actor per request with x402 agentic payments.

Run OFAC SDN Watchlist Monitor via API

Run the Actor and get its results in one call (replace YOUR_APIFY_TOKEN):

curl -X POST "https://api.apify.com/v2/acts/technicaldost~ofac-sdn-entity-watchlist-monitor/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"entities": [{"uid": 36}]}'

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("technicaldost/ofac-sdn-entity-watchlist-monitor").call(run_input={"entities": [{"uid": 36}]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / TypeScript (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('technicaldost/ofac-sdn-entity-watchlist-monitor').call({"entities": [{"uid": 36}]});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Long runs: start them with POST /v2/acts/technicaldost~ofac-sdn-entity-watchlist-monitor/runs and fetch the dataset when the run finishes, or receive a webhook.

FAQ

Can I use OFAC SDN Watchlist Monitor with AI agents like Claude or ChatGPT?

Yes. Connect the Apify MCP server with ?tools=technicaldost/ofac-sdn-entity-watchlist-monitor (see above) and the agent can run the Actor and read its results on its own.

Can I call OFAC SDN Watchlist Monitor from my own code?

Yes. Use the REST API, or the official Python and JavaScript clients shown above. Results are available as JSON, CSV, Excel, XML or HTML.

How do I run it on a schedule?

Save your input as a task in Apify Console and add a schedule (for example, daily). Use webhooks or integrations to send each run's results onward.

It works with publicly available data. Make sure your use complies with the source website's terms and with data protection laws such as GDPR, especially for personal data.

Something doesn't work or I need a feature. What should I do?

Open an issue in the Issues tab on this Actor's page with an example input, and we'll look into it.