# OFAC Sanctions List Scraper (`scrapers_lat/ofac-sanctions-scraper`) Actor

Download and parse the US Treasury OFAC SDN and Consolidated sanctions lists. Get each sanctioned party with name, aliases, programs, type, addresses, dates of birth, nationalities and ID numbers for KYC and AML screening.

- **URL**: https://apify.com/scrapers\_lat/ofac-sanctions-scraper.md
- **Developed by:** [Michael Flores](https://apify.com/scrapers_lat) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## OFAC Sanctions List Scraper

> Download the full US Treasury OFAC sanctions data, every party on the SDN and Consolidated lists with names, aliases, programs, dates of birth, nationalities and ID numbers for KYC and AML screening

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Global-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>15 fields</strong><br>per record</td>
<td align="center"><strong>Global</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-06-22</td>
</tr></table>

<br>

### What you get

Each record is one sanctioned party published by the US Treasury Office of Foreign Assets Control (OFAC), parsed from the official bulk lists into clean structured data. You can load the full Specially Designated Nationals (SDN) list of more than 19,000 parties, the Consolidated (non-SDN) list, or both, then filter by name, party type or sanctions program before exporting.

- **uid**: the OFAC unique identifier for the party
- **name**: the primary name of the sanctioned individual, entity, vessel or aircraft
- **type**: individual, entity, vessel or aircraft
- **list**: SDN for the Specially Designated Nationals list, CONS for the Consolidated list
- **programs**: the OFAC sanctions program codes the party is listed under, such as CUBA, SDGT, IRAN or NPWMD
- **title**: the role or position of the party, such as a leadership title
- **remarks**: free-text notes OFAC attaches to the listing
- **nationalities**: declared nationalities of the party
- **citizenships**: declared citizenships of the party
- **datesOfBirth**: one or more dates or years of birth for individuals
- **placesOfBirth**: one or more places of birth for individuals
- **addresses**: known addresses, each with street, city, state or province, postal code, country and a combined full string
- **akas**: also-known-as aliases, each with the alias name, type (a.k.a., f.k.a., n.k.a.) and strength category (strong or weak)
- **idNumbers**: identification documents such as passports and national IDs, each with type, number, issuing country, issue date and expiration date
- **vesselInfo**: for vessels and aircraft, the call sign, vessel type, flag, owner and registered tonnage
- **observedAt**: when this record was collected by the scraper

### Who is it for

| Use case | Who benefits |
|---|---|
| Screen customers and counterparties against the official SDN and Consolidated lists | Compliance, KYC and AML teams |
| Build and refresh an internal watchlist database from the canonical source | Fintech, banking and payments engineers |
| Match names and aliases during onboarding and transaction monitoring | Risk and fraud operations |
| Filter sanctioned parties by program such as Cuba, Iran or counterterrorism | Sanctions analysts and investigators |
| Enrich vendor and supplier records with sanctions exposure flags | Procurement and third-party risk teams |

### Frequently Asked Questions

**Where does this data come from?**  
Straight from the US Treasury OFAC. The actor downloads the official bulk SDN and Consolidated list files that OFAC publishes for everyone, then parses them into structured records. It does not add, guess or alter any data, so the output mirrors the authoritative source.

**What is the difference between the SDN and Consolidated lists?**  
The SDN list holds the Specially Designated Nationals and Blocked Persons, more than 19,000 parties whose assets are blocked. The Consolidated list holds the other OFAC sanctions lists that are not part of the SDN list. Choose one with the List option, or pick Both to load them together, and each record is tagged SDN or CONS so you always know its source.

**Can I search for a specific person or company?**  
Yes. Use the Name search field to keep only parties whose primary name or any alias contains your text, for example a surname or company name. You can combine it with the party type and program filters, or leave it empty to export the whole list.

**Can I filter by sanctions program?**  
Yes. Add one or more program codes such as CUBA, SDGT, IRAN or UKRAINE-EO13662 to the Sanctions programs field and the actor keeps only parties listed under any of them. You can also restrict results to individuals, entities, vessels or aircraft with the Party type filter.

**What happens when a field has no value?**  
Fields that do not apply are returned as null or an empty list and are never invented. Individual-only fields such as dates of birth are empty for entities, and vessel details are present only for vessels and aircraft, so each record carries exactly what OFAC publishes for that party.



<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [USAspending Federal Award Scraper](https://apify.com/scrapers_lat/usaspending-awards-scraper): Scrape US federal prime awards from USAspending.gov. Get recipient, UEI, award amount, awarding...
- [Grants.gov Opportunity Scraper](https://apify.com/scrapers_lat/grants-gov-scraper): Extract U.S. federal grant opportunities from the official Grants.gov API. Scrape title, agency...
- [NPPES NPI Provider Scraper](https://apify.com/scrapers_lat/nppes-npi-scraper): Scrape US healthcare provider records from the official NPPES NPI Registry. Search by name...
- [BizQuest Businesses-for-Sale Listings Scraper](https://apify.com/scrapers_lat/bizquest-scraper): Extract US businesses-for-sale listings from BizQuest with the broker or seller contact (name...
- [California CSLB Contractor License Scraper](https://apify.com/scrapers_lat/california-cslb-scraper): Extract licensed California contractor records from the CSLB public data portal by classification...
- [California Attorney License Scraper](https://apify.com/scrapers_lat/california-state-bar-scraper): Search the California State Bar attorney directory and extract licensee records. Scrape bar number...

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with the US Department of the Treasury or the Office of Foreign Assets Control. It accesses only the OFAC sanctions list data that the Treasury publishes as a public record. The output is provided for sanctions screening reference and informational purposes only. It is not legal advice and is not a substitute for a complete compliance program. Always verify potential matches against the official OFAC source and consult qualified counsel before acting on a result.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of sanctioned-party records to collect. Optional.
## `list` (type: `string`):

Which OFAC list to download: the SDN (Specially Designated Nationals) list, the Consolidated (non-SDN) list, or both.
## `searchName` (type: `string`):

Optional case-insensitive substring filter applied to the primary name and all aliases (a.k.a.). Leave empty to return every party on the list.
## `type` (type: `string`):

Optional filter by the kind of sanctioned party.
## `programs` (type: `array`):

Optional list of OFAC program codes to keep (case-insensitive, e.g. CUBA, SDGT, IRAN, UKRAINE-EO13662, NPWMD). A record is kept if it carries any of the given programs.

## Actor input object example

```json
{
  "maxItems": 10,
  "list": "sdn",
  "type": ""
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/ofac-sanctions-scraper").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 = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/ofac-sanctions-scraper").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 '{
  "maxItems": 10
}' |
apify call scrapers_lat/ofac-sanctions-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/ofac-sanctions-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "OFAC Sanctions List Scraper",
        "description": "Download and parse the US Treasury OFAC SDN and Consolidated sanctions lists. Get each sanctioned party with name, aliases, programs, type, addresses, dates of birth, nationalities and ID numbers for KYC and AML screening.",
        "version": "0.1",
        "x-build-id": "W9UkQ0BeZEqopWbYF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~ofac-sanctions-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-ofac-sanctions-scraper",
                "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/scrapers_lat~ofac-sanctions-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-ofac-sanctions-scraper",
                "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/scrapers_lat~ofac-sanctions-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-ofac-sanctions-scraper",
                "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": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of sanctioned-party records to collect. Optional."
                    },
                    "list": {
                        "title": "List",
                        "enum": [
                            "sdn",
                            "consolidated",
                            "both"
                        ],
                        "type": "string",
                        "description": "Which OFAC list to download: the SDN (Specially Designated Nationals) list, the Consolidated (non-SDN) list, or both.",
                        "default": "sdn"
                    },
                    "searchName": {
                        "title": "Name search",
                        "type": "string",
                        "description": "Optional case-insensitive substring filter applied to the primary name and all aliases (a.k.a.). Leave empty to return every party on the list."
                    },
                    "type": {
                        "title": "Party type",
                        "enum": [
                            "",
                            "individual",
                            "entity",
                            "vessel",
                            "aircraft"
                        ],
                        "type": "string",
                        "description": "Optional filter by the kind of sanctioned party.",
                        "default": ""
                    },
                    "programs": {
                        "title": "Sanctions programs",
                        "type": "array",
                        "description": "Optional list of OFAC program codes to keep (case-insensitive, e.g. CUBA, SDGT, IRAN, UKRAINE-EO13662, NPWMD). A record is kept if it carries any of the given programs.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
