Documentation · Bulk data

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.

The bulk files are free to download, with no account. Non-commercial use is covered by our data licence; commercial use needs a licence. To check names one at a time instead, use the screening API.

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 sanctions or maritime.

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

ColumnContents
idRecord id, e.g. crown-380054154. The same id as in the JSON and statements files.
schemaEntity type: Person, Company, Organization, Vessel, Airplane or LegalEntity
namePrimary name as published
aliasesOther names, separated by ;
birth_dateBirth date to the precision published (YYYY, YYYY-MM or YYYY-MM-DD)
countriesNationality or country, ISO 3166-1 alpha-2 in lower case
addressesReserved; empty today
identifiersIdentifiers we hold as fields; today the IMO number (IMO + seven digits)
sanctionsProgramme and register, joined with “ - ”, e.g. RUSSIA-EO14024 - OFAC Specially Designated Nationals (SDN) List
phonesReserved; empty today
emailsReserved; empty today
program_idsReserved; filled once our programme catalogue is published
datasetSource register, short identifier (e.g. ofac_sdn)
first_seenWhen we first collected the record (ISO 8601)
last_seenWhen the record was last confirmed at its source
last_changeWhen 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 sanctions column, 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