EU Consolidated Sanctions List Scraper (Persons & Entities)
Pricing
from $10.20 / 1,000 results
EU Consolidated Sanctions List Scraper (Persons & Entities)
Scrape the EU consolidated financial sanctions list of persons and entities: names, aliases, programme, regulation reference, listing dates, birth details, nationalities, addresses and IDs. Filter by programme, country, type or name. Export to JSON, CSV or Excel.
Pricing
from $10.20 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
EU Consolidated Sanctions List Scraper (Persons & Entities)
Here is one real result, with every field the actor returns:
{"euReferenceNumber": "EU.7808.66","entityLogicalId": "137718","unitedNationId": null,"subjectType": "enterprise","primaryName": "JSC ROSOBORONEXPORT","aliases": ["AO Рособоронэкспорт", "Rosoboroneksport"],"aliasCount": 2,"functions": [],"titles": [],"gender": null,"genders": [],"programme": "UKR","programmes": ["UKR"],"regulationType": "amendment","regulationNumberTitle": "2023/571 (OJ L75 I)","organisationType": "council","designationDate": "2022-03-15","publicationDate": "2023-03-14","entryIntoForceDate": "2023-03-15","publicationUrl": "https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R0571","remark": "Tax number","birthDate": null,"birthPlace": null,"birthCountry": null,"birthDates": [],"citizenships": [],"citizenshipCount": 0,"citizenshipIso2": [],"addressStreet": "27 Stromynka Str.","addressCity": "Moscow","addressZipCode": "107076","addressCountry": "RUSSIAN FEDERATION","addressCount": 1,"addresses": [{ "street": "27 Stromynka Str.", "city": "Moscow", "zipCode": "107076", "poBox": null, "region": null, "country": "RUSSIAN FEDERATION", "countryIso2": "RU" }],"idNumber": "7718852163","idType": "National Fiscal Code","idCountry": null,"idCount": 2,"identifications": [{ "number": "7718852163", "type": "National Fiscal Code", "country": null, "countryIso2": null, "issuedBy": null, "nameOnDocument": null, "knownExpired": false, "knownFalse": false, "reportedLost": false, "revokedByIssuer": false },{ "number": "1117746521452", "type": "Registration Number", "country": null, "countryIso2": null, "issuedBy": null, "nameOnDocument": null, "knownExpired": false, "knownFalse": false, "reportedLost": false, "revokedByIssuer": false }],"phone": "+7 (495) 739 60 17 / +7 (495) 534 61 40","email": "roe@roe.ru","website": "http://roe.ru/eng/","contacts": [{ "type": "WEB", "value": "http://roe.ru/eng/" },{ "type": "PHONE", "value": "+7 (495) 739 60 17 / +7 (495) 534 61 40" },{ "type": "EMAIL", "value": "roe@roe.ru" }],"source": "EU Consolidated Financial Sanctions List","observedAt": "2026-08-03T03:09:23.313Z"}
The most complete EU sanctions list scraper available. It returns every field the EU Consolidated Financial Sanctions List exposes for each listed person and entity, including aliases, addresses, identity documents and contacts, plus optional AI enrichment, and gives you four filters to target exactly the parties you need to screen.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor downloads the full EU Consolidated Financial Sanctions List in the official EU FSF XML schema, parses every sanctionEntity, applies the filters you pass as input, and writes one normalized record per listed person or entity to the run's dataset. Each record carries the primary name and every alias, the sanction programme and regulation reference, listing and publication dates, birth details, nationalities, all listed addresses, every identity document (passport, national ID, fiscal or registration number), and any contact details. Missing source values are returned as null and never invented.
The data covers persons and entities on the EU consolidated list. Optional paid AI add-ons can attach a plain-language summary, a compliance risk score, and a structured extract to each record.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 25 entities listed under the Russia (UKR) programme whose name or alias contains "rosobo".
{"maxEntries": 25,"programmes": ["UKR"],"nameQuery": "rosobo"}
Every input field is optional. With an empty input the actor returns the first 50 entities of the consolidated list (10 on free plans).
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxEntries | integer | no | 50 | Maximum number of sanctioned persons and entities to collect. Free Apify plans are capped at 10 per run. |
nameQuery | string | no | (empty) | Keep only entities whose name or any alias contains this text, for example rosobo, wagner, gazprom. Case-insensitive substring match. |
subjectType | enum | no | all | Return all, person (persons only), or enterprise (companies, groups, organisations only). |
programmes | string[] | no | [] | Keep only entities listed under these programme codes, for example RUS, UKR, IRQ, SYR, LBY, CAF, MLI. Empty for all programmes. |
countries | string[] | no | [] | Keep only entities whose nationality or address matches these ISO 3166-1 alpha-2 codes, for example RU, IR, SY, KP. Empty for all countries. |
withSummary | boolean | no | false | Paid AI add-on. Adds aiSummary, a plain-language summary of who or what the entry is and why sanctioned. Billed only when produced. Requires a paid Apify plan. |
withRisk | boolean | no | false | Paid AI add-on. Adds aiRiskLevel, aiRiskScore (0-100), aiRedFlags and aiRiskRationale. Billed only when produced. Requires a paid Apify plan. |
withExtract | boolean | no | false | Paid AI add-on. Adds aiExtract with role, sanction reason, associations, sector and nationality parsed from the entry. Billed only when produced. Requires a paid Apify plan. |
Filters combine with logical AND. Leave every filter empty to return the whole consolidated list up to maxEntries.
Output reference
One dataset item per sanctioned person or entity. Types: string, integer, boolean, string[], object, object[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
euReferenceNumber | string | EU reference number of the listing. |
entityLogicalId | string | EU internal entity id. |
unitedNationId | string | UN Security Council id when the party is cross-listed, else null. |
subjectType | string | person or enterprise. |
primaryName | string | Full primary name of the sanctioned person or entity. |
aliases | string[] | Known aliases and other names. |
aliasCount | integer | Number of aliases. |
functions | string[] | Roles or official positions held by the person. |
titles | string[] | Titles associated with the person. |
gender | string | Gender of the person when listed, else null. |
genders | string[] | All gender values listed across name entries. |
programme | string | Primary sanction programme code. |
programmes | string[] | All sanction programme codes for this listing. |
regulationType | string | Regulation type, regulation or amendment. |
regulationNumberTitle | string | Regulation number and Official Journal reference. |
organisationType | string | Issuing body, council or commission. |
designationDate | string | Date the party was designated (YYYY-MM-DD), or null. |
publicationDate | string | Official Journal publication date (YYYY-MM-DD). |
entryIntoForceDate | string | Date the measure entered into force (YYYY-MM-DD). |
publicationUrl | string | Link to the source regulation on EUR-Lex. |
remark | string | Free-text remark or basis of the listing. |
birthDate | string | Date of birth of the person, or null. |
birthPlace | string | Place of birth. |
birthCountry | string | Country of birth. |
birthDates | object[] | All listed birth records with date, year, city, region, country, ISO2 and circa flag. |
citizenships | string[] | Listed nationalities. |
citizenshipCount | integer | Number of nationalities. |
citizenshipIso2 | string[] | Nationalities as ISO 3166-1 alpha-2 codes. |
addressStreet | string | Street of the primary address. |
addressCity | string | City of the primary address. |
addressZipCode | string | Postal code of the primary address. |
addressCountry | string | Country of the primary address. |
addressCount | integer | Number of listed addresses. |
addresses | object[] | All addresses with street, city, zip, PO box, region, country and ISO2. |
idNumber | string | Number of the primary identity document. |
idType | string | Type of the primary identity document. |
idCountry | string | Issuing country of the primary identity document. |
idCount | integer | Number of listed identity documents. |
identifications | object[] | All identity documents with number, type, country, issuer, name on document and validity flags. |
phone | string | First listed phone or fax number, else null. |
email | string | First listed email address, else null. |
website | string | First listed website, else null. |
contacts | object[] | All contact entries as {type, value} pairs. |
source | string | Always EU Consolidated Financial Sanctions List. |
aiSummary | string | Plain-language summary of the entry. Present only with the withSummary add-on, else null. |
aiRiskLevel | string | Compliance risk level low/medium/high/severe. Present only with withRisk, else null. |
aiRiskScore | integer | Compliance risk score 0 to 100. Present only with withRisk, else null. |
aiRedFlags | string[] | Compliance red flags. Present only with withRisk, else null. |
aiRiskRationale | string | One-sentence rationale for the risk rating. Present only with withRisk, else null. |
aiExtract | object | Structured extract (role, reason, associations, sector, nationality). Present only with withExtract, else null. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed run: a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"programmes":["IRQ"],"withSummary":true,"withRisk":true,"withExtract":true}), with AI add-ons enabled:
{"euReferenceNumber": "EU.27.28","entityLogicalId": "13","unitedNationId": null,"subjectType": "person","primaryName": "Saddam Hussein Al-Tikriti","aliases": ["Abu Ali", "Abou Ali"],"aliasCount": 2,"programme": "IRQ","programmes": ["IRQ"],"regulationType": "regulation","regulationNumberTitle": "1210/2003 (OJ L169)","organisationType": "commission","publicationDate": "2003-07-08","entryIntoForceDate": "2003-07-07","publicationUrl": "http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2003:169:0006:0023:EN:PDF","remark": "UNSC RESOLUTION 1483","birthDate": "1937-04-28","birthPlace": "al-Awja, near Tikrit","birthCountry": "IRAQ","citizenships": ["IRAQ"],"citizenshipIso2": ["IQ"],"gender": "M","aiSummary": "Saddam Hussein Al-Tikriti was the former President of Iraq, sanctioned due to his role in actions that threaten international peace and security, as outlined in UNSC Resolution 1483.","aiRiskLevel": "severe","aiRiskScore": 95,"aiRedFlags": ["Listed under EU sanctions", "Associated with UNSC RESOLUTION 1483", "Known for involvement in serious human rights violations"],"aiRiskRationale": "Dealing with this party poses a severe compliance risk due to active sanctions and historical context.","aiExtract": { "role": null, "sanctionReason": "UNSC RESOLUTION 1483", "associatedWith": [], "sector": null, "nationality": "IRAQ", "aliasesOfNote": ["Abu Ali", "Abou Ali"] },"source": "EU Consolidated Financial Sanctions List","observedAt": "2026-08-14T06:06:29.555Z"}
Some empty array and null fields are omitted above for brevity; the values shown are unmodified.
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~eu-sanctions-list-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"programmes":["UKR"],"subjectType":"enterprise","maxEntries":100}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~eu-sanctions-list-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"nameQuery":"wagner","maxEntries":50}'
Apify CLI:
apify call scrapers_lat/eu-sanctions-list-scraper \--input '{"countries":["RU"],"maxEntries":200}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per record returned (
resultevent). See the pricing tab for the current per-result price. - AI add-ons billed separately.
withSummary,withRiskandwithExtracteach charge their own event and only when the AI output is produced. They require a paid Apify plan and are disabled for free users. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxEntries.
FAQ and troubleshooting
A run returned 0 records. Why?
The filter combination matched nothing. Loosen filters (remove countries or programmes, or clear nameQuery). Zero-result runs are not charged.
How do I screen a specific name against the list?
Set nameQuery to the name or a distinctive fragment. The match is case-insensitive and runs against the primary name and every alias.
How do I get only companies, not individuals?
Set subjectType to enterprise. Use person for individuals only.
Which programme codes can I use?
The codes the EU uses per sanctions regime, for example RUS/UKR (Russia), IRQ (Iraq), SYR (Syria), LBY (Libya). The programme field on returned records shows the exact codes in use.
Why are some fields null?
The EU list does not publish every field for every party. Missing source values are returned as null, never invented.
Is this an official EU tool? No. This actor is independent and has no affiliation with the European Union. It reads only data that is publicly available in the EU consolidated sanctions list and should be used alongside the official source for compliance decisions.
Related scrapers
- OFAC Sanctions List Scraper: US Treasury OFAC SDN and Consolidated lists.
- Trade Screening List Scraper: US Consolidated Screening List of restricted parties.
- World Bank Debarred Firms Scraper: firms and individuals debarred by the World Bank.
- GLEIF LEI Company Records Scraper: global Legal Entity Identifier records.
- EU TED Tenders Scraper: EU public procurement notices.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US, European and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the European Union. Accesses only publicly available EU consolidated sanctions list data. Use alongside the official source for compliance decisions.
