Skip to main content
Political offices are the offices — a head of state, a ministry, a legislative seat, a governorship — and the office-holders are the people who have held them over a published interval. The data is gathered by our open-source crawler lane directly from the publishers: official government and parliamentary rosters where a country publishes one, and Wikidata where it does not. Each holder is bound to the same entity spine as everything else on the API, so one person id reaches their offices, their coded events, the stories that name them and — where one exists — their entry on a public restricted-party list. Coverage is national and subnational. Subnational offices (state governors, regional ministers, provincial assemblies) are carried only where the publisher states the level; an office the source does not place is served at the national level rather than guessed.

What it is not

This is actor context for geopolitical analysis. It is not a politically-exposed-persons list, it is not sanctions screening, and no response from it is a compliance determination. Every response carries the same sentence in meta.disclaimer:“For geopolitical-intelligence analysis — NOT a sanctions-screening, KYC/AML, or compliance control. Use a compliance-grade provider for screening decisions. Coverage is high-recall analytical, not audit-grade.”A person appearing here means a public source lists them as holding a public office. It does not mean they are exposed, restricted, or under investigation, and the absence of a person means nothing at all.

as_of here means valid time

On the offices endpoints, as_of asks who held the office on that date, and it is answered from the start and end dates the publisher states — the office’s own clock, not ours. That is the opposite convention from the rest of the reference layer: on the screening lists and /api/v2/screening/match, as_of asks what we knew on that date and replays our own snapshots. The two answer different questions and are priced and gated differently, which is why the offices family is deliberately not routed through the knowledge-time gate. Two consequences follow from taking the publisher’s clock seriously:
  • An office-holder the source gives no start date cannot be placed on a date. It is excluded from an as_of read and counted in meta.undated_office_holders, never fabricated onto the timeline.
  • Whether a holder is current is what the source asserts, independent of the dates. A source that does not say leaves the status unknown, and unknown is served as unknown rather than coerced into current because an end date happens to be missing.
The same valid-time filter reaches the news layer: office= on /api/v2/events and /api/v2/stories scopes rows to the holders of an office, and office_as_of= narrows that roster to whoever held it on a single date. Both are defined on the parameter reference, which also discloses how many holders in a roster are bridged to a news identity and how many are not. For the general rule about event_date versus when we coded something — the knowledge-time claim on the Core surfaces — see As-of claims and coding latency.

What a person record carries

A served person carries a name, their aliases, citizenship, a Wikidata identifier, gender and birth year — plus the offices they have held and any public-list memberships. That is the whole record. It never carries a date of birth, a passport, national-identity or tax number, an address, or any contact detail. These are not filtered out at serve time; they are absent by construction. No served table has a column to hold them, and the crawler discards them at the moment of writing, so there is no setting, plan or internal surface on which they could be returned. The date of birth collapses to its year before it is stored. If you are the subject of a record and want it corrected or removed, the request path is on the privacy page. Because every record is a projection of a public source, a correction we make is a correction against that source’s publication, and the publisher remains the place to change the underlying fact.

Lists now include individuals

The restricted-party lists on /api/v2/lists used to carry institutions, vessels and aircraft only — individual rows were dropped at load, because there was no person contract to hold them under. They now also carry the individuals those lists name, under exactly the minimal field set above: nothing finer is stored for a listed person than for an office-holder, and the address and remarks fields an institution row may carry are always empty on a person. A category filter on /api/v2/lists selects the kind of list a source is; the accepted values are defined on the value reference, and only some of them count as a sanction in the exposure lenses, which that page also states. A removal is kept as a dated fact on /api/v2/lists/changes rather than deleted, so a list entry that disappears from the publisher remains reconstructable.

Sources and attribution

Each row names its originating publisher, and the freshness a response reports is the time we last read that publisher — not a catalogue date. Official rosters are published by the governments and legislatures that maintain them; Wikidata content is CC0. The crawlers are our fork of the OpenSanctions crawler codebase, which its authors publish under the MIT licence. OpenSanctions’ compiled data, API and bulk exports are not used and are not redistributed — their data carries a non-commercial licence, and nothing in this product fetches it. Our fork carries only crawler code; every fact served here was read from the publisher it is attributed to.

Availability

The offices family is deployed and gated by plan, and a request against it is validated exactly as every other v2 endpoint is. Until the measured coverage — which countries have a national roster, what share of office-holders carry start and end dates, what share of holders are bridged to a Wikipedia identity — is published in the data catalog, treat the family as preview: an endpoint appears on the endpoint reference once we stand behind its numbers, and that page, not this one, is the statement of what is offered.

Where the values are defined

Nothing on this page restates a vocabulary. The scope, branch, status and sort values the offices endpoints accept, the list categories, and every parameter’s exact semantics live on the emitted reference pages: