What it returns
Election results, cabinets and parties for 37 EU and OECD parliamentary democracies, from 1900 on, from ParlGov (Döring, Huber and Manow, parlgov.org).
- elections: one row per party per national (or European Parliament) election: vote share, seats, total seats, the party's left-right position, and links to the previous election and cabinet.
- cabinets: one row per party per cabinet: cabinet name and start date, caretaker flag, whether the party is in the cabinet and holds the prime minister, its seats, and the previous cabinet. Use
governingOnlyfor coalition members only. - parties: party family (social democrat, conservative, green, ...) and expert-survey positions: left-right, state-market, liberty-authority, EU anti-pro, with Manifesto Project and CHES ids for joining.
Filter by countries (ISO alpha-3), party, and a date range.
Coverage: ParlGov's development data, which currently runs to mid-2023 (1,027 elections). Later elections appear when ParlGov adds them.
Request
POST https://api.pushbuild.com/parliamentary-elections-cabinets/run with a JSON body. Send your key in the X-API-Key header.
| Field | Type | Description |
|---|---|---|
dataset | string: elections, cabinets, parties | What to return. Default: "elections". |
countries | list of strings | ISO 3166-1 alpha-3 codes (DEU, GBR, FRA). 37 EU and OECD democracies. Empty for all. |
electionType | string: parliament, ep, all | Elections only. Default: "parliament". |
party | string | Party short name (exact) or part of its name. |
dateFrom | string | YYYY-MM-DD; election date, or cabinet start date. |
dateTo | string | YYYY-MM-DD. |
governingOnly | boolean | Cabinets: only parties in the cabinet (otherwise every party in parliament at the time). Default: false. |
sort | string: default, newest | newest: latest elections or cabinets first. Default: "default". |
maxItems | integer | Maximum items to return (1-500). Default: 100. |
Example
curl -X POST https://api.pushbuild.com/parliamentary-elections-cabinets/run \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"maxItems": 20}'
Response
{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}
Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.
Pricing
Pay only for results returned: $0.40 per 1,000 records. No charge for errors or empty searches.
Use it from Claude, ChatGPT or Cursor
This API is also an MCP server: https://api.pushbuild.com/mcp/parliamentary-elections-cabinets. Add it to any assistant that supports remote MCP servers, with your key in the X-API-Key header. Same prices. Setup for each app.
Tell us what you need built.
Questions about this API, higher volumes, or a data source you need that we don't cover yet.
hello@pushbuild.comWant this data inside your own app or CRM? API integrations and data sync