Sanctions List New-Addition Delta Monitor (OFAC/EU/UN/UK)
Pricing
from $10.00 / 1,000 sanctions list checkeds
Sanctions List New-Addition Delta Monitor (OFAC/EU/UN/UK)
Continuously tracks OFAC SDN, EU Consolidated, UN Security Council and UK FCDO sanctions lists and alerts on NEW additions since the last check. Official government/EC/UN sources only; no scraping, no API key needed.
Pricing
from $10.00 / 1,000 sanctions list checkeds
Rating
0.0
(0)
Developer
Geo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
Sanctions List New-Addition Delta Monitor (OFAC, EU, UN, UK)
A sanctions watchlist change monitor. Schedule it daily or weekly and it tells you who was newly added to the OFAC SDN list, the EU Consolidated Sanctions List, the UN Security Council Consolidated List and the UK FCDO Sanctions List since the previous run. Each new designation arrives as one structured JSON record. Data comes only from the official government/EC/UN XML files: no scraping, no login, no API key.
What is the Sanctions Delta Monitor?
Most sanctions tools answer "is this name on a list right now?". This actor answers a different question: "what changed since I last looked?"
On every run it downloads the current XML of each list you select, compares the entity IDs with the snapshot saved by the previous run, and emits one dataset record per newly added entity. The snapshot lives in a named Apify key-value store (sanctions-delta-state) that is shared across all runs of your copy of the actor, so state survives between scheduled runs.
It is built for continuous, unattended compliance monitoring. If you instead need to screen a specific company name against the lists on demand, use our Sanctions Screening API — GLEIF LEI & OFAC/EU/UN/UK Checker. The two are complementary: screen a counterparty once with the screener, then watch for new designations with this monitor.
What data does it return?
| Field | Description |
|---|---|
source | OFAC, EU, UN or UK |
changeType | NEW_ADDITION, REMOVED, BASELINE_SNAPSHOT or ERROR |
entityId | The list's own stable identifier (OFAC uid, EU logicalId, UN DATAID/REFERENCE_NUMBER, UK UniqueID) |
name | Primary name |
entityType | individual, entity, vessel or other |
programs | Sanctions programs / regimes listed for the entity |
aliases | Alternative names (up to 25) |
listedDate | Listing date where the source provides one (EU, UN, UK; not OFAC's SDN file) |
detectedAt | ISO timestamp of the run that detected the change |
sourceUrl | The official file the record came from |
entityCount, message | On BASELINE_SNAPSHOT rows: size of the stored snapshot |
errorCode, errorMessage | On ERROR rows |
Identity is always the list's own ID, never the name, so formatting changes in a name do not produce false alerts.
How to monitor sanctions list changes
- Open the actor and choose the lists to monitor (the default is OFAC only).
- Run it once. The first run only captures a baseline for each list (see below), so nothing is flagged as new.
- Create an Apify schedule for the actor (daily or weekly, for example
0 7 * * *). This is the intended usage pattern: every later run reports only what is new since the previous one. - Add a webhook or integration (Slack, email, Make, n8n, your own API) on run success to forward
NEW_ADDITIONrecords to your compliance team.
First run = baseline, not a flood of alerts
The very first run for a list has nothing to compare with. Instead of flagging thousands of existing entries as "new", the actor stores the snapshot and pushes one BASELINE_SNAPSHOT record per list. No new-addition-alert is charged for a baseline. Monitoring starts from that moment.
Input
{"lists": ["OFAC", "UN"],"detectRemovals": false,"maxTotalChargeUsd": 1}
| Field | Type | Description |
|---|---|---|
lists | array (required) | Any of OFAC, EU, UN, UK. Default prefill: ["OFAC"]. |
detectRemovals | boolean | Also report de-listings as REMOVED records. Default false. |
maxTotalChargeUsd | number | Per-run spend cap. Once the next charge would exceed it, the actor stops charging and exits cleanly. |
Output example: new addition
The values below show the record shape, not a real designation:
{"source": "UN","changeType": "NEW_ADDITION","entityId": "6908123","name": "EXAMPLE ENTITY NAME","entityType": "entity","programs": ["Al-Qaida"],"aliases": ["EXAMPLE ALIAS"],"listedDate": "2026-11-03","detectedAt": "2026-11-05T07:00:12.431Z","sourceUrl": "https://scsanctions.un.org/resources/xml/en/consolidated.xml"}
Output example: baseline snapshot
{"source": "OFAC","changeType": "BASELINE_SNAPSHOT","entityCount": 17000,"message": "Baseline snapshot captured, 17000 entities, monitoring starts now.","detectedAt": "2026-11-05T07:00:12.431Z","sourceUrl": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.XML"}
(entityCount above is illustrative; the real record carries the actual count.)
Pricing
Pay-per-event. You pay for the monitoring work, and a little more only when something actually changes.
| Event | Price | When charged |
|---|---|---|
actor-start | $0.01 | Once per run in which at least one list was checked |
list-checked | $0.01 | Once per list fetched, parsed and compared (primary event; includes the baseline run) |
new-addition-alert | $0.03 | Once per newly added entity (never on a baseline run) |
delisting-alert | $0.02 | Once per removed entity, only if detectRemovals is on |
Typical run, all 4 lists, nothing new (the common case; these lists rarely change day to day): $0.01 + 4 × $0.01 = $0.05. Run that finds 3 new additions: $0.05 + 3 × $0.03 = $0.14. Daily OFAC-only monitoring: $0.02 per quiet day, roughly $0.60 per month.
For comparison, a compliance analyst manually re-checking four government sites each day spends minutes per site per day and can easily miss an update; the free government feeds give you the full file, not a diff. Treat the per-run cost above as the price of the diff, delivered on a schedule.
Set maxTotalChargeUsd to cap spend per run. When the cap (or the platform's own charge limit) is reached, the actor stops gracefully and does not advance the stored snapshot for the affected list, so unreported changes are picked up by the next run.
Limitations
- Baseline first. The first run per list only stores a snapshot. You will not see existing designations as additions.
- State is per Apify account. The snapshot is kept in the named store
sanctions-delta-state. Deleting that store resets monitoring to a new baseline. Each list is tracked independently, so adding a list later baselines just that list. - EU file is large (about 25 MB). Fetch and parse take noticeably longer and need more memory than the other lists; the actor allows up to 120 seconds for the download. Start with OFAC if you want a quick first test.
- UK source. The UK list is read from the current FCDO Sanctions List (
sanctionslist.fcdo.gov.uk). The old OFSI Consolidated List closed in January 2026 and is not used. The actor keys UK designations onUniqueID(falling back to a name+regime hash with a warning if a record has no ID), based on the XML layout the parser expects. If the FCDO changes its XML layout, the UK source will report anERRORrow until the parser is updated. - OFAC scope. Only the SDN list is monitored. The non-SDN consolidated list (CONS_PRIM) is not included in this version.
- Removals are opt-in. With
detectRemovalson, de-listings are reported asREMOVEDrecords with ID and name only. New additions are detected by ID only, so a change to an existing entry (new alias, new program) is not reported. - Safety checks. If a download parses to zero entities, or to fewer than half of the stored snapshot, it is treated as a bad download: an
ERRORrow is pushed and the stored snapshot is left untouched. - Failures are isolated. If one list fails after up to 3 attempts, you get an
ERRORrow for it and the other lists still run and are billed normally. If every selected list fails, or the input is invalid (emptylists, unknown code), the run pushes anERRORrow and ends as failed. It is never a silent empty success. - Each list is fetched at most 3 times per run, with a descriptive
User-Agent.
FAQ
Is this a replacement for a KYC/AML screening vendor?
No. It is a compliance-screening aid that surfaces new entries on four public lists. It does not cover other lists (for example, national lists not named here), does not do fuzzy name matching against your customers, and is not legal advice. Keep a licensed KYC/AML provider for regulated decisions and verify every hit against the official source before acting.
Is it legal to use these lists?
The actor reads only the official publications of the US Treasury (OFAC), the European Commission, the UN Security Council and the UK FCDO, at their published public file URLs. It is not affiliated with or endorsed by any of these bodies.
How is this different from the GLEIF sanctions screener?
The screener checks names you supply against the lists, on demand. This monitor needs no names: it watches the lists themselves and reports additions over time.
Can I run it without a schedule?
Yes, but it only reports changes since your previous run, so it is most useful on a daily or weekly schedule.
Support
Questions, bugs or ideas? Open an issue on the actor's Issues tab. Feedback and custom solutions are welcome.