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: