Two sanctions and export-control lists that are hard to obtain in machine-readable form, published here as JSON and CSV with bilingual field values and source attribution. Free to download, free to use commercially, just keep the attribution.
OFAC, the UN and the EU financial-sanctions database all publish machine-readable files themselves, and aggregators such as OpenSanctions already carry them — including the Chinese lists below. Re-publishing that adds nothing. What is offered here is a different shape: flat tables with no data model to learn, Chinese and English names in separate columns, every row traceable to its announcement.
Published only as individual Chinese-language announcements; there is no official structured version. Here it is a table: Chinese and English names in separate columns (all 196 rows carry an English name), and every row names its issuing authority and announcement number in remarks so it can be checked against the original notice. That Chinese-to-English name mapping is the link most likely to break when you screen on English names alone.
Buried inside the consolidated text of the regulation on EUR-Lex. Getting it as rows means parsing the annex out of the legal text yourself.
| File | Rows | Contents |
|---|---|---|
china-mofcom.json | 196 | Unreliable Entity List + export-control watch list |
china-mofcom.csv | 196 | Unreliable Entity List + export-control watch list |
eu-annex-iv.json | 921 | Regulation 833/2014 Annex IV military end-users |
eu-annex-iv.csv | 921 | Regulation 833/2014 Annex IV military end-users |
manifest.json | — | Dataset index: counts, file names, source URLs, generation date |
The file paths are stable, so you can pull them on a schedule. Read generated_at from manifest.json to tell whether your local copy is current.
curl -O https://tradeprotected.com/data/china-mofcom.json
curl -s https://tradeprotected.com/data/manifest.json | jq -r '.generated_at'
Both datasets share these fields. Where a bilingual name cannot be split cleanly the field is left empty rather than guessed — better a missing column than half a name that downstream code takes at face value.
name name_zh name_en type programs programs_en country country_en listed_on remarks
Annex IV adds fields parsed out of the remarks: local_name (Cyrillic or other local script), aliases, address, registration_number, website.
The China dataset also carries name_ja: the Japanese legal name for the 42 Japanese companies on it. MOFCOM publishes them transliterated into simplified Chinese (株式会社神戸製鋼所 appears as 神户制钢所), so neither the Chinese nor the English name maps back to the Japanese corporate register. Annex IV has no Japanese entities and omits the column.
The dataset is archived on Zenodo with a DOI. Cite it as below in papers, reports or data notes — that link stays valid regardless of what happens to this site:
TradeProtected (2026). China sanctions and export-control lists, and EU Regulation 833/2014 Annex IV, in machine-readable form. Zenodo. https://doi.org/10.5281/zenodo.21851071
The underlying facts are published by governments and are not themselves copyrightable; what is licensed here is the compilation, the bilingual mapping and the source attribution. Released under CC BY 4.0: use it commercially, redistribute it, build on it — just keep the attribution.
Put either of these into your page, docs or data notes:
Data compiled by TradeProtected — https://tradeprotected.com
<a href="https://tradeprotected.com">TradeProtected</a>
Regenerated when the underlying lists change. The generated_at value in each file and in manifest.json tells you how current a copy is. generated_at 2026-08-16
Always verify against the official record before acting. These files are a convenience layer, not the record.
Something missing, wrongly listed, a bad date, a bad name split? Tell us. Corrections are applied to the live screening tool too.
Would rather not run the data yourself? Search it online, no signup.
Free screening →If you would rather query per name than sync the whole file, see the API docs. API docs