For Agents
Search and match persons and companies against sanctions, PEP, and related risk lists via the OpenSanctions API.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the OpenSanctions API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with OpenSanctions API.
Run free-text search against a chosen OpenSanctions dataset
Submit a structured entity (name, country, birthDate) for fuzzy matching against a dataset
Retrieve a full entity record by ID, including aliases and source statements
GET STARTED
Use for: Search OpenSanctions for the name 'Ivan Petrov', Match a structured customer record against the default sanctions dataset, Retrieve the full entity record for an OpenSanctions ID, List entities adjacent to a known sanctioned company
Not supported: Does not handle identity document verification, biometrics, or adverse media monitoring — use for sanctions, PEP, and entity-graph lookups only.
Jentic publishes the only available OpenAPI specification for OpenSanctions API, keeping it validated and agent-ready. OpenSanctions aggregates global sanctions lists, politically exposed persons (PEP) registers, and related risk datasets, and exposes them as searchable and matchable entity records. The API supports text search, structured entity matching, statement-level access, and catalog browsing, making it useful for KYC, compliance screening, and investigative research.
List entities adjacent to a given entity (relationships, ownership)
Query the underlying statements that back an entity
Browse the dataset catalog and supported matching algorithms
Patterns agents use OpenSanctions API for, with concrete tasks.
★ KYC sanctions screening
A regulated business screens new customers against OpenSanctions during onboarding by submitting a structured record (name, date of birth, country) to the match endpoint. The API returns scored candidate entities so the compliance team can adjudicate high-confidence hits without scraping individual sanction lists.
POST to /match/{dataset} with the customer's name, country, and birthDate against dataset='default' and inspect candidates with score above 0.7.
Investigative entity exploration
Investigative journalists and analysts pull a starting entity by ID, then walk the adjacency graph via /entities/{entityId}/adjacent to discover related companies, beneficiaries, and PEP relationships. The statements endpoint exposes the underlying source records, supporting rigorous citation in published work.
GET /entities/{entityId} for the target, then GET /entities/{entityId}/adjacent and follow the highest-confidence directorship edges.
Vendor risk batch screening
A procurement team runs its full vendor list through OpenSanctions on a recurring schedule by querying /search/{dataset} for each vendor name and flagging any non-empty hits. Recurring screening covers the case where a previously clean vendor later appears on a new list.
Iterate the vendor list, GET /search/{dataset}?q=vendor_name, and write any non-empty result into the risk register for human review.
Agent-driven sanctions screening through Jentic
An onboarding agent calls OpenSanctions via Jentic to screen new accounts before activation, using the match endpoint for structured fields and falling back to text search for ambiguous inputs. Jentic isolates the API key so the agent can run thousands of screenings without ever holding the secret directly.
Search Jentic for 'match a person against sanctions', load /match/{dataset}, and execute it for the new customer record at dataset='default'.
8 endpoints — jentic publishes the only available openapi specification for opensanctions api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/search/{dataset}
Run text search against a dataset
/match/{dataset}
Run structured entity match against a dataset
/entities/{entityId}
Retrieve an entity record by ID
/entities/{entityId}/adjacent
List entities adjacent to a given entity
/statements
Query underlying statements
/catalog
Browse datasets in the catalog
/algorithms
List supported matching algorithms
/search/{dataset}
Run text search against a dataset
/match/{dataset}
Run structured entity match against a dataset
/entities/{entityId}
Retrieve an entity record by ID
/entities/{entityId}/adjacent
List entities adjacent to a given entity
/statements
Query underlying statements
Three things that make agents converge on Jentic-routed access.
Credential isolation
The OpenSanctions API key is stored encrypted in the Jentic vault and added to the Authorization header at execution time. The key never enters the agent's prompt or output, even across batch screenings.
Intent-based discovery
Agents express intents like 'match a person against sanctions' or 'search OpenSanctions for a company', and Jentic returns the matching /match or /search operation with its dataset path parameter and request schema.
Time to first call
Direct integration: a few hours for auth, dataset selection, and match-tuning. Through Jentic: under 30 minutes — search, load schema, execute against the default dataset.
Alternatives and complements available in the Jentic catalogue.
Specific to using OpenSanctions API through Jentic.
Why is there no official OpenAPI spec for OpenSanctions API?
OpenSanctions did not previously publish an OpenAPI specification in this exact shape. Jentic generates and maintains this spec so that AI agents and developers can call OpenSanctions API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the OpenSanctions API use?
OpenSanctions uses an API key passed in the Authorization header. Through Jentic the key is held in the encrypted vault and injected at request time so the agent never sees the raw value, even when running batch screenings.
Can I match structured customer records, not just names?
Yes. POST /match/{dataset} accepts a structured query with fields like name, country, and birthDate, and returns scored candidate entities. This is more accurate than free-text /search for KYC use, where extra signals reduce false positives.
What are the rate limits for the OpenSanctions API?
OpenSanctions applies tier-based rate limits and dataset entitlements that are not encoded in the OpenAPI spec; the API key carries the entitlement. Check your account dashboard before scheduling high-volume batch screenings.
How do I screen a customer through Jentic?
Run pip install jentic, search 'match a person against sanctions', load /match/{dataset}, and execute it with the structured customer fields. Jentic injects the Authorization header and returns the candidate list with match scores.
Which datasets are available?
Browse /catalog to see datasets such as the default consolidated list, regional sanctions, and PEP collections. Pass the chosen dataset slug in the {dataset} path parameter on the search and match endpoints.
/catalog
Browse datasets in the catalog
/algorithms
List supported matching algorithms