simple JSON API to check individual/entity names against the US OFAC Specially Designated Nationals (SDN) List, UN Security Council Sanctions List and EU Financial Sanctions File.

The API hosted at is free to use, for any use case. There are two endpoints available:

/sanctions

Queries the sanctions table. Check schema.sql for a list of columns available. The API is auto generated using postgREST, detailed documentation on how to build queries is available on the project website. Here are some examples:

GET /sanctions?source_id=eq.id

returns a single entity by it's source ID (e.g. the US OFAC SDN List ID)

GET /sanctions?created_at=gt.2019-01-01

returns entities synced into the sanctions.network database after January 1, 2019. This is useful for checking if a new entity has been added to the database (for e.g. if you poll the API frequently to maintain a local copy of the data)

GET /sanctions?or=(source.eq.unsc, source.eq.eu)

returns entities that are either from the UN Security Council or from the EU Financial Sanctions File

GET /sanctions?select=names,source

select= can control which columns are returned. By default, all columns are returned. In this example, the resulting items will look like:

  {
    "names": ["Johnathan Doughnut"],
    "source": "unsc"
  },
      

/rpc/search_sanctions

This endpoint accepts a "name" parameter in addition to all the parameters available in the /sanctions endpoint. It runs a trigram similarity search on the entity names to match alternate spellings (e.g. Alexei vs Alexey)

GET /rpc/search_sanctions?name=Darth Fader (will match Darth Vader)
# pagination

Both endpoints return a maximum of 100 results by default. You can request the next page either by adding a `Range` header to the request, or by adding `limit` and `offset` query parameters:

GET /sanctions?limit=100&offset=100
or
$ curl -X GET "/sanctions" -H "Range=100-199"