---
title: "Using PEP data"
summary: "How to integrate OpenSanctions PEP data into screening workflows — using the `default` dataset, topic filtering, and key properties to examine in matched results."
url: "https://www.opensanctions.org/docs/coverage/pep/using/"
date_updated: "2026-08-28"
---

## Dataset selection

{% alert variant="info" %}
Use the [`default`](/datasets/default/) collection, not the [`peps`](/datasets/peps/) collection.
{% /alert %}

The `peps` collection contains basic office-holder profiles, but it's missing the data produced through [enrichment](/docs/enrichment/): relatives and close associates, name aliases in multiple scripts, biographical details, and the [topic annotations](/docs/coverage/pep/methodology/#topic-classification/) needed for risk-tiered filtering. The `default` collection contains all of this.

To work with PEP data from the `default` collection, [filter](/docs/api/request/#filtering-on-topics) for entities where `topics` includes [`role.pep`](/docs/topics/) (the office-holder) or [`role.rca`](/docs/topics/) (their relatives and close associates).

## Properties to examine in matched results {#key-properties}

Each match links a [`Person`](/reference/#schema.Person) to one or more [`Position`](/reference/#schema.Position) entities via [`Occupancy`](/reference/#schema.Occupancy) records. The following properties are most useful when assessing a result:

Key properties on an `Occupancy`:

- **`startDate`** and **`endDate`** — when the person's specific tenure began and ended.
  - distinct from `inceptionDate` and `dissolutionDate` on `Position`, which record when the office itself existed as an institution.
  - also distinct from `periodStart` and `periodEnd` on `Occupancy`, which record the dates of the fixed office term (e.g. a parliamentary session) and are therefore the same for everyone holding the position during that period.

- **`constituency`** — the electoral district or geographic area the holder represented during this term; distinct from `subnationalArea` on `Position`, which describes where the office itself belongs (e.g. `subnationalArea` is Catalonia for a regional assembly seat; `constituency` is the specific district within it that this person was elected from).

- **`politicalGroup`** — the parliamentary group, caucus, or faction the holder belonged to during this term.

- **`status`** — how confident we are that the person currently holds the position:
  - **`current`** — the source indicates the person is in office. This also covers maintained official lists where a missing end date reliably means current tenure: a source like the EU's MEP register only lists active members, so absence of an end date is itself informative.
  - **`ended`** — the person has left the position and an end date is recorded, but they remain within the applicable retention window.

Key properties on a `Position`:

- **`country`** — the territory where the office is held; for diplomatic positions, the host or receiving country. Use this to [distinguish foreign PEPs from domestic PEPs](/docs/coverage/pep/#the-regulatory-definition).
- **`subnationalArea`** — the name or code of a subnational jurisdiction, only when the position is geographically limited.
- **`topics`** — classification tags describing the [role and jurisdiction](/docs/coverage/pep/methodology/#topic-classification) of the position, e.g. `gov.executive` + `gov.national` for a cabinet minister.

When assessing matches based on position topics, ignore positions with disqualifying topics rather than only considering qualifying ones: if your risk policy covers national government but not local government, ignore positions with the `gov.muni` topic rather than requiring `gov.national`.

This is because new positions are added to the database before detailed topic classification is complete. A new, not-yet-classified national ministry will have no topics at all. If you require `gov.national`, true matches may be ignored. But if you ignore `gov.muni`, only false positives will be excluded.
