yente
yente is an open source data match-making API. The service provides several HTTP endpoints to search, retrieve or match FollowTheMoney entities, including people, companies or vessels that are subject to international sanctions.
The yente API is built to provide access to OpenSanctions data, and can also be used to search and match other data, such as company registries or custom watchlists.
While yente is the open source core code base for the OpenSanctions API, it can also be run on-premises as a KYC appliance so that no customer data leaves your infrastructure.
- yente documentation - install, configure and use the service.
Development
yente is implemented in asynchronous, typed Python using the FastAPI framework. We're happy to see any bug fixes, improvements or extensions from the community. To set up a local development environment, use uv:
git clone https://github.com/opensanctions/yente.git
cd yente
# Install runtime and development dependencies
uv sync
# Install pre-commit hooks with useful checks
prek install
# Activate the virtual environment
source .venv/bin/activate
This will install a broad range of dependencies, including numpy, scikit-learn and pyicu, which are binary packages that may require a local build environment. For pyicu in particular, refer to the package documentation.
Running the server
Once you've set the YENTE_INDEX_URL environment variable to point to a running instance of ElasticSearch or OpenSearch, you can run the web server like this:
yente serve
Releasing
bump2version --verbose minor # or patch
git push && git push --tags
Debugging using OpenTelemetry Tracing
You'll need a local piece of software to receive and display traces. Jaeger is widely used and has an easy-to-use Docker image. Paste the command to start the all-in-one container from the Jaeger documentation and find the web interface at http://localhost:16686.
Then, just run yente like this:
opentelemetry-instrument --exporter_otlp_traces_endpoint="http://localhost:4317" yente serve
License and Support
yente is licensed according to the MIT license terms documented in LICENSE. Using the service in a commercial context may require a data license for OpenSanctions data.
Release files for yente 5.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| yente-5.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / yente-5.5.0-py3-none-any.whl
| Download URL | yente-5.5.0-py3-none-any.whl |
|---|---|
| Size | 92.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
97d7a09af6ff919b76334e6784537d1ce24ec288c5436a2f19db99772f846401
|
|
BLAKE2b-256 checksum How to use checksums |
7da7ab9db92fa6da59ed48cfb9d26c5b76babdf629bf5ca14f93a83b9522ee0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.
Transparency log