Securities data in OpenSanctions

Our database contains multiple methods for making connections between companies and instruments described on sanctions lists, and asset information.

International Securities Identification Numbers (ISINs) are not the native language of the sanctions world: the vast majority of sanctioned companies are private, and do not issue tradeable securities. Instead, companies are more commonly identified by their name, jurisdiction and registration number on sanctions lists. The US Treasury does identify a very small set of ISINs/ticker symbols directly (see: search result, 238 at time of writing), as do the watchlist datasets published by Europe's ESMA.

Data sources

OpenSanctions expands the government-published sanctions lists with data from other sources. This way, we include securities definitions (and ISINs) from the following sources:

  • Global Legal Entity Identifier Foundation (GLEIF) is the coordinating body for the assignment of LEI codes. They also maintain a mapping of all companies who have an LEI code and the ISIN codes issued to those organizations. This is helpful with banks and large funds.
  • The National Settlement Depository (NSD) of the Russian Federation publishes information about the assignment of ISIN codes to Russian securities. These are subject to US Executive Order 14071.
  • The European Markets and Securities Authority (ESMA) publishes the Financial Instrument Reference Data Service - a data file of securities that have been traded on European markets - and two watchlists, which we've included in our database.
  • LSEG PermID are included to connect the entities to Refinitiv datasets. We include both the PermID and RIC (Reuters Instrument Code) identifiers.
  • We also enrich securities with OpenFIGI identifiers, which helps to easily link them with Bloomberg datasets.

We hope to add more sources to the system in the near future. If you wish to suggest a relevant dataset which we can legally include in OpenSanctions, please get in touch.

Data structure overview

On a technical note, OpenSanctions does not consider ISINs to be attributes of companies. Instead, each ISIN is assigned to a Security object, which in turn links to its issuer (a Company object).

To simplify this, we are publishing a CSV table export of all sanctioned companies (using the lists published by the US, EU, UK and Switzerland) with their securities identifiers - LEI, ISINs, RICs and PermIDs inlined for easier analysis.

We're happy to generate a other representations of this data upon request.

CSV format data dictionary

The simplified CSV exports are available for download here.

ColumnData typeTitleDescriptionNullableMultiple
captionnameCompany namePreferred name of the companynono
leiidentifierLEI codeLegal entity identifier assigned to the companyyesyes
perm_ididentifierPermIDLSEG/Refinitiv PermID identifieryesyes
isinsidentifierISINsSecurites identifiers linked to all financial instruments associated with the companyyesyes
ricidentifierRICReuters Instrument Code, similar to stock ticker symbolyesyes
countriescountryJurisdictionAll country codes in which the company is known to be registeredyesyes
sanctionedbooleanDesignatedThe company is identified on a sanctions list, rather than being covered by a broader measure.nono
eo_14071booleanInvestment banThe company has issued securities which are affected by the EO 14071 investment bannono
publicbooleanListedData sources clearly indicate the company is publicly tradednono
identityIDOpenSanctions identifier for the given companynono
urlurlWeb profileOpenSanctions web profile for the given companynono
datasetsdatasetSource datasetsAll sources from which information is included about this companynoyes
risk_datasetsdatasetRisk sourceThe subset of sources that are watchlists.yesyes
aliasesnameNamesList of known names for the company, often in multiple spellings and alphabets.noyes
referencesentitySource IDsIdentifiers of the company derived from source datasetsnoyes
  • The CSV is formatted using , (comma) as a delimiter, encoded as utf-8.
  • Some fields in the CSV can contain multiple values in one cell. These are stored as a nested CSV using the ; (semicolon) delimiter.
  • Boolean values are given as t and f.