# UK HMT Financial Sanctions Tracker (`nexgendata/uk-hmt-financial-sanctions-tracker`) Actor

Track the UK HM Treasury OFSI consolidated financial sanctions list. Returns normalized JSON with names, aliases, type, regime, dates, passport/ID, IMO, and addresses for AML/KYC, UK banks, and trade finance.

- **URL**: https://apify.com/nexgendata/uk-hmt-financial-sanctions-tracker.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 sanctioned entities

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## UK Sanctions List Tracker (HMT / FCDO)

The **canonical UK Sanctions List scraper for Apify.** Downloads the UK Sanctions List XML directly from the FCDO sanctionslist.fcdo.gov.uk CDN, parses every `<Designation>` element (one per real person / entity / ship), and returns normalized JSON ready for AML/KYC screening pipelines, UK bank onboarding, and trade-finance compliance.

> **Source migration notice:** The legacy OFSI Consolidated List of Asset Freeze Targets (`ofsistorage.blob.core.windows.net/.../ConList.xml`) was **closed on 28 January 2026**. The UK Sanctions List is now the only canonical source for all UK sanctions designations administered by HM Treasury OFSI, FCDO, and the Home Office. This actor was repointed to the new source on the day of the migration.

The UK Sanctions List is the **master sanctions list** that every UK-regulated bank, payment institution, fintech, MSB, exporter, and trade-finance counterparty is required to screen against under the Sanctions and Anti-Money Laundering Act 2018. Since Brexit, the UK runs its own autonomous sanctions regime alongside its UN obligations — UK designations are no longer automatically synced with EU FSD designations, so screening UK separately is no longer optional.

### What you get per sanctioned entity

Every record returned by this actor follows a normalized cross-source schema (same shape as our [OFAC SDN](https://apify.com/nexgendata/ofac-sdn-watchlist-scraper?fpr=2ayu9b), [UN](https://apify.com/nexgendata/un-sanctions-consolidated-tracker?fpr=2ayu9b), and [EU](https://apify.com/nexgendata/eu-consolidated-sanctions-tracker?fpr=2ayu9b) sanctions trackers):

| Field | Description |
|---|---|
| `entity_name` | Primary listed name (the `NameType="Primary Name"` record) |
| `entity_aliases` | All other aliases (Latin + non-Latin scripts) |
| `entity_type` | Individual, Entity, or Vessel (from `IndividualEntityShip`) |
| `sanctioning_authority` | Always `UK_HMT` for this actor |
| `program_name` | UK regime name (Russia, Iran, ISIL/Da'esh, DPRK, Belarus, etc.) |
| `listed_date` | ISO `DateDesignated` |
| `nationality` | `IndividualDetails/Nationalities/Nationality` or ship flag |
| `country_of_origin` | `BirthDetails/Location/CountryOfBirth` or first address country |
| `address` | All `Addresses/Address` blocks joined |
| `date_of_birth` | ISO from `IndividualDetails/DOBs/DOB` |
| `passport_number` | All `PassportDetails/Passport/PassportNumber` entries |
| `id_number` | National IDs, business registration numbers, IMO numbers (ships) — typed |
| `uk_sanctions_ref` | UK's official designation ref (`UniqueID`, e.g. `RUS0001`, `GHR0086`) |
| `uk_group_id` | Legacy `OFSIGroupID` for cross-reference with the old consolidated list |
| `group_status` | The `SanctionsImposed` string (e.g. `Asset freeze`, `Travel Ban`) |
| `un_reference_id` | UN cross-reference when the UK designation mirrors a UN one |
| `remarks` | `UKStatementofReasons` and/or `OtherInformation` |
| `last_updated` | ISO `LastUpdated` |
| `source_url` | The official gov.uk landing page for the UK Sanctions List |

### Input — every filter is optional

```json
{
  "entity_search": "gazprom",
  "sanctioning_program": "Russia",
  "entity_type": "Entity",
  "maxResults": 100
}
````

- `entity_search` — case-insensitive substring match against name and aliases
- `sanctioning_program` — substring match against UK regime name
- `entity_type` — `all`, `Individual`, `Entity`, or `Vessel`
- `maxResults` — cap on output (1-5000, default 100)

### Use cases

- **UK bank onboarding & KYC** — fulfill OFSI / FCDO screening obligations during CIP / CDD
- **UK payment compliance** — pre-screen Faster Payments / CHAPS / SWIFT counterparties
- **UK trade finance** — block letters of credit and bills of lading to UK-designated parties
- **UK exporters under SAMLA** — verify counterparties against UK autonomous regime designations
- **Post-Brexit AML programs** — screen UK separately from EU FSD (no longer auto-synced)
- **UK crypto exchanges** — comply with FCA / MLR 2017 obligations
- **UK shipping & marine insurance** — screen vessel IMOs against UK ship designations

### Cross-sell: the Sanctions Quartet

This actor is one of four direct-download sanctions scrapers built on a single shared engineering template. Real-world AML programs screen against multiple authority lists in parallel — buy them as a bundle:

- [OFAC SDN Watchlist Scraper](https://apify.com/nexgendata/ofac-sdn-watchlist-scraper?fpr=2ayu9b) - US Treasury OFAC list
- [UN Sanctions Consolidated Tracker](https://apify.com/nexgendata/un-sanctions-consolidated-tracker?fpr=2ayu9b) - UN Security Council consolidated list
- [EU Consolidated Sanctions Tracker](https://apify.com/nexgendata/eu-consolidated-sanctions-tracker?fpr=2ayu9b) - European Union financial sanctions
- [UK Sanctions List Tracker (HMT / FCDO)](https://apify.com/nexgendata/uk-hmt-financial-sanctions-tracker?fpr=2ayu9b) - **you are here**

### Why this actor vs. the alternatives

| Option | Cost | Schema stability | Auto-update | API access | Maintenance |
|---|---|---|---|---|---|
| **UK Sanctions List Tracker (this)** | $0.05/entity | Stable normalized | Daily (run on schedule) | Apify REST / Webhooks | Zero - fully managed |
| Raw FCDO `UK-Sanctions-List.xml` | Free | 20+MB XML, deeply nested per-designation tree | Manual download | None | You parse, you maintain |
| Refinitiv World-Check | $30K+/yr enterprise | Stable | Real-time | REST | Contract negotiation |
| LexisNexis Bridger | $20K+/yr enterprise | Stable | Real-time | REST | Contract negotiation |
| ComplyAdvantage | $5K+/mo | Stable | Real-time | REST | Contract negotiation |

### Data freshness

The FCDO republishes `UK-Sanctions-List.xml` whenever a new designation is published in The London Gazette (typically same-day on business days). Schedule this actor daily during periods of active sanctions activity (e.g. fresh Russia regime updates).

### Source

This actor pulls from the official FCDO Sanctions List CDN endpoint:

```
https://sanctionslist.fcdo.gov.uk/docs/UK-Sanctions-List.xml
```

Landing page:

```
https://www.gov.uk/government/publications/the-uk-sanctions-list
```

This is a publicly published structured data feed maintained by the FCDO and HM Treasury OFSI. No authentication, no rate limit, no proxy required.

***

Built by [NexGenData](https://apify.com/nexgendata?fpr=2ayu9b). Try [Apify free](https://www.apify.com/?fpr=2ayu9b).

# Actor input Schema

## `entity_search` (type: `string`):

Case-insensitive substring match against the entity name and any aliases. Leave empty to return all entries. Example: 'rosneft' or 'gazprom'.

## `sanctioning_program` (type: `string`):

Case-insensitive substring match against the UK regime name (e.g. Russia, ISIL, Iran, Syria, Belarus, Global Human Rights, Afghanistan, Counter Terrorism, Libya, Myanmar). Leave empty for all regimes.

## `entity_type` (type: `string`):

Restrict to a single UK entity type: Individual, Entity (companies/organizations), Vessel (Ship), or 'all' for no filter.

## `maxResults` (type: `integer`):

Maximum number of sanctioned entity records to return after filters are applied. Range 1-5000. Default 100.

## Actor input object example

```json
{
  "entity_search": "",
  "sanctioning_program": "",
  "entity_type": "all",
  "maxResults": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "entity_search": "",
    "sanctioning_program": "",
    "entity_type": "all",
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/uk-hmt-financial-sanctions-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "entity_search": "",
    "sanctioning_program": "",
    "entity_type": "all",
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/uk-hmt-financial-sanctions-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "entity_search": "",
  "sanctioning_program": "",
  "entity_type": "all",
  "maxResults": 100
}' |
apify call nexgendata/uk-hmt-financial-sanctions-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/uk-hmt-financial-sanctions-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "UK HMT Financial Sanctions Tracker",
        "description": "Track the UK HM Treasury OFSI consolidated financial sanctions list. Returns normalized JSON with names, aliases, type, regime, dates, passport/ID, IMO, and addresses for AML/KYC, UK banks, and trade finance.",
        "version": "0.0",
        "x-build-id": "VTWgOfiHAouI8TFE5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~uk-hmt-financial-sanctions-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-uk-hmt-financial-sanctions-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nexgendata~uk-hmt-financial-sanctions-tracker/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-uk-hmt-financial-sanctions-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nexgendata~uk-hmt-financial-sanctions-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-uk-hmt-financial-sanctions-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "entity_search": {
                        "title": "Entity name search (substring)",
                        "type": "string",
                        "description": "Case-insensitive substring match against the entity name and any aliases. Leave empty to return all entries. Example: 'rosneft' or 'gazprom'.",
                        "default": ""
                    },
                    "sanctioning_program": {
                        "title": "Sanctioning regime (substring)",
                        "type": "string",
                        "description": "Case-insensitive substring match against the UK regime name (e.g. Russia, ISIL, Iran, Syria, Belarus, Global Human Rights, Afghanistan, Counter Terrorism, Libya, Myanmar). Leave empty for all regimes.",
                        "default": ""
                    },
                    "entity_type": {
                        "title": "Entity type",
                        "enum": [
                            "all",
                            "Individual",
                            "Entity",
                            "Vessel"
                        ],
                        "type": "string",
                        "description": "Restrict to a single UK entity type: Individual, Entity (companies/organizations), Vessel (Ship), or 'all' for no filter.",
                        "default": "all"
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of sanctioned entity records to return after filters are applied. Range 1-5000. Default 100.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
