# Commons Votes API API

> Commons Votes API API on Apizie: 5 endpoints (Return a Division, Return Divisions results grouped by party, Return voting records for a Member, Return a list of Divisions, …) returned as clean JSON through one API key. 5 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/open-data:parliament-uk-commonsvotes/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:parliament-uk-commonsvotes`
- Category: Open Data
- Status: live
- Source: https://www.parliament.uk/
- Page: https://zieapi.vercel.app/api/open-data/parliament-uk-commonsvotes
- OpenAPI: https://zieapi.vercel.app/api/open-data/parliament-uk-commonsvotes/openapi.json

An API that allows querying of Commons Votes data.

## Endpoints

### Return a Division
`GET https://zieapi.vercel.app/v1/open-data:parliament-uk-commonsvotes/divisions-get-division-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| divisionId | integer | yes | Id number of a Division whose records are to be returned |
| format | string | yes | xml or json |

### Return Divisions results grouped by party
`GET https://zieapi.vercel.app/v1/open-data:parliament-uk-commonsvotes/divisions-get-divisions-groups-by-party`

| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | yes | xml or json |
| queryParameters.searchTerm | string | no | Divisions containing search term within title or number |
| queryParameters.memberId | integer | no | Divisions returning Member with Member ID voting records |
| queryParameters.includeWhenMemberWasTeller | boolean | no | Divisions where member was a teller as well as if they actually voted |
| queryParameters.startDate | string | no | Divisions where division date in one or after date provided. Date format is yyyy-MM-dd |
| queryParameters.endDate | string | no | Divisions where division date in one or before date provided. Date format is yyyy-MM-dd |
| queryParameters.divisionNumber | integer | no | Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a… |

### Return voting records for a Member
`GET https://zieapi.vercel.app/v1/open-data:parliament-uk-commonsvotes/divisions-get-voting-records-for-member`

| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | yes | xml or json |
| queryParameters.memberId | integer | yes | Id number of a Member whose voting records are to be returned |
| queryParameters.skip | integer | no | The number of records to skip. Default is 0 |
| queryParameters.take | integer | no | The number of records to return per page. Default is 25 |
| queryParameters.searchTerm | string | no | Divisions containing search term within title or number |
| queryParameters.includeWhenMemberWasTeller | boolean | no | Divisions where member was a teller as well as if they actually voted |
| queryParameters.startDate | string | no | Divisions where division date in one or after date provided. Date format is yyyy-MM-dd |
| queryParameters.endDate | string | no | Divisions where division date in one or before date provided. Date format is yyyy-MM-dd |
| queryParameters.divisionNumber | integer | no | Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a… |

### Return a list of Divisions
`GET https://zieapi.vercel.app/v1/open-data:parliament-uk-commonsvotes/divisions-search-divisions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | yes | json or xml |
| queryParameters.skip | integer | no | The number of records to skip. Default is 0 |
| queryParameters.take | integer | no | The number of records to return per page. Default is 25 |
| queryParameters.searchTerm | string | no | Divisions containing search term within title or number |
| queryParameters.memberId | integer | no | Divisions returning Member with Member ID voting records |
| queryParameters.includeWhenMemberWasTeller | boolean | no | Divisions where member was a teller as well as if they actually voted |
| queryParameters.startDate | string | no | Divisions where division date in one or after date provided. Date format is yyyy-MM-dd |
| queryParameters.endDate | string | no | Divisions where division date in one or before date provided. Date format is yyyy-MM-dd |
| queryParameters.divisionNumber | integer | no | Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a… |

### Return total results count
`GET https://zieapi.vercel.app/v1/open-data:parliament-uk-commonsvotes/divisions-search-total-results`

| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | yes | json or xml |
| queryParameters.searchTerm | string | no | Divisions containing search term within title or number |
| queryParameters.memberId | integer | no | Divisions returning Member with Member ID voting records |
| queryParameters.includeWhenMemberWasTeller | boolean | no | Divisions where member was a teller as well as if they actually voted |
| queryParameters.startDate | string | no | Divisions where division date in one or after date provided. Date format is yyyy-MM-dd |
| queryParameters.endDate | string | no | Divisions where division date in one or before date provided. Date format is yyyy-MM-dd |
| queryParameters.divisionNumber | integer | no | Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a… |

## Example
```
curl "https://zieapi.vercel.app/v1/open-data:parliament-uk-commonsvotes/divisions-get-division-by-id" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the Commons Votes API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/open-data:parliament-uk-commonsvotes/divisions-get-division-by-id with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Commons Votes API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the Commons Votes API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key open-data:parliament-uk-commonsvotes.

### What is the status of the Commons Votes API API?
Live: works with just an Apizie key
