{"openapi":"3.1.0","info":{"title":"Canada Parliament API","version":"1.0.0","description":"The Parliament of Canada as an API, powered by openparliament.ca. Browse the Members of Parliament of the House of Commons with their party, riding (electoral district) and province; read an MP's profile including contact details, current party and riding, and full membership history; browse bills by parliamentary session (number, title, date introduced); read a bill's details (sponsor, LEGISinfo id, whether it is a private member's bill, and whether it became law); browse recorded votes (divisions) with their result and yea/nay totals; and list the Hansard debate days. The open database that tracks Canadian federal politics. Ideal for civic-tech and transparency apps, political journalism and dashboards, voting-record and legislation trackers, and research on Canadian democracy. Sessions look like 45-1. Data from openparliament.ca.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/canparl-api","description":"oanor gateway"}],"tags":[{"name":"Politicians"},{"name":"Bills"},{"name":"Votes"},{"name":"Debates"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/politician":{"get":{"operationId":"get_v1_politician","tags":["Politicians"],"summary":"An MP's profile","description":"","parameters":[{"name":"id","in":"query","required":true,"description":"MP slug, e.g. justin-trudeau","schema":{"type":"string"},"example":"justin-trudeau"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"politician":{"name":"Justin Trudeau","slug":"justin-trudeau","email":"justin.trudeau@parl.gc.ca","links":[{"url":"https://www.ourcommons.ca/members/en/justin-trudeau(58733)","note":"Page on ourcommons.ca"}],"party":"Liberal","riding":"Papineau","province":"QC","given_name":"Justin","family_name":"Trudeau","memberships":[{"end":"2025-04-28","label":"Liberal MP for Papineau","party":"Liberal","start":"2008-11-18","riding":"Papineau"}]}},"meta":{"timestamp":"2026-06-01T08:13:40.747Z","request_id":"991eef79-1b5c-49ca-99f7-67fbee5df2ff"},"status":"ok","message":"Politician retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/politicians":{"get":{"operationId":"get_v1_politicians","tags":["Politicians"],"summary":"List Members of Parliament","description":"","parameters":[{"name":"limit","in":"query","required":false,"description":"Max results (1-100)","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"Pagination offset","schema":{"type":"string"}},{"name":"former","in":"query","required":false,"description":"true = include former MPs","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":30,"offset":0,"has_more":true,"politicians":[{"name":"Ziad Aboultaif","slug":"ziad-aboultaif","party":"Conservative","riding":"Edmonton Manning","province":"AB"},{"name":"Burton Bailey","slug":"burton-bailey","party":"Conservative","riding":"Red Deer","province":"AB"},{"name":"John Barlow","slug":"john-barlow","party":"Conservative","riding":"Foothills","province":"AB"},{"name":"David Bexte","slug":"david-bexte","party":"Conservative","riding":"Bow River","province":"AB"},{"name":"Blaine Calkins","slug":"blaine-calkins","party":"Conservative","riding":"Ponoka—Didsbury","province":"AB"},{"name":"Michael Cooper","slug":"michael-cooper","party":"Conservative","riding":"St. Albert—Sturgeon River","province":"AB"},{"name":"Kerry Diotte","slug":"kerry-diotte","party":"Conservative","riding":"Edmonton Griesbach","province":"AB"},{"name":"Garnett Genuis","slug":"garnett-genuis","party":"Conservative","riding":"Sherwood Park—Fort Saskatchewan","province":"AB"},{"name":"Amanpreet S. Gill","slug":"amanpreet-gill","party":"Conservative","riding":"Calgary Skyview","province":"AB"},{"name":"Dalwinder Gill","slug":"dalwinder-gill","party":"Conservative","riding":"Calgary McKnight","province":"AB"},{"name":"Laila Goodridge","slug":"laila-goodridge","party":"Conservative","riding":"Fort McMurray—Cold Lake","province":"AB"},{"name":"Jasraj Singh Hallan","slug":"jasraj-singh-hallan","party":"Conservative","riding":"Calgary East","province":"AB"},{"name":"Corey Hogan","slug":"corey-hogan","party":"Liberal","riding":"Calgary Confederation","province":"AB"},{"name":"Matt Jeneroux","slug":"matt-jeneroux","party":"Liberal","riding":"Edmonton Riverbend","province":"AB"},{"name":"Pat Kelly","slug":"pat-kelly","party":"Conservative","riding":"Calgary Crowfoot","province":"AB"},{"name":"Tom Kmiec","slug":"tom-kmiec","party":"Conservative","riding":"Calgary Shepard","province":"AB"},{"name":"Stephanie Kusie","slug":"stephanie-kusie","party":"Conservative","riding":"Calgary Midnapore","province":"AB"},{"name":"Mike Lake","slug":"mike-lake","party":"Conservative","riding":"Leduc—Wetaskiwin","province":"AB"},{"name":"Dane Lloyd","slug":"dane-lloyd","party":"Conservative","riding":"Parkland","province":"AB"},{"name":"Jagsharan Singh Mahal","slug":"jagsharan-singh-mahal","party":"Conservative","riding":"Edmonton Southeast","province":"AB"},{"name":"Shuv Majumdar","slug":"shuv-majumdar","party":"Conservative","riding":"Calgary Heritage","province":"AB"},{"name":"Kelly McCauley","slug":"kelly-mccauley","party":"Conservative","riding":"Edmonton West","province":"AB"},{"name":"David McKenzie","slug":"david-mckenzie","party":"Conservative","riding":"Calgary Signal Hill","province":"AB"},{"name":"Greg McLean","slug":"greg-mclean","party":"Conservative","riding":"Calgary Centre","province":"AB"},{"name":"Heather McPherson","slug":"heather-mcpherson","party":"NDP","riding":"Edmonton Strathcona","province":"AB"},{"name":"Billy Morin","slug":"billy-morin","party":"Conservative","riding":"Edmonton Northwest","province":"AB"},{"name":"Glen Motz","slug":"glen-motz","party":"Conservative","riding":"Medicine Hat—Cardston—Warner","province":"AB"},{"name":"Eleanor Olszewski","slug":"eleanor-olszewski","party":"Liberal","riding":"Edmonton Centre","province":"AB"},{"name":"Pierre Poilievre","slug":"pierre-poilievre","party":"Conservative","riding":"Battle River—Crowfoot","province":"AB"},{"name":"Michelle Rempel","slug":"michelle-rempel","party":"Conservative","riding":"Calgary Nose Hill","province":"AB"}]},"meta":{"timestamp":"2026-06-01T08:13:41.166Z","request_id":"07490ee7-be34-4979-accb-3338bff71410"},"status":"ok","message":"Politicians retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/bill":{"get":{"operationId":"get_v1_bill","tags":["Bills"],"summary":"A bill's details","description":"","parameters":[{"name":"session","in":"query","required":true,"description":"Session, e.g. 40-2","schema":{"type":"string"},"example":"40-2"},{"name":"number","in":"query","required":true,"description":"Bill number, e.g. C-1","schema":{"type":"string"},"example":"C-1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"bill":{"url":"/bills/40-2/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"40-2","sponsor":"stephen-harper","text_url":"https://www.parl.ca/DocumentViewer/en/3630273","introduced":"2009-01-26","vote_count":0,"home_chamber":"House","legisinfo_id":3628604,"private_member_bill":false}},"meta":{"timestamp":"2026-06-01T08:13:41.410Z","request_id":"5f141c46-8ab2-4319-9411-e98c68a119c8"},"status":"ok","message":"Bill retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/bills":{"get":{"operationId":"get_v1_bills","tags":["Bills"],"summary":"Browse bills","description":"","parameters":[{"name":"session","in":"query","required":false,"description":"Session, e.g. 45-1","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max (1-100)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"bills":[{"url":"/bills/40-2/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"40-2","introduced":"2009-01-26"},{"url":"/bills/41-1/C-1/","name":"An Act respecting the administration of oaths of office","number":"C-1","session":"41-1","introduced":"2011-06-03"},{"url":"/bills/39-1/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"39-1","introduced":"2006-04-04"},{"url":"/bills/43-1/C-1/","name":"An Act respecting the administration of oaths of office","number":"C-1","session":"43-1","introduced":"2019-12-05"},{"url":"/bills/40-3/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"40-3","introduced":"2010-03-03"},{"url":"/bills/41-2/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"41-2","introduced":"2013-10-16"},{"url":"/bills/43-2/C-1/","name":"An Act respecting the administration of oaths of office","number":"C-1","session":"43-2","introduced":"2020-09-23"},{"url":"/bills/37-3/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"37-3","introduced":"2004-02-02"},{"url":"/bills/40-1/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"40-1","introduced":"2008-11-19"},{"url":"/bills/42-1/C-1/","name":"An Act respecting the administration of oaths of office","number":"C-1","session":"42-1","introduced":"2015-12-04"},{"url":"/bills/38-1/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"38-1","introduced":"2004-10-05"},{"url":"/bills/39-2/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"39-2","introduced":"2007-10-16"},{"url":"/bills/44-1/C-1/","name":"An Act respecting the administration of oaths of office","number":"C-1","session":"44-1","introduced":"2021-11-23"},{"url":"/bills/37-1/C-1/","name":"An Act respecting the Administration of Oaths of Office  (pro forma bill)","number":"C-1","session":"37-1","introduced":"2001-01-30"},{"url":"/bills/37-2/C-1/","name":"An Act respecting the Administration of Oaths of Office","number":"C-1","session":"37-2","introduced":"2002-09-30"},{"url":"/bills/45-1/C-1/","name":"An Act respecting the administration of oaths of office","number":"C-1","session":"45-1","introduced":"2025-05-27"},{"url":"/bills/40-2/C-2/","name":"An Act to implement the Free Trade Agreement between Canada and the States of the European Free Trade Association (Iceland, Liechtenstein, Norway, Switzerland), the Agreement on Agriculture between Canada and the Republic of Iceland, the Agreement on Agriculture between Canada and the Kingdom of Norway and the Agreement on Agriculture between Canada and the Swiss Confederation","number":"C-2","session":"40-2","introduced":"2009-01-28"},{"url":"/bills/45-1/C-2/","name":"An Act respecting certain measures relating to the security of the border between Canada and the United States and respecting other related security measures","number":"C-2","session":"45-1","introduced":"2025-06-03"},{"url":"/bills/39-2/C-2/","name":"An Act to amend the Criminal Code and to make consequential amendments to other Acts","number":"C-2","session":"39-2","introduced":"2007-10-18"},{"url":"/bills/44-1/C-2/","name":"An Act to provide further support in response to COVID-19","number":"C-2","session":"44-1","introduced":"2021-11-24"}],"count":20,"offset":0,"has_more":true},"meta":{"timestamp":"2026-06-01T08:13:41.819Z","request_id":"f63c3b33-2c74-4109-b2d0-492d4258f674"},"status":"ok","message":"Bills retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/votes":{"get":{"operationId":"get_v1_votes","tags":["Votes"],"summary":"Recorded votes","description":"","parameters":[{"name":"session","in":"query","required":false,"description":"Session filter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max (1-100)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":20,"votes":[{"nay":0,"yea":332,"bill":"S-233","date":"2026-05-27","number":127,"paired":8,"result":"Passed","session":"45-1","description":"2nd reading of Bill S-233, An Act to amend the Criminal Code (assault against persons who provide health services and first responders)"},{"nay":195,"yea":138,"date":"2026-05-27","number":126,"paired":8,"result":"Failed","session":"45-1","description":"Opposition Motion (Cancellation of federal taxes on gas and diesel and the Clean Fuel Standard)"},{"nay":164,"yea":170,"bill":"C-30","date":"2026-05-26","number":125,"paired":6,"result":"Passed","session":"45-1","description":"2nd reading of Bill C-30, An Act to implement certain provisions of the spring economic update tabled in Parliament on April 28, 2026"},{"nay":197,"yea":137,"bill":"C-30","date":"2026-05-26","number":124,"paired":6,"result":"Failed","session":"45-1","description":"2nd reading of Bill C-30, An Act to implement certain provisions of the spring economic update tabled in Parliament on April 28, 2026 (reasoned amendment)"},{"nay":140,"yea":198,"bill":"C-11","date":"2026-05-25","number":123,"paired":2,"result":"Passed","session":"45-1","description":"3rd reading and adoption of Bill C-11, An Act to amend the National Defence Act and other Acts"},{"nay":178,"yea":160,"bill":"C-11","date":"2026-05-25","number":122,"paired":2,"result":"Failed","session":"45-1","description":"Bill C-11, An Act to amend the National Defence Act and other Acts (recommittal to a committee)"},{"nay":199,"yea":139,"date":"2026-05-25","number":121,"paired":2,"result":"Failed","session":"45-1","description":"Opposition Motion (Protection of private property rights in Canada)"},{"nay":167,"yea":171,"bill":"C-30","date":"2026-05-25","number":120,"paired":2,"result":"Passed","session":"45-1","description":"Time allocation for Bill C-30, An Act to implement certain provisions of the spring economic update tabled in Parliament on April 28, 2026"},{"nay":165,"yea":170,"date":"2026-05-06","number":119,"paired":6,"result":"Passed","session":"45-1","description":"Ways and means motion No. 11"},{"nay":0,"yea":333,"date":"2026-05-06","number":118,"paired":6,"result":"Passed","session":"45-1","description":"Opposition Motion (Measures to support the manufacturing sector)"},{"nay":136,"yea":200,"bill":"C-11","date":"2026-05-05","number":117,"paired":4,"result":"Passed","session":"45-1","description":"Concurrence at report stage of Bill C-11, An Act to amend the National Defence Act and other Acts"},{"nay":171,"yea":165,"bill":"C-11","date":"2026-05-05","number":116,"paired":4,"result":"Failed","session":"45-1","description":"Bill C-11, An Act to amend the National Defence Act and other Acts (report stage amendment) (Motion No. 9)"},{"nay":165,"yea":171,"bill":"C-11","date":"2026-05-05","number":115,"paired":4,"result":"Passed","session":"45-1","description":"Bill C-11, An Act to amend the National Defence Act and other Acts (report stage amendment) (Motion No. 6)"},{"nay":158,"yea":178,"bill":"C-11","date":"2026-05-05","number":114,"paired":4,"result":"Passed","session":"45-1","description":"Bill C-11, An Act to amend the National Defence Act and other Acts (report stage amendment) (Motion No. 5)"},{"nay":178,"yea":158,"bill":"C-11","date":"2026-05-05","number":113,"paired":4,"result":"Failed","session":"45-1","description":"Bill C-11, An Act to amend the National Defence Act and other Acts (report stage amendment) (Motion No. 4)"},{"nay":165,"yea":171,"bill":"C-11","date":"2026-05-05","number":112,"paired":4,"result":"Passed","session":"45-1","description":"Bill C-11, An Act to amend the National Defence Act and other Acts (report stage amendment) (Motion No. 3)"},{"nay":178,"yea":158,"bill":"C-11","date":"2026-05-05","number":111,"paired":4,"result":"Failed","session":"45-1","description":"Bill C-11, An Act to amend the National Defence Act and other Acts (report stage amendment) (Motion No. 2)"},{"nay":178,"yea":158,"bill":"C-11","date":"2026-05-05","number":110,"paired":4,"result":"Failed","session":"45-1","description":"Bill C-11, An Act to amend the National Defence Act and other Acts (report stage amendment) (Motion No. 1)"},{"nay":175,"yea":160,"date":"2026-05-04","number":109,"paired":6,"result":"Failed","session":"45-1","description":"Opposition Motion (Sovereign debt funds)"},{"nay":164,"yea":169,"bill":"C-11","date":"2026-05-04","number":108,"paired":6,"result":"Passed","session":"45-1","description":"Time allocation for Bill C-11, An Act to amend the National Defence Act and other Acts"}],"offset":0,"has_more":true},"meta":{"timestamp":"2026-06-01T08:13:42.111Z","request_id":"e74dbafe-0ac3-4e90-9499-aec920f6c2db"},"status":"ok","message":"Votes retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/debates":{"get":{"operationId":"get_v1_debates","tags":["Debates"],"summary":"Hansard debate days","description":"","parameters":[{"name":"limit","in":"query","required":false,"description":"Max (1-100)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":20,"offset":0,"debates":[{"url":"/debates/2026/5/27/","date":"2026-05-27","number":"123","most_frequent_word":"workers"},{"url":"/debates/2026/5/26/","date":"2026-05-26","number":"122","most_frequent_word":"prices"},{"url":"/debates/2026/5/25/","date":"2026-05-25","number":"121","most_frequent_word":"affordability"},{"url":"/debates/2026/5/8/","date":"2026-05-08","number":"120","most_frequent_word":"victims"},{"url":"/debates/2026/5/7/","date":"2026-05-07","number":"119","most_frequent_word":"decision"},{"url":"/debates/2026/5/6/","date":"2026-05-06","number":"118","most_frequent_word":"alert"},{"url":"/debates/2026/5/5/","date":"2026-05-05","number":"117","most_frequent_word":"tariffs"},{"url":"/debates/2026/5/4/","date":"2026-05-04","number":"116","most_frequent_word":"survivors"},{"url":"/debates/2026/5/1/","date":"2026-05-01","number":"115","most_frequent_word":"deficit"},{"url":"/debates/2026/4/30/","date":"2026-04-30","number":"114","most_frequent_word":"debt"},{"url":"/debates/2026/4/29/","date":"2026-04-29","number":"113","most_frequent_word":"debt"},{"url":"/debates/2026/4/28/","date":"2026-04-28","number":"112","most_frequent_word":"satellites"},{"url":"/debates/2026/4/27/","date":"2026-04-27","number":"111","most_frequent_word":"liberals"},{"url":"/debates/2026/4/24/","date":"2026-04-24","number":"110","most_frequent_word":"elections"},{"url":"/debates/2026/4/23/","date":"2026-04-23","number":"109","most_frequent_word":"majority"},{"url":"/debates/2026/4/22/","date":"2026-04-22","number":"108","most_frequent_word":"treaty"},{"url":"/debates/2026/4/21/","date":"2026-04-21","number":"107","most_frequent_word":"students"},{"url":"/debates/2026/4/20/","date":"2026-04-20","number":"106","most_frequent_word":"c-22"},{"url":"/debates/2026/4/17/","date":"2026-04-17","number":"105","most_frequent_word":"c-22"},{"url":"/debates/2026/4/16/","date":"2026-04-16","number":"104","most_frequent_word":"elections"}],"has_more":true},"meta":{"timestamp":"2026-06-01T08:13:42.760Z","request_id":"325d48a5-6d1f-49fb-823e-e2ac6282dbb1"},"status":"ok","message":"Debates retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Usage notes","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The Parliament of Canada. /v1/politicians (paginate limit & offset; former=true for past MPs) = list Members of Parliament with party, riding and province; /v1/politician?id=justin-trudeau = an MP's profile (contact, party, riding, membership history, links); /v1/bills?session=45-1 = browse bills (number like C-5, name, date introduced); /v1/bill?session=40-2&number=C-1 = a bill's details (sponsor, LEGISinfo id, private-member flag, whether it became law); /v1/votes?session=45-1 = recorded votes with result and yea/nay totals; /v1/debates = the Hansard debate days. Sessions look like 45-1. Data from openparliament.ca (the House of Commons of Canada). For the US Congress see the Congress API, the UK the UK Parliament API, Germany the Bundestag API.","source":"openparliament.ca API (Parliament of Canada, House of Commons)","endpoints":["/v1/politicians","/v1/politician","/v1/bills","/v1/bill","/v1/votes","/v1/debates","/v1/meta"]},"meta":{"timestamp":"2026-06-01T08:13:42.811Z","request_id":"3e239911-c07e-45e2-92f4-dea79225dff0"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":850,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":590,"monthly_call_quota":27000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1790,"monthly_call_quota":115000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4980,"monthly_call_quota":430000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/canparl-api"}