/v1/bills
Search bills before Parliament
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/ukparliament-api/v1/bills" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/ukparliament-api/v1/bills", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/ukparliament-api/v1/bills");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/ukparliament-api/v1/bills",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"count": 20,
"query": null,
"total": 3891,
"results": [
{
"id": 4030,
"url": "https://bills.parliament.uk/bills/4030",
"title": "Railways Bill",
"is_act": false,
"long_title": null,
"is_defeated": false,
"last_update": "2026-05-29T21:30:34.5777116",
"current_house": "Commons",
"current_stage": "Report stage",
"originating_house": "Commons"
},
{
"id": 4080,
"url": "https://bills.parliament.uk/bills/4080",
"title": "Representation of the People Bill",
"is_act": false,
"long_title": null,
"is_defeated": false,
"last_update": "2026-05-29T21:16:22.5580253",
"current_house": "Commons",
"current_stage": "Report stage",
"originating_house": "Commons"
},
{
"id": 4123,
"url": "https://bills.parliament.uk/bills/4123",
"title": "Steel Industry (Nationalisation) Bill",
"is_act": false,
"long_title": null,
"is_defeated": false,
"last_update": "2026-05-29T18:46:12.9017698",
"current_house": "Commons",
"current_stage": "Committee of the whole House",
"originating_house": "Commons"
},
{
"id": 4065,
"url": "https://bills.parliament.uk/bills/4065",
"title": "Armed Forces Bill",
"is_act": false,
"long_title": null,
"is_defeated": false,
"last_update": "2026-05-29T17:20:19.0901143",
"current_house": "Commons",
"current_stage": "Programme motion",
"originating_house": "Commons"
},
{
"id": 4127,
"url": "https://bills.parliament.uk/bills/4127",
"title": "Sporting Events Bill [HL]",
"is_act": false,
"long_title": null,
"is_defeated": false,
"last_update": "2026-05-29T15:30:30.1313804",
"current_house": "Lords",
"current_stage": "2nd reading",
"originating_house": "Lords"
},
{
"id": 4129,
"url": "https://bills.parliament.uk/bills/4129",
"title": "Financial Services and Markets Bill [HL]",
"is_act": false,
"long_title": null,
"is_defeated": false,
"last_update": "2026-05-29T15:24:43.1692926",
"current_house": "Lords",
"current_stage": "2nd reading",
"orig
…