# EU Consolidated Sanctions List Scraper (`parseforge/ec-eu-sanctions-scraper`) Actor

Scrapes the EU Consolidated Sanctions List and returns each sanctions entry as a flat row with designation details and identifiers. Filter by person or entity.

- **URL**: https://apify.com/parseforge/ec-eu-sanctions-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 86.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### EU Consolidated Sanctions List Scraper

**Scrape the EU Consolidated Sanctions List into clean, structured rows.** Every entry includes the full designation details, legal basis, and identifiers. No login or API key. Export to CSV, JSON, Excel, or XML.

The EU Consolidated Sanctions List is the authoritative source for individuals and entities subject to EU restrictive measures, but the official website is built for browsing, not for compliance workflows. This Actor reads the public list directly and returns each sanctions entry as a flat row, filtered by person or entity, so you can screen names, build watchlists, or feed your risk engine without manual copying.

| Who uses it | What they scrape EU Sanctions List for |
|---|---|
| Compliance officers | Screening customers and counterparties against EU sanctions |
| Risk analysts | Building internal watchlists for transaction monitoring |
| OSINT researchers | Investigating individuals and entities linked to EU restrictive measures |
| Data engineers | Feeding sanctions data into automated KYC and AML pipelines |

### What it does

This Actor collects sanctions entries from the EU Consolidated Sanctions List, filtered by person or entity, and returns each one as a flat row with its designation details and identifiers.

- 👥 **Filter by entity type:** collect only persons, only entities, or all entries.
- 🔢 **Limit the run:** set a maximum number of entries per run, from 1 to 1,000,000.
- 📄 **Structured output:** every entry is returned as a flat row with consistent fields.
- 💾 **Multiple export formats:** download as CSV, JSON, Excel, or XML.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with EU Sanctions List data

**🛡️ Sanctions screening for KYC.**

A compliance team runs the Actor daily to refresh their internal EU sanctions watchlist, then screens new customers against the latest designations.

**📊 Risk monitoring dashboards.**

A risk analyst schedules weekly runs to track changes in the EU list and updates their internal risk scoring model with new entries.

**🔍 OSINT investigations.**

A researcher scrapes all entities related to a specific sector to map networks and identify hidden connections.

**⚙️ AML pipeline integration.**

A data engineer uses the Actor's JSON output to feed sanctions data directly into an automated transaction monitoring system.

### Why choose this scraper

|  | What you get |
|---|---|
| **No API key or registration** | The public EU sanctions list is read directly, so you can start scraping immediately. |
| **Clean, flat rows** | Each sanctions entry is normalized into a single row, ready for spreadsheets or databases. |
| **Filter by person or entity** | Collect only the type of designation you need, reducing noise in your dataset. |
| **Scalable up to 1M entries** | Set a high maximum to capture the full list in one run, or a low limit for quick tests. |

### How it compares

No other Store actor targets EU Sanctions List the same way, so the honest comparison is with the alternatives teams actually weigh.

| | EU Consolidated Sanctions List Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When EU Sanctions List changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor with the entity type filter and a maximum entry count, and only matching sanctions entries reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "maxItems": 10
}
```

A larger pull:

```json
{
  "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.021 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $2.10 |
| 1,000 results | $21.00 |
| 10,000 results | $210.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [EU Consolidated Sanctions List Scraper](https://apify.com/parseforge/ec-eu-sanctions-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to EU Sanctions List through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/ec-eu-sanctions-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that the entityType filter is not too restrictive. If you selected 'Persons' but the list currently has no person entries, you will get an empty dataset. Try setting entityType to 'All'.

**The run stops before reaching my maxItems.**

The Actor stops when it has collected the number of entries you set in maxItems, or when it reaches the end of the EU list. If the list has fewer entries than your maxItems, you will get all available entries.

**Some entries are missing fields.**

The EU list does not always provide every field for every entry. Missing fields will be empty in the output. This is expected behavior.

**The run takes too long.**

Reduce the maxItems value to limit the number of entries collected. For large runs, consider using a higher memory Actor or running during off-peak hours.

### FAQ

| Question | Answer |
|---|---|
| What is the EU Consolidated Sanctions List? | It is the official list of individuals and entities subject to EU restrictive measures, maintained by the European Commission. It includes designations under various EU regulations. |
| Do I need an API key or registration? | No. The Actor reads the public EU sanctions list directly, so you only need an Apify account to run it. |
| Can I filter by person or entity? | Yes. Use the entityType input to select 'Persons', 'Entities', or 'All'. |
| How many entries can I scrape in one run? | You can set the maximum number of entries from 1 to 1,000,000. The default is 10 for quick testing. |
| What data fields are returned for each entry? | Each row includes the designation details, legal basis, and identifiers as provided by the EU list. The exact fields are shown in the sample output. |
| How often is the EU sanctions list updated? | The European Commission updates the list regularly, often multiple times per week. You can schedule the Actor to run daily to stay current. |
| Can I export the data to CSV or Excel? | Yes. The Actor supports CSV, JSON, Excel, and XML export formats. |
| Is this Actor suitable for production sanctions screening? | Yes, many compliance teams use it to build internal watchlists. However, you should always verify against the official source for critical decisions. |
| Does the Actor handle pagination automatically? | Yes, it reads through all pages of the EU list until the maximum entry count is reached. |
| Can I run this Actor on a schedule? | Yes, you can schedule it to run daily, weekly, or at any interval using Apify's scheduler. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by European Commission. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `entityType` (type: `string`):

Filter to persons, entities, or all.

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

How many sanctions entries to collect per run.

## Actor input object example

```json
{
  "entityType": "ALL",
  "maxItems": 10
}
```

# 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("parseforge/ec-eu-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("parseforge/ec-eu-sanctions-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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 parseforge/ec-eu-sanctions-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/ec-eu-sanctions-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/018DkZoRoSYxwU431/builds/s8dPgK61FnG9J83Xm/openapi.json
