Simplified CSV
targets.simple.csv puts each listed record on one row of a flat table. It opens in a spreadsheet and suits lookups, filtering and quick reviews; for anything automated, prefer the JSON files.
Opening the file
The file is UTF-8. Spreadsheet programs sometimes guess a different encoding and garble accented or non-Latin names, so import it rather than double-clicking:
- Excel: Data, then From Text/CSV; choose 65001: Unicode (UTF-8) as the file origin and comma as the delimiter.
- LibreOffice Calc: open the file and pick Unicode (UTF-8) and Comma in the import dialogue.
- Google Sheets: File, Import, Upload. Sheets has a cell limit, so use a smaller collection such as
sanctionsormaritime.
Spreadsheets have row limits too (Excel: 1,048,576 rows). The default file has — rows and will not fit; use a database or a tool such as DuckDB or pandas.
What a flat table loses
A person can have several nationalities, many aliases and several listings. A single row cannot hold that structure, so multiple values are packed into one cell, separated by semicolons, and values that do not fit a column are left out. The register's notes, the source link, and the link to other records of the same party (canonical_id) are only in the JSON and statements files.
Need different columns, or one row per name or listing? See Custom exports or get in touch.
Data dictionary
| Column | Contents |
|---|---|
id | Record id, e.g. crown-380054154. The same id as in the JSON and statements files. |
schema | Entity type: Person, Company, Organization, Vessel, Airplane or LegalEntity |
name | Primary name as published |
aliases | Other names, separated by ; |
birth_date | Birth date to the precision published (YYYY, YYYY-MM or YYYY-MM-DD) |
countries | Nationality or country, ISO 3166-1 alpha-2 in lower case |
addresses | Reserved; empty today |
identifiers | Identifiers we hold as fields; today the IMO number (IMO + seven digits) |
sanctions | Programme and register, joined with “ - ”, e.g. RUSSIA-EO14024 - OFAC Specially Designated Nationals (SDN) List |
phones | Reserved; empty today |
emails | Reserved; empty today |
program_ids | Reserved; filled once our programme catalogue is published |
dataset | Source register, short identifier (e.g. ofac_sdn) |
first_seen | When we first collected the record (ISO 8601) |
last_seen | When the record was last confirmed at its source |
last_change | When the record last changed; today the same as last_seen |
Example rows
id,schema,name,aliases,birth_date,countries,addresses,identifiers,sanctions,phones,emails,program_ids,dataset,first_seen,last_seen,last_change
crown-380054154,Vessel,PELIKAN,BALTIC ATLANT SHPG-LITHUANIA,,,,IMO6922169,Banned from Paris MoU ports — Multiple detentions - Paris MoU Banned,,,,paris_mou_banned,2026-09-24T11:38:49.104591+00:00,2026-09-24T11:38:49.104591+00:00,2026-09-24T11:38:49.104591+00:00
Technical notes
- Comma-separated, UTF-8 without a byte-order mark, with a header row. Fields that contain a comma, quote or line break are quoted, with quotes doubled, as in RFC 4180.
- Multiple values inside a cell are separated by
;. - Only listed records are included; listings appear in the
sanctionscolumn, not as rows of their own. - Some published names contain line breaks; they are kept as published inside quotes, so read the file with a CSV parser rather than line by line.
- The columns follow the widely used simple-CSV layout, so loaders written for that layout work unchanged.
Statements CSV
For a table that keeps every value with its source and dates, use statements.csv: see Data formats and the statement data model.
Last updated 2026-10-03