opensanctions

v0.1.0Verified publisher
Report a problem

Screens a person's or company's name against OpenSanctions: sanctions lists, politically exposed persons, watch lists

Run

Through ot mcp, an agent calls run_tool with this; ot asks you before anything that goes online or touches a target. Set it up: ot mcp install claude (or cursor, vscode, codex, gemini).

{"tool":"osintverse-community/opensanctions"}

Or just say: "Run osintverse-community/opensanctions on … with OTInstaller." The registry's read-only MCP server at api.otinstaller.com/mcp can find tools without installing anything.

ot run osintverse-community/opensanctions --format table
ot install osintverse-community/opensanctions

Docker image in a read-only container · talks to api.opensanctions.org · needs OPENSANCTIONS_API_KEY · up to 1 min. The first ot run installs the tool after asking once. Drop --format table for JSON.

Don't have ot? Install it in one line
curl -fsSL https://get.otinstaller.com/ot | sh
What this script does
  1. Downloads the latest ot release for your machine from GitHub Releases.
  2. Checks its SHA-256 against checksums.txt, and the Ed25519 signature on that file against the key built into the script.
  3. Puts ot in /usr/local/bin or ~/.local/bin. Nothing else is written. Read the script.
irm https://get.otinstaller.com/ot.ps1 | iex
What this script does
  1. Downloads the latest ot release for your machine from GitHub Releases.
  2. Checks its SHA-256 against checksums.txt, and the Ed25519 signature on that file against the key built into the script.
  3. Puts ot in %LOCALAPPDATA%\Programs\ot, and adds it to your PATH. Nothing else is written. Read the script.
  • Pinnedimage sha256:b4e96422…8ec67c. The same bytes on every install; ot pulls by digest, never by tag.
  • Signedby https://github.com/osintverse-community/opensanctions/.github/workflows/otinstaller-release.yml@refs/heads/main via token.actions.githubusercontent.com, verified by the registry on 24 Oct 2026. ot checks the same identity before every install and refuses another signer.
  • Scanned24 Oct 2026: 0 critical, 44 high, 63 medium, 62 low vulnerabilities; 0 embedded secrets, 0 malware heuristics; SBOM with 89 packages.
  • Workssmoke test passed on 24 Oct 2026 (exit 3 in 1.3 s, offline sandbox); the nightly health check has not run yet.
  • Backed upa copy of this image is on the registry's mirror. If the original registry refuses it, ot pulls the same digest from the mirror and checks the same signature.
  • Reviewedosintverse-community is a verified publisher: the registry confirmed who runs it, and a person reviewed its first release against the acceptable-use rules.

From the community

Issues →

Not health-checked yet; 0.1.0 came out today; nobody has said yet whether it works.

0.1.0 is in its first week. Nobody has said whether it works yet.

Used 0.1.0?It's broken for me

What you get back

Result envelope →
{
  "envelope": 1,
  "tool": "osintverse-community/opensanctions@0.1.0",
  "runtime": "docker",
  "input": {},
  "started_at": "2026-10-21T09:00:00Z",
  "duration_ms": 4100,
  "exit_code": 0,
  "entities": [
    {
      "type": "person",
      "value": "Jane Doe",
      "source": "gitlab.com"
    },
    {
      "type": "organization",
      "value": "Example Ltd"
    },
    {
      "type": "other",
      "value": "…"
    }
  ],
  "warnings": []
}

Every tool returns this shape, shaped here from what this tool declares it finds. --format table to read it; ot extract and ot auto to continue.

opensanctions

Screens a person's or a company's name against OpenSanctions, which gathers sanctions lists, politically exposed persons (PEPs) and their relatives and close associates, criminal and other watch lists from hundreds of official sources into one database. It uses OpenSanctions' matching API, which scores how well each listed person, company or other entity fits the name and, when given, a birth date and a country. Each match comes with its score, what it is listed for (topics such as sanction, role.pep or crime), the sources and sanctions programmes that list it, its countries, aliases, positions and birth date or registration numbers, and a link to its OpenSanctions page. Only OpenSanctions' data is read, so nobody is contacted.

ot run osintverse-community/opensanctions --name "Vladimir Putin"
ot run osintverse-community/opensanctions --company "Rosneft" --country ru

Inputs

Give exactly one of name or company.

Input Required
name one of these A person's full name
company one of these A company or organisation name
birth_date no The person's date or year of birth, such as 1952 or 1952-10-07, to tell namesakes apart
country no A country linked to the person or company (nationality, residence or jurisdiction), as a name or code
limit no Most matches to return, 5 by default, up to 25

Keys

OPENSANCTIONS_API_KEY, set with ot keys set OPENSANCTIONS_API_KEY: https://www.opensanctions.org/account/. The API is paid for businesses, by the query (each run uses one credit), after trial credits for a new account; OpenSanctions gives free keys to journalists, NGOs and academic researchers who apply. Without the key the tool exits with code 3.

Notes

A score of 0.7 or more counts as a match. A name alone matches namesakes, so add birth_date and country when you know them, and read each match before acting on it; being a politically exposed person is not wrongdoing. The results describe people, so ot and agents treat a run as collecting personal data and ask before running it. Outside a commercial agreement, OpenSanctions' data is licensed CC BY-NC 4.0: credit OpenSanctions and don't use it commercially.

Next steps

Open a match's link for its full record and sources, or look a company up in the official registers with osintverse-community/companies-house and osintverse-community/gleif.

Development

python -m unittest
ot validate

Releases are built, signed and published by the otinstaller release workflow (Actions tab, with the version to release).

License

MIT

What next

opensanctions finds person, organization, other. Tools that take those:

person → 2 toolsorganization → 6 toolsot auto, with a saved result

Other name tools

All name tools →

Alternatives to opensanctions that also take a name; ot auto runs every installed one on the same value.

Esc

Try

↑ ↓ to move↵ to open