---
title: "The entities API"
summary: "The `/entities/<id>` endpoint returns the full details of an entity, including all related entities nested inline."
url: "https://www.opensanctions.org/docs/api/entities/"
date_updated: "2026-08-04"
---

This is the primary way to retrieve a complete picture of a sanctioned person or company, including their sanctions, ownership structures, identification documents, and family connections. For what the nested format looks like and how it works, see our [nested entities](/docs/nested-entities/) documentation.

## Example

A request for Alexander Zakharov:

```
GET /entities/NK-aU5ybkbRFJucf8YMwsJvDw
```

Returns a response like this (trimmed):

```json
{
  "id": "NK-aU5ybkbRFJucf8YMwsJvDw",
  "schema": "Person",
  "properties": {
    "name": ["Alexander Vyacheslavovich ZAKHAROV"],
    "birthDate": ["1965-09-21"],
    "country": ["ru"],
    "position": ["Owner of LLC CST"],
    "ownershipOwner": [
      {
        "id": "ru-770bdf5f22537fa2a94176f53fa87fe28ecf94fa",
        "schema": "Ownership",
        "properties": {
          "owner": ["NK-aU5ybkbRFJucf8YMwsJvDw"],
          "percentage": ["50"],
          "asset": [
            {
              "id": "NK-abdzbEBkqyT29GyREbiURZ",
              "schema": "Company",
              "properties": {
                "name": ["LLC CST"],
                "country": ["ru"]
              }
            }
          ]
        }
      }
    ],
    "sanctions": [
      {
        "id": "ofac-927f7a4547f68cd05570180fed763dd2d5d8eca7",
        "schema": "Sanction",
        "properties": {
          "authority": ["Office of Foreign Assets Control"],
          "program": ["RUSSIA-EO14024"],
          "country": ["us"],
          "entity": ["NK-aU5ybkbRFJucf8YMwsJvDw"]
        }
      }
    ]
  },
  "datasets": ["gb_fcdo_sanctions", "us_ofac_sdn", "eu_fsf", "ua_nsdc_sanctions"],
  "referents": ["ofac-45937", "gb-fcdo-rus2051", "eu-fsf-eu-12789-10"],
  "target": true,
  "first_seen": "2023-11-02T16:38:16",
  "last_seen": "2026-03-23T12:10:26"
}
```

{% linkcard title="Our representation" %}
[`/entities/NK-aU5ybkbRFJucf8YMwsJvDw`](/entities/NK-aU5ybkbRFJucf8YMwsJvDw/)
{% /linkcard %}

The response includes [nested](/docs/nested-entities/#inbound-relationships) `Ownership` and `Sanction` entities, the `datasets` array showing which sources mention this entity, and the `referents` array listing all source-specific and old IDs that map to this canonical `id`.

To disable nesting and receive only [flat properties](/docs/nested-entities/#the-flat-representation) with entity IDs, pass `nested=false` as a query parameter.

## Keeping your stored IDs current

If your system stores references to OpenSanctions entities, for example to keep track of false-positive decisions for screening alerts, those references can go stale when entities are merged during [deduplication](/docs/identifiers/). (Very briefly: the old canonical `id` becomes one of the `referents` on the deduplicated entity.)

The `/entities/<id>` endpoint returns a `308` redirect to the new canonical ID for as long as the `id` you provide remains in the `referents` of the deduplicated entity (six months).

To keep your stored IDs current, periodically look up each stored ID against the `/entities/` endpoint. If the response is a redirect, the entity was merged. Update your reference to the new canonical ID from the redirect target.

{% alert variant="primary" %}
If you only need to check whether an ID has changed and don't need the full nested data, use `/entities/<id>?nested=false` to keep the response small.
{% /alert %}

Old referent IDs are eventually [cleaned up](/docs/identifiers/#unused-referents-are-removed-after-a-grace-period) and removed from the published data. Once that happens, the API returns a 404 instead of a redirect, and you lose the link to the canonical entity. We recommend checking your stored IDs every three months to stay ahead of this. Avoid running these checks more often than necessary — checking every stored ID every week puts unnecessary load on the API.

{% linkcard title="Read more" %}
[Identifiers and deduplication](/docs/identifiers/)
{% /linkcard %}

## Paginating adjacent entities

Entities with many relationships can produce large nested responses. The `/entities/<id>/adjacent` endpoint returns the same related entities, grouped by property name, with pagination. Each property group includes a count and a paginated list of related entities.

To paginate a single property, use `/entities/<id>/adjacent/<property>`. For example, `/entities/NK-aU5ybkbRFJucf8YMwsJvDw/adjacent/sanctions` returns just the sanctions, paginated.
