Sanctions

Screen a company against sanctions lists

Screens the company's registered name and previous names, its current persons with significant control (people and corporate owners) and its current officers (read live from Companies House) against every sanctions list CompanyStack loads, each downloaded from its official publisher and checked for changes every hour (the French register every three hours): UK Sanctions List (Foreign, Commonwealth & Development Office (FCDO)); EU Consolidated Financial Sanctions List (European Commission (Financial Sanctions Files)); OFAC Specially Designated Nationals (SDN) List (US Treasury, Office of Foreign Assets Control); OFAC Consolidated Sanctions List (non-SDN) (US Treasury, Office of Foreign Assets Control); Consolidated Canadian Autonomous Sanctions List (Global Affairs Canada); Australian Sanctions Consolidated List (Department of Foreign Affairs and Trade (DFAT), Australia); New Zealand Russia Sanctions Register (Ministry of Foreign Affairs and Trade (MFAT), New Zealand); Japan Ministry of Finance Asset Freeze List (Ministry of Finance, Japan); French National Register of Asset Freezes (Direction générale du Trésor, France); US Consolidated Screening List (Commerce and State lists) (International Trade Administration, US Department of Commerce). There is no separate UN list: the UK Sanctions List includes the UN designations the UK gives effect to. A list is screened only when we hold a copy of it: one that could not be loaded (for example because its download failed) has status not_loaded in lists and was not screened.

Names are compared after removing case, accents, punctuation, titles and legal forms, in any word order, and each close name is checked against birth month and year (people; Companies House publishes no more), nationality or country, and registration numbers (companies). Each potential match lists the fields that agreed and disagreed, the reasons in plain English and a link to the official entry. A name match is not a finding that anyone is sanctioned: nothing is a close name match without date of birth or nationality / country corroboration, every match needs human review, and no name match is not a clearance. lists shows which list versions (and their own dates) were screened; a list that was not loaded is named in lists_not_screened. Also run by POST /kyb/check (the sanctions_screening check and the sanctions field). API Starter and above; web-app Pro and Team.

get/sanctions/company/{number}

Request

  • Base URL: https://api.companystack.co.uk
  • URL: https://api.companystack.co.uk/sanctions/company/{number}
  • Auth: one of:
    • HTTP bearer
    • API key in header X-Api-Key

Path parameters

numberstring required

Companies House number (leading zeros may be omitted)

Response

Screening result (not stored; a KYB check stores it)

company_numberstring required
company_namestring required
verdict'no_match' | 'possible_match' | 'strong_match' | 'unable_to_check' required

The strongest match found. no_match ("No name matches") covers only the names and lists shown and is not a clearance. unable_to_check: nothing matched, but the officers could not be read (Companies House unreachable and no copy held), so no director was screened; screen again later.

verdict_labelstring
summarystring required

What was screened, against which lists, and what was found, in one paragraph. A clear result opens "No name matches on [each list screened, with its date]. This is not a clearance."

screened_atstring date-time required
lists_screenedstring[]
officers_source'companies_house' | 'cache' | 'null' nullable

companies_house: officers read from Companies House for this screening; cache: the officers CompanyStack holds (read within the last hour, or older when Companies House did not answer: see officers_stale); null: officers were not screened (see not_screened)

officers_status'cached' | 'fetched' | 'unavailable'

unavailable: the officers could not be read and none are held, so no director was screened

officers_as_ofstring date-time nullable

When the officers screened were read from Companies House

officers_staleboolean

True when Companies House could not be reached and an older copy of the officers was screened

methodstring
disclaimerstring
noticestring

Who the data is prepared for and that CompanyStack accepts no responsibility to anyone else who relies on it (Terms 15B). Keep it with the data if you show it to others (Terms 17.5).

Example response

{
  "lists": [
    {
      "name": "UK Sanctions List",
      "short_name": "UK",
      "jurisdiction": "United Kingdom"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.