Skip to main content
People and organisations are the actors behind the record: the legislators who sponsor bills, the officials who sign rules, and the agencies, committees, and parties they belong to. PolicyMate builds them from official records, such as a parliament’s member list, where one exists, and from the documents that name them otherwise. Roles are only known for members of the legislatures whose records PolicyMate reads, so most people have none.

People

To search for people, send a GET request to the /people endpoint. For example, the following request retrieves the current members of a legislative chamber:
The /people endpoint accepts the following query parameters: To retrieve a single person, send a GET request to /people/{id}. A person looks like the following:
A role’s end_date is null when the record gives no end date, which is how a current role is recorded. A role that ended without the record saying so may therefore still look current. A party membership is a role like any other, held in an organisation whose kind is political_group, so when a person changes party during a term, each membership is listed as its own role, with its own dates. The verification object at the top level tells you whether the person comes from an official record, such as a legislature’s member list, or was assembled by AI from documents that name them (inferred). Each role carries its own verification: official when it comes from the legislature’s record, or reference when it comes from a public reference database such as Wikidata. The GET /people/{id}/bills endpoint returns the bills a person sponsored, latest milestone first. It accepts the same query parameters as the /bills endpoint. The GET /people/{id}/mentions endpoint returns every mention of the person, newest first.

Organisations

Organisations include legislatures and their committees, agencies, regulators, local governments, political parties, companies, and associations. To search for organisations, send a GET request to the /organisations endpoint. It accepts the q, kind, and updated_since query parameters. For example, the following request lists political parties and parliamentary groups:
To retrieve a single organisation, send a GET request to /organisations/{id}. An organisation looks like the following:
The kind attribute is political_group for parties and parliamentary groups, and other for every other organisation. You may pass a political group’s id to the party parameter of the /people endpoint. As PolicyMate learns to tell committees, agencies, and other bodies apart, new kinds will be added to this list, so your code should treat a kind it does not recognise as other. Unlike type, which is organisation for every organisation, as it is bill for every bill, kind tells organisations apart from one another.

Members, Mentions, and Bills

The GET /organisations/{id}/members endpoint returns the people who hold, or held, a role in the organisation, as person objects ordered by name. You may pass current=true to only retrieve current members. The GET /organisations/{id}/mentions endpoint returns every mention of the organisation, newest first. Organisations may also sponsor bills, such as a government filing its own bill. The GET /organisations/{id}/bills endpoint returns them, and accepts the same query parameters as the /bills endpoint.