Commons Votes API
An API published by UK Parliament that provides access to division (voting) records from the House of Commons. It allows querying of how Members of Parliament voted on specific motions, including vote outcomes, dates, and participating members. The data covers the House of Commons at the national level and is freely accessible without authentication. It can be used to track parliamentary decision-making and individual MPs' voting behaviour over time.An API that allows querying of Commons Votes data.
Trust score
How is this computed?Weighted across five axes. Tap a ring for what it measures.
Data schema (53 fields)
| Field | Type | Description |
|---|---|---|
| divisionIdDivision id | integer (int32) | ID number of the division whose records are returned.Id number of a Division whose records are to be returned |
| format | string | Response format, either xml or json.xml or json |
| queryParameters.searchTermQuery parameters.search term | string | Filters divisions whose title or number contains this term.Divisions containing search term within title or number |
| queryParameters.memberIdQuery parameters.member id | integer (int32) | Filters divisions to those where this Member's ID has a voting record.Divisions returning Member with Member ID voting records |
| queryParameters.includeWhenMemberWasTellerQuery parameters.include when member was teller | boolean | Includes divisions where the member acted as a teller, not just voted.Divisions where member was a teller as well as if they actually voted |
| queryParameters.startDateQuery parameters.start date | string (date-time) | Filters divisions dated on or after this date (yyyy-MM-dd).Divisions where division date in one or after date provided. Date format is yyyy-MM-dd |
| queryParameters.endDateQuery parameters.end date | string (date-time) | Filters divisions dated on or before this date (yyyy-MM-dd).Divisions where division date in one or before date provided. Date format is yyyy-MM-dd |
| queryParameters.divisionNumberQuery parameters.division number | integer (int32) | Division number as assigned by the House, unique within a session.Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a division in this system and is passed to the GET division endpoint |
| queryParameters.skipQuery parameters.skip | integer (int32) | Number of records to skip for pagination; default 0.The number of records to skip. Default is 0 |
| queryParameters.takeQuery parameters.take | integer (int32) | Number of records to return per page; default 25.The number of records to return per page. Default is 25 |
| DivisionIdPublishedDivision | integer (int32) | Unique system identifier for the division.Unique system identifier for the division. |
| DatePublishedDivision | string (date-time) | Date on which the division took place.Date on which the division took place. |
| PublicationUpdatedPublishedDivision | string (date-time) | Date and time the division's published record was last updated.Date and time the division's published record was last updated. |
| NumberPublishedDivision | integer (int32) | Division number assigned by the House, unique within a session.Division number assigned by the House, unique within a session. |
| IsDeferredPublishedDivision | boolean | Indicates whether the division was a deferred division.Indicates whether the division was a deferred division. |
| EVELTypePublishedDivision | string | Type of English Votes for English Laws (EVEL) procedure applied to the division.Type of English Votes for English Laws (EVEL) procedure applied to the division. |
| EVELCountryPublishedDivision | string | Country to which the EVEL certification of the division applies.Country to which the EVEL certification of the division applies. |
| TitlePublishedDivision | string | Official title of the division.Official title of the division. |
| AyeCountPublishedDivision | integer (int32) | Total number of Aye votes recorded in the division.Total number of Aye votes recorded in the division. |
| NoCountPublishedDivision | integer (int32) | Total number of No votes recorded in the division.Total number of No votes recorded in the division. |
| DoubleMajorityAyeCountPublishedDivision | integer (int32) | Number of Aye votes counted under double-majority rules.Number of Aye votes counted under double-majority rules. |
| DoubleMajorityNoCountPublishedDivision | integer (int32) | Number of No votes counted under double-majority rules.Number of No votes counted under double-majority rules. |
| AyeTellersPublishedDivision | array<object> | List of Members who acted as tellers for the Aye vote.List of Members who acted as tellers for the Aye vote. |
| NoTellersPublishedDivision | array<object> | List of Members who acted as tellers for the No vote.List of Members who acted as tellers for the No vote. |
| AyesPublishedDivision | array<object> | List of Members who voted Aye in the division.List of Members who voted Aye in the division. |
| NoesPublishedDivision | array<object> | List of Members who voted No in the division.List of Members who voted No in the division. |
| FriendlyDescriptionPublishedDivision | string | Plain-language description of the division's subject.Plain-language description of the division's subject. |
| FriendlyTitlePublishedDivision | string | Human-readable title of the division.Human-readable title of the division. |
| NoVoteRecordedPublishedDivision | array<object> | List of Members eligible to vote who did not have a vote recorded.List of Members eligible to vote who did not have a vote recorded. |
| RemoteVotingStartPublishedDivision | string (date-time) | Date and time remote voting opened for the division.Date and time remote voting opened for the division. |
| RemoteVotingEndPublishedDivision | string (date-time) | Date and time remote voting closed for the division.Date and time remote voting closed for the division. |
| MemberIdRecordedMember | integer (int32) | Unique identifier of the Member.Unique identifier of the Member. |
| NameRecordedMember | string | Full name of the Member.Full name of the Member. |
| PartyRecordedMember | string | Political party of the Member.Political party of the Member. |
| SubPartyRecordedMember | string | Sub-grouping or faction of the Member's party.Sub-grouping or faction of the Member's party. |
| PartyColourRecordedMember | string | Colour code associated with the Member's party.Colour code associated with the Member's party. |
| PartyAbbreviationRecordedMember | string | Abbreviated form of the Member's party name.Abbreviated form of the Member's party name. |
| MemberFromRecordedMember | string | Constituency represented by the Member.Constituency represented by the Member. |
| ListAsRecordedMember | string | Name format used to list the Member alphabetically.Name format used to list the Member alphabetically. |
| ProxyNameRecordedMember | string | Name of the person who cast a proxy vote for the Member.Name of the person who cast a proxy vote for the Member. |
| SearchTermQueryParameters | string | Filters divisions whose title or number contains this term.Divisions containing search term within title or number |
| IncludeWhenMemberWasTellerQueryParameters | boolean | Includes divisions where the member acted as a teller, not just voted.Divisions where member was a teller as well as if they actually voted |
| StartDateQueryParameters | string (date-time) | Filters divisions dated on or after this date (yyyy-MM-dd).Divisions where division date in one or after date provided. Date format is yyyy-MM-dd |
| EndDateQueryParameters | string (date-time) | Filters divisions dated on or before this date (yyyy-MM-dd).Divisions where division date in one or before date provided. Date format is yyyy-MM-dd |
| DivisionNumberQueryParameters | integer (int32) | Division number as assigned by the House, unique within a session.Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a division in this system and is passed to the GET division endpoint |
| PartyNamePartyVoteResult | string | Name of the political party in this vote result.Name of the political party in this vote result. |
| VoteCountPartyVoteResult | integer (int32) | Number of votes cast by the party in the division.Number of votes cast by the party in the division. |
| SkipMemberSearchQueryParameters | integer (int32) | Number of member records to skip for pagination; default 0.The number of records to skip. Default is 0 |
| TakeMemberSearchQueryParameters | integer (int32) | Number of member records to return per page; default 25.The number of records to return per page. Default is 25 |
| MemberVotedAyeMemberVotingRecord | boolean | Indicates whether the Member voted Aye.Indicates whether the Member voted Aye. |
| MemberVotedNoMemberVotingRecord | boolean | Indicates whether the Member voted No.Indicates whether the Member voted No. |
| MemberWasTellerMemberVotingRecord | boolean | Indicates whether the Member acted as a teller in this division.Indicates whether the Member acted as a teller in this division. |
| PublishedDivisionMemberVotingRecord | object | Full published details of the division associated with this voting record.Full published details of the division associated with this voting record. |
Schema captured from openapi 23 days ago.
Verification Status
Using the API
Configuration
- Base URL
- https://commonsvotes-api.parliament.uk
- Version
- v1
- Format
- openapi
- Endpoints
- 5
Try the API
/data/division/{divisionId}.{format}Return a Division
/data/divisions.{format}/groupedbypartyReturn Divisions results grouped by party
/data/divisions.{format}/membervotingReturn voting records for a Member
/data/divisions.{format}/searchReturn a list of Divisions
/data/divisions.{format}/searchTotalResultsReturn total results count
Requests are proxied through our servers. Only GET endpoints are testable.
Endpoints (5)
/data5 endpoints
/data/division/{divisionId}.{format}Return a Division
/data/divisions.{format}/groupedbypartyReturn Divisions results grouped by party
/data/divisions.{format}/membervotingReturn voting records for a Member
/data/divisions.{format}/searchReturn a list of Divisions
/data/divisions.{format}/searchTotalResultsReturn total results count
Query examples
curl -s 'https://commonsvotes-api.parliament.uk/swagger/docs/v1' -H 'Accept: application/json'Machine-readable API description (use it to generate clients).
Machine-readable & source
Embed this badge in a README or wiki — it always shows the latest verification state and quality tier.