Sanctions

Sanctions overview

What is inside the LinkinLegal sanctions data, the shape of an entity, and when to use search instead of match.

The Sanctions API holds two bodies of data:

  • Sanctions lists — people, companies, vessels and aircraft named by an authority. The sources are official lists such as the EU financial sanctions file, the US OFAC SDN list and the UK sanctions list, plus related lists (debarment, export control, disqualification).
  • PEP lists — politically exposed persons: office holders, their relatives and their close associates.

The two bodies are kept apart. On GET /sanctions/search and on the entity endpoints you pick one with type=sanction (the default) or type=pep. On POST /sanctions/match you pick one or both with include.

Call GET /sanctions/datasets for the live list of source datasets with a description of each. Call GET /sanctions/countries and GET /sanctions/schemas for the values the filters accept.

The shape of an entity

Every record is an entity. It looks like this:

{
  "id": "ru-inn-381205591080",
  "caption": "МАРИНА КОНСТАНТИНОВНА ГУЛИНА",
  "schema": "Person",
  "datasets": ["ann_graph_topics", "ext_ru_egrul"],
  "first_seen": "2026-09-17T23:36:34",
  "last_seen": "2026-09-19T01:56:29",
  "last_change": "2026-09-18T12:56:13",
  "target": true,
  "properties": {
    "name": ["МАРИНА КОНСТАНТИНОВНА ГУЛИНА"],
    "firstName": ["МАРИНА"],
    "lastName": ["ГУЛИНА"],
    "innCode": ["381205591080"]
  }
}
FieldTypeWhat it is
idstringThe stable id of the entity. Store this, not the caption.
captionstringThe display name of the record. One name, in the spelling of the source.
schemastringThe kind of entity: Person, Company, Organization, LegalEntity, Vessel, Airplane, Security and others.
propertiesobjectA map. Every key holds an array of strings, also when there is one value.
datasetsarrayThe source lists this entity comes from.
targetbooleantrue when the entity is itself a subject of a listing. false for a supporting record.
first_seenstringWhen we first loaded the record.
last_seenstringWhen we last saw the record in its source.
last_changestringWhen the record last changed. Data freshness uses this.

Properties are always arrays

properties.name can hold 40 spellings of one name. properties.birthDate can hold two dates when the sources disagree. Write your code for the array, never for the first element alone.

The properties you get depend on the source. Common keys are name, alias, birthDate, country, citizenship, gender, address, program, topics, and identifiers such as idNumber, taxNumber, innCode, registrationNumber, leiCode, swiftBic and imoNumber.

GET /sanctions/search returns a smaller entity: id, caption, schema, datasets, last_change and a part of properties. Call GET /sanctions/entities/{id} for the full record, and GET /sanctions/entities/{id}/history for the listing history of that entity (which authority listed it, when it started and when it ended).

Search or match

Both endpoints look for a name, but they answer different questions.

GET /sanctions/searchPOST /sanctions/match
Question"Show me records with this text in the name.""Is this subject on a list?"
InputA text and filtersA subject: name, birth date, country, identifiers
Name comparisonThe text must appear inside the captionEvery name and alias, with typo tolerance and transliteration
Word orderMust be the sameDoes not matter
OutputA page of recordsUp to 25 candidates, each with a score and a match flag
PagingYes: page, per_page, totalNo
DecisionYour user reads the listYour system reads the score
BulkOne name per callUp to 100 subjects per call

Use search for a screen where a person types a name and looks at the results, and for browsing a dataset with filters.

Use match for automatic screening: onboarding, payment checks, nightly rescreening of your customer base.

Search reads the caption only

A record has one caption but many names. search for Путин finds the record with that caption; search for Putin does not find a record whose caption is in Cyrillic. match compares all names and aliases, so it finds it. Do not build a screening decision on search alone.

Next

Last updated on

On this page