Downloading the data and keeping it fresh

We update our data regularly to ensure up-to-date sanctions and PEP lists are available.

You can download bulk data extracts of the database directly from this website, without any login or API key. While the bulk data files are free to use for non-commercial users, commercial use of the data requires a data license and data delivery token.

For commercial use, please see our documentation on using the data delivery service with your data delivery token.

Download URLs 

Every export has a stable URL. To always fetch the most recent published version of a dataset or collection, use the latest/ path:

https://data.opensanctions.org/datasets/latest/<dataset>/<format>
  • Replace <dataset> with the name of the dataset or collection (e.g. default).
  • Replace <format> with the file name of the format (e.g. entities.ftm.json or targets.simple.csv).

For example:

https://data.opensanctions.org/datasets/latest/default/entities.ftm.json

Accessing historical data 

To fetch a specific past version, replace latest with a date in YYYYMMDD format:

https://data.opensanctions.org/datasets/20241001/default/entities.ftm.json

This fetches the version published on October 1, 2024. Historical data is available for most core sanctions lists from around July 2021 — check the "Date Added" on the dataset profile page for specific availability. Accessing data older than a few months requires a data delivery token.

How often the data updates  

The default collection is republished about every 6 hours. Updates happen in two phases:

  • Data sources — sanctions lists are updated every 4 to 12 hours; other sources such as PEPs and regulatory watchlists are updated daily or weekly.
  • Collections — aggregated collections are updated several times a day, roughly every 6 hours.

We cannot predict the specific time at which new exports are published; export cadences are available on the dataset overview page. Even when nothing has changed at the source, we re-export the data so you always have the most recent confirmed state.

For reference, our hosted API checks for new data every 30 minutes, and the self-hosted yente service checks hourly by default.

Keeping your copy in sync 

To perform regular data updates, you can use one of the following methods:

  1. Re-fetch on a schedule. Re-download the stable latest/ URL described above at a fixed interval (e.g. every 6 hours, or daily). This is the simplest option; re-fetch at most every 6 hours to avoid excessive data transfers.

  2. Poll the metadata index. Fetch the dataset metadata index and watch the version ID or last_export timestamp for a change. Compare the SHA1 checksum values in dataset.resources to confirm a file actually differs before downloading it. This detects new data promptly without re-fetching the full export — poll every ~30 minutes if you need timely updates. The index lives at:

    https://data.opensanctions.org/datasets/latest/<dataset>/index.json
    
  3. Apply delta files. Use the delta update mechanism to retrieve incremental update files describing the additions, modifications, and removals of entities between data export versions.

Detecting deletions, merges, and ID changes 

When an entity is no longer present in the source data, it simply stops appearing in subsequent exports, and the total entity count in entities.ftm.json decreases accordingly — we do not emit explicit markers for deleted entities. We reflect deletions from source data typically within one week of the change. Delta files make removals explicit via DEL operations if you need to track them directly.

Entity IDs can also change over time, for several reasons:

  • Merging duplicates: entities from multiple sources may be merged, resulting in a new cluster ID.
  • Source updates: changes in source data or processing methods may alter entity IDs.

To stay consistent across these changes, track both an entity's primary id and its referents list. This helps you avoid duplicate alerts and ensures you keep referencing the correct entities. For detailed guidance, see our identifiers documentation.