UK Parliament

App · 20 actions

Follow the UK Parliament: find MPs and Lords, how to contact them and what they have declared, see how they voted, track bills with their stages, documents and amendments, read written questions, answers and ministerial statements, check committees and their meetings, and search what was said in Hansard. No account or API key is required.

Actions

ActionWhat it does
Find a constituency and its MPFind a constituency by name, or the one a postcode is in, with the MP who represents it now.
Find MPs and LordsFind members of the House of Commons or the House of Lords by name, party or constituency: their party, seat, when they joined and whether they still sit.
Get a member's careerGet the government and opposition posts, committee memberships, parties and constituencies an MP or Lord has held, newest first, and the posts they hold now.
Get billGet a bill's details: its long title, sponsors, current stage, every stage it has been through in each House with the dates, and its published documents newest first (each version of the bill, explanatory notes, amendment papers, impact assessments), with links to read them.
Get committeeGet a select or joint committee: what it scrutinises, how to contact it, its chair and its current members.
Get debate transcriptGet a debate from Hansard: everything said, in order, with who said it and when, the list of speakers, and the whole transcript as one text.
Get election resultGet the latest election result in a constituency: the winner, majority, turnout, and every candidate's votes and share.
Get how a member votedGet an MP's or Lord's voting record, newest first: each division, how they voted and whether it passed.
Get MP or LordGet an MP's or Lord's profile: party, seat, status, a one-line summary, and how to contact them (email, phone, office addresses, website).
Get party seat countsGet how many seats each party holds in the Commons or the Lords, today or on a past date, largest first, with the split between men and women.
Get vote resultGet one vote (division): the result, how every member voted, and the numbers for and against from each party.
Get written questionGet a written question in full with the government's answer, who answered and when.
Get written statementGet a written ministerial statement in full.
List bill amendmentsList the amendments tabled to a bill at one stage, with who proposed them and what happened to them.
List committee meetingsList committee meetings in date order, from today unless you pick a date: evidence sessions, private meetings and visits, with the inquiry, room and time.
Search billsFind bills by title, session, House, status, type or sponsor, most recently updated first: where each one is now and its page on bills.parliament.uk.
Search HansardSearch Hansard, the official record of what is said in Parliament, newest first: find whole debates, or each thing said, by one MP or Lord or by anyone, with the debate it was in.
Search votesFind the votes (divisions) held in the Commons or the Lords, newest first, by words in the title or by date: the result and the numbers on each side.
Search written questionsFind written questions MPs and Lords have put to the government, newest first, with the start of each answer.
Search written statementsFind written statements ministers have made to Parliament, newest first, by words, House, minister, department and date.

Find a constituency and its MP

Find a constituency by name, or the one a postcode is in, with the MP who represents it now.

Inputs

Constituency name or postcodequerytextRequired
A constituency's name (or part of it), or a full UK postcode.

Outputs

constituencieslist
constituencyobject
constituency_countnumber
querytext
Example output
{
  "constituencies": [
    {
      "abolished_on": null,
      "constituency_id": 4140,
      "created_on": "2024-05-31",
      "mp_id": 4031,
      "mp_name": "Rachel Reeves",
      "mp_party": "Labour",
      "mp_since": "2010-05-06",
      "name": "Leeds West and Pudsey",
      "url": "https://members.parliament.uk/constituency/4140/overview"
    }
  ],
  "constituency": {
    "abolished_on": null,
    "constituency_id": 4140,
    "created_on": "2024-05-31",
    "mp_id": 4031,
    "mp_name": "Rachel Reeves",
    "mp_party": "Labour",
    "mp_since": "2010-05-06",
    "name": "Leeds West and Pudsey",
    "url": "https://members.parliament.uk/constituency/4140/overview"
  },
  "constituency_count": 1,
  "query": "LS13 2ET"
}

Find MPs and Lords

Find members of the House of Commons or the House of Lords by name, party or constituency: their party, seat, when they joined and whether they still sit.

Inputs

Namenametext
All or part of the member's name.
Househousetext
Only members of this House. Leave empty for both.One of: commons (House of Commons), lords (House of Lords).
Partypartytext
Only members of this party. Leave empty for all.
Constituency or placeconstituencytext
Only MPs whose constituency matches this name or place, for example Leeds.
Current members onlycurrent_onlytrue/false
Leave ticked to skip people who no longer sit.Default: true.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

member_countnumber
memberslist
total_countnumber
Example output
{
  "member_count": 1,
  "members": [
    {
      "constituency": "Leeds West and Pudsey",
      "constituency_id": 4140,
      "full_title": "Rt Hon Rachel Reeves MP",
      "gender": "F",
      "house": "Commons",
      "is_current": true,
      "left_on": null,
      "left_reason": null,
      "list_as": "Reeves, Rachel",
      "member_from": "Leeds West and Pudsey",
      "member_id": 4031,
      "member_since": "2010-05-06",
      "name": "Rachel Reeves",
      "party": "Labour",
      "party_abbreviation": "Lab",
      "party_id": 15,
      "profile_url": "https://members.parliament.uk/member/4031/contact",
      "status": "Current member",
      "thumbnail_url": "https://members-api.parliament.uk/api/Members/4031/Thumbnail"
    }
  ],
  "total_count": 1
}

Get a member's career

Get the government and opposition posts, committee memberships, parties and constituencies an MP or Lord has held, newest first, and the posts they hold now.

Inputs

MembermembertextRequired
An MP's or Lord's name, for example Rachel Reeves, or their member id from an earlier step.

Outputs

committeeslist
constituencieslist
current_postslist
elections_contestedlist
government_postslist
housetext
house_membershipslist
member_idnumber
nametext
opposition_postslist
other_postslist
partieslist
Example output
{
  "committees": [
    {
      "from": "2015-10-26",
      "name": "Treasury Committee",
      "to": "2017-05-03"
    }
  ],
  "constituencies": [
    {
      "from": "2024-07-04",
      "name": "Leeds West and Pudsey",
      "note": "Elected 1 time",
      "to": null
    }
  ],
  "current_posts": [],
  "elections_contested": [
    {
      "constituency": "Bromley and Chislehurst",
      "date": "2005-05-05"
    }
  ],
  "government_posts": [
    {
      "department": "HM Treasury",
      "from": "2024-07-05",
      "title": "Chancellor of the Exchequer",
      "to": "2026-07-20"
    }
  ],
  "house": "Commons",
  "house_memberships": [
    {
      "from": "2010-05-06",
      "house": "Commons",
      "to": null
    }
  ],
  "member_id": 4031,
  "name": "Rachel Reeves",
  "opposition_posts": [
    {
      "department": "HM Treasury",
      "from": "2021-05-09",
      "title": "Shadow Chancellor of the Exchequer",
      "to": "2024-05-30"
    }
  ],
  "other_posts": [],
  "parties": [
    {
      "from": "2010-05-06",
      "name": "Labour",
      "to": null
    }
  ]
}

Get bill

Get a bill's details: its long title, sponsors, current stage, every stage it has been through in each House with the dates, and its published documents newest first (each version of the bill, explanatory notes, amendment papers, impact assessments), with links to read them.

Inputs

Bill idbill_idtextRequired
The bill's id, from 'Search bills' or the bill's page address.
Document typedocument_typetext
Only list documents of this kind. Leave empty for all.

Outputs

bill_idnumber
bill_typetext
current_housetext
current_stagetext
current_stage_datetext
current_stage_housetext
document_countnumber
documentslist
former_titletext
is_acttrue/false
is_defeatedtrue/false
last_updatedtext
latest_stage_idnumber
long_titletext
originating_housetext
session_idnumber
sponsorslist
stage_countnumber
stageslist
summarytext
titletext
urltext
withdrawn_ontext
Example output
{
  "bill_id": 4065,
  "bill_type": "Government bill",
  "current_house": "Lords",
  "current_stage": "Report stage",
  "current_stage_date": "2026-10-20",
  "current_stage_house": "Lords",
  "document_count": 1,
  "documents": [
    {
      "date": "2026-06-23",
      "document_id": 66879,
      "house": "Lords",
      "links": [
        {
          "content_type": "text/html",
          "title": "HL Bill 36 Explanatory Notes",
          "url": "https://publications.parliament.uk/pa/bills/lbill/59-02/036/en/5902036en01.htm"
        }
      ],
      "title": "HL Bill 36 Explanatory Notes",
      "type": "Explanatory Notes",
      "url": "https://publications.parliament.uk/pa/bills/lbill/59-02/036/en/5902036en01.htm"
    }
  ],
  "former_title": null,
  "is_act": false,
  "is_defeated": false,
  "last_updated": "2026-10-15T18:38:44",
  "latest_stage_id": 21073,
  "long_title": "A Bill to continue the Armed Forces Act 2006; to amend that Act and other enactments relating to the armed forces; and for connected purposes.",
  "originating_house": "Commons",
  "session_id": 39,
  "sponsors": [
    {
      "house": "Commons",
      "member_from": "Rawmarsh and Conisbrough",
      "member_id": 400,
      "name": "John Healey",
      "organisation": "Ministry of Defence",
      "party": "Labour"
    }
  ],
  "stage_count": 1,
  "stages": [
    {
      "dates": [
        "2026-09-02",
        "2026-09-08"
      ],
      "first_date": "2026-09-02",
      "house": "Lords",
      "last_date": "2026-09-08",
      "stage": "Committee stage",
      "stage_id": 21073
    }
  ],
  "summary": null,
  "title": "Armed Forces Bill",
  "url": "https://bills.parliament.uk/bills/4065",
  "withdrawn_on": null
}

Get committee

Get a select or joint committee: what it scrutinises, how to contact it, its chair and its current members.

Inputs

CommitteecommitteetextRequired
The committee. Pick a current one, or type a former committee's name or id.

Outputs

addresstext
categorytext
chairtext
chair_idnumber
committee_idnumber
emailtext
ended_ontext
housetext
is_currenttrue/false
member_countnumber
memberslist
nametext
phonetext
purposetext
started_ontext
sub_committeeslist
urltext
Example output
{
  "address": "Treasury Committee, House of Commons, London, SW1A 0AA",
  "category": "Select",
  "chair": "Dame Meg Hillier",
  "chair_id": 1524,
  "committee_id": 158,
  "email": "treascom@parliament.uk",
  "ended_on": null,
  "house": "Commons",
  "is_current": true,
  "member_count": 1,
  "members": [
    {
      "house": "Commons",
      "is_chair": true,
      "is_lay_member": false,
      "member_from": "Hackney South and Shoreditch",
      "member_id": 1524,
      "name": "Dame Meg Hillier",
      "party": "Labour",
      "role": "Chair",
      "since": "2024-09-09"
    }
  ],
  "name": "Treasury Committee",
  "phone": null,
  "purpose": "The Treasury Committee is appointed by the House of Commons to examine the expenditure, administration and policy of HM Treasury, HM Revenue & Customs, and associated public bodies.",
  "started_on": "1995-11-15",
  "sub_committees": [
    "Treasury Sub-Committee on Financial Services Regulations"
  ],
  "url": "https://committees.parliament.uk/committee/158/"
}

Get debate transcript

Get a debate from Hansard: everything said, in order, with who said it and when, the list of speakers, and the whole transcript as one text.

Inputs

Debate iddebate_idtextRequired
The debate's id, from 'Search Hansard'.

Outputs

contribution_countnumber
contributionslist
datetext
debate_idtext
housetext
locationtext
next_debate_idtext
previous_debate_idtext
speaker_countnumber
speakerslist
titletext
transcripttext
urltext
Example output
{
  "contribution_count": 1,
  "contributions": [
    {
      "member_id": 5086,
      "section": null,
      "speaker": "Josh Babarinde (Eastbourne) (LD)",
      "text": "Debate and discussion about issues of benefits, entitlements and calculations can often be relegated to the mere spreadsheet.",
      "time": "19:17"
    }
  ],
  "date": "2026-10-14",
  "debate_id": "A4DB6C7A-96F5-440E-BAC2-A0FCD94A32B6",
  "house": "Commons",
  "location": "Commons Chamber",
  "next_debate_id": "4E08AD9E-E335-45CD-AC13-6C712E40BD08",
  "previous_debate_id": "358C14D9-E879-4EDC-81FE-A31F49DBF7F9",
  "speaker_count": 1,
  "speakers": [
    {
      "contributions": 1,
      "member_id": 5086,
      "name": "Josh Babarinde (Eastbourne) (LD)"
    }
  ],
  "title": "Benefit Entitlements: War Pension and Armed Forces Compensation",
  "transcript": "Josh Babarinde (Eastbourne) (LD): Debate and discussion about issues of benefits, entitlements and calculations can often be relegated to the mere spreadsheet.",
  "url": "https://hansard.parliament.uk/Commons/2026-10-14/debates/A4DB6C7A-96F5-440E-BAC2-A0FCD94A32B6/BenefitEntitlementsWarPensionAndArmedForcesCompensation"
}

Get election result

Get the latest election result in a constituency: the winner, majority, turnout, and every candidate's votes and share.

Inputs

ConstituencyconstituencytextRequired
The constituency's name, a postcode in it, or its id from an earlier step.

Outputs

candidateslist
constituencytext
constituency_idnumber
electiontext
election_datetext
electoratenumber
is_general_electiontrue/false
majoritynumber
resulttext
turnoutnumber
turnout_percentnumber
winnertext
winning_partytext
Example output
{
  "candidates": [
    {
      "change": "0.9%",
      "member_id": null,
      "name": "Rachel Reeves",
      "party": "Labour",
      "vote_share_percent": 49.3,
      "votes": 18976
    }
  ],
  "constituency": "Leeds West and Pudsey",
  "constituency_id": 4140,
  "election": "2024 General Election",
  "election_date": "2024-07-04",
  "electorate": 70069,
  "is_general_election": true,
  "majority": 12392,
  "result": "Lab Hold",
  "turnout": 38494,
  "turnout_percent": 54.9,
  "winner": "Rachel Reeves",
  "winning_party": "Labour"
}

Get how a member voted

Get an MP's or Lord's voting record, newest first: each division, how they voted and whether it passed. Narrow it by words in the title or by date.

Inputs

MembermembertextRequired
An MP's or Lord's name, for example Rachel Reeves, or their member id from an earlier step.
Search wordssearch_termtext
Only votes whose title contains these words, for example a bill's name. Leave empty for every vote.
From datefrom_datedate
Only on or after this date.
To dateto_datedate
Only on or before this date.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

housetext
member_idnumber
nametext
vote_countnumber
voted_against_countnumber
voted_for_countnumber
voteslist
Example output
{
  "house": "Commons",
  "member_id": 4031,
  "name": "Rachel Reeves",
  "vote_count": 1,
  "voted_against_count": 0,
  "voted_for_count": 1,
  "votes": [
    {
      "ayes": 319,
      "date": "2026-10-14",
      "division_id": 2442,
      "house": "Commons",
      "noes": 115,
      "number": 84,
      "passed": true,
      "teller": false,
      "title": "Carbon Border Adjustment Mechanism (Calculation of CBAM Rate and Determination of Carbon Price Relief) Regulations 2026",
      "url": "https://votes.parliament.uk/votes/commons/division/2442",
      "vote": "Aye",
      "voted_for": true
    }
  ]
}

Get MP or Lord

Get an MP's or Lord's profile: party, seat, status, a one-line summary, and how to contact them (email, phone, office addresses, website). Tick the box to add what they have declared in the register of interests: paid work, donations, gifts, visits, property and shareholdings.

Inputs

MembermembertextRequired
An MP's or Lord's name, for example Rachel Reeves, or their member id from an earlier step.
Include registered interestsinclude_intereststrue/false
Also list what they have declared in the register of interests, each with its category and date.Default: false.

Outputs

constituencytext
constituency_idnumber
contactslist
emailtext
full_titletext
gendertext
housetext
interest_categorieslist
interest_countnumber
interestslist
is_currenttrue/false
left_ontext
left_reasontext
list_astext
member_fromtext
member_idnumber
member_sincetext
nametext
partytext
party_abbreviationtext
party_idnumber
phonetext
profile_urltext
statustext
synopsistext
thumbnail_urltext
websitetext
Example output
{
  "constituency": "Leeds West and Pudsey",
  "constituency_id": 4140,
  "contacts": [
    {
      "address": "House of Commons, London",
      "email": "rachel.reeves.mp@parliament.uk",
      "phone": "020 7219 7097",
      "postcode": "SW1A 0AA",
      "type": "Parliamentary office",
      "url": null
    }
  ],
  "email": "rachel.reeves.mp@parliament.uk",
  "full_title": "Rt Hon Rachel Reeves MP",
  "gender": "F",
  "house": "Commons",
  "interest_categories": [
    "2. (b) Any other support not included in Category 2(a)"
  ],
  "interest_count": 1,
  "interests": [
    {
      "amended_on": null,
      "category": "2. (b) Any other support not included in Category 2(a)",
      "details": [],
      "interest_id": 13437,
      "registered_on": "2025-10-21",
      "text": "Name of donor: Alison Wedgwood\n\nAmount of donation or nature and value if donation in kind: \u00a330,000 to support my Parliamentary and political duties."
    }
  ],
  "is_current": true,
  "left_on": null,
  "left_reason": null,
  "list_as": "Reeves, Rachel",
  "member_from": "Leeds West and Pudsey",
  "member_id": 4031,
  "member_since": "2010-05-06",
  "name": "Rachel Reeves",
  "party": "Labour",
  "party_abbreviation": "Lab",
  "party_id": 15,
  "phone": "020 7219 7097",
  "profile_url": "https://members.parliament.uk/member/4031/contact",
  "status": "Current member",
  "synopsis": "The Rt Hon Rachel Reeves is the Labour MP for Leeds West and Pudsey, and has been an MP continually since 6 May 2010.",
  "thumbnail_url": "https://members-api.parliament.uk/api/Members/4031/Thumbnail",
  "website": "https://www.rachelreevesmp.co.uk/"
}

Get party seat counts

Get how many seats each party holds in the Commons or the Lords, today or on a past date, largest first, with the split between men and women.

Inputs

HousehousetextRequired
The House to count.One of: commons (House of Commons), lords (House of Lords). Default: commons.
On dateon_datedate
Count the seats as they were on this date. Leave empty for today.

Outputs

datetext
housetext
largest_partytext
partieslist
total_seatsnumber
Example output
{
  "date": "2026-10-15",
  "house": "Commons",
  "largest_party": "Labour",
  "parties": [
    {
      "abbreviation": "Lab",
      "men": 215,
      "party": "Labour",
      "party_id": 15,
      "seats": 404,
      "women": 189
    }
  ],
  "total_seats": 404
}

Get vote result

Get one vote (division): the result, how every member voted, and the numbers for and against from each party.

Inputs

HousehousetextRequired
The House that voted.One of: commons (House of Commons), lords (House of Lords). Default: commons.
Division iddivision_idtextRequired
The vote's division id, from 'Search votes'.

Outputs

ayesnumber
datetext
division_idnumber
housetext
no_vote_recorded_countnumber
noesnumber
notestext
numbernumber
party_breakdownlist
passedtrue/false
titletext
urltext
voter_countnumber
voteslist
Example output
{
  "ayes": 319,
  "date": "2026-10-14",
  "division_id": 2442,
  "house": "Commons",
  "no_vote_recorded_count": 216,
  "noes": 115,
  "notes": null,
  "number": 84,
  "party_breakdown": [
    {
      "ayes": 311,
      "noes": 0,
      "party": "Labour"
    },
    {
      "ayes": 0,
      "noes": 103,
      "party": "Conservative"
    }
  ],
  "passed": true,
  "title": "Carbon Border Adjustment Mechanism (Calculation of CBAM Rate and Determination of Carbon Price Relief) Regulations 2026",
  "url": "https://votes.parliament.uk/votes/commons/division/2442",
  "voter_count": 434,
  "votes": [
    {
      "member_from": "Leeds West and Pudsey",
      "member_id": 4031,
      "name": "Rachel Reeves",
      "party": "Labour",
      "proxy": null,
      "teller": false,
      "vote": "Aye",
      "voted_for": true
    }
  ]
}

Get written question

Get a written question in full with the government's answer, who answered and when.

Inputs

Question idquestion_idtextRequired
The question's id, from 'Search written questions'.

Outputs

answer_texttext
answeredtrue/false
answered_bytext
answered_by_idnumber
asked_bytext
asked_by_idnumber
asked_by_partytext
attachmentslist
date_answeredtext
date_duetext
date_tabledtext
departmenttext
department_idnumber
headingtext
housetext
is_holding_answertrue/false
is_withdrawntrue/false
question_idnumber
question_texttext
uintext
urltext
Example output
{
  "answer_text": "As set out in the Animal Welfare Strategy published in December 2025, this Government is continuing to explore both legislative and non-legislative options. It will set out next steps in due course.",
  "answered": true,
  "answered_by": "Stephen Morgan",
  "answered_by_id": 4653,
  "asked_by": "Ruth Jones",
  "asked_by_id": 4716,
  "asked_by_party": "Labour",
  "attachments": [],
  "date_answered": "2026-10-15",
  "date_due": "2026-10-13",
  "date_tabled": "2026-10-09",
  "department": "Department for Environment, Food and Rural Affairs",
  "department_id": 13,
  "heading": "Animal Welfare",
  "house": "Commons",
  "is_holding_answer": false,
  "is_withdrawn": false,
  "question_id": 1944254,
  "question_text": "To ask the Secretary of State for Environment, Food and Rural Affairs, when she plans to publish findings of her Department's discussions on options to prohibit advertising of low-welfare animal activities undertaken abroad.",
  "uin": "30448",
  "url": "https://questions-statements.parliament.uk/written-questions/detail/2026-10-09/30448"
}

Get written statement

Get a written ministerial statement in full.

Inputs

Statement idstatement_idtextRequired
The statement's id, from 'Search written statements'.

Outputs

attachmentslist
datetext
departmenttext
department_idnumber
housetext
made_bytext
made_by_idnumber
made_by_roletext
statement_idnumber
texttext
titletext
uintext
urltext
Example output
{
  "attachments": [],
  "date": "2026-10-15",
  "department": "Foreign, Commonwealth and Development Office",
  "department_id": 208,
  "house": "Commons",
  "made_by": "Uma Kumaran",
  "made_by_id": 5278,
  "made_by_role": "Parliamentary Under-Secretary of State for Overseas Territories, Caribbean and Global Technology",
  "statement_id": 1949367,
  "text": "The Government is today publishing an update to the United Kingdom\u2019s Arctic policy. This builds on the United Kingdom\u2019s Arctic Policy Framework \u2018Looking North\u2019.",
  "title": "An Update to the United Kingdom\u2019s Arctic Policy Framework",
  "uin": "HCWS382",
  "url": "https://questions-statements.parliament.uk/written-statements/detail/2026-10-15/HCWS382"
}

List bill amendments

List the amendments tabled to a bill at one stage, with who proposed them and what happened to them. Leave the stage empty for the latest stage that has amendments.

Inputs

Bill idbill_idtextRequired
The bill's id, from 'Search bills' or the bill's page address.
Stagestage_idtext
The stage the amendments were tabled at. Leave empty for the latest stage with amendments.
Outcomedecisiontext
Only amendments with this outcome. Leave empty for all.One of: agreed (Agreed to), rejected, withdrawn, not_moved (Not moved, called or selected), undecided (Not decided yet).
Search wordssearch_termtext
Only amendments containing these words.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

amendment_countnumber
amendmentslist
bill_idnumber
decisionslist
match_countnumber
stagetext
stage_housetext
stage_idnumber
total_countnumber
truncatedtrue/false
Example output
{
  "amendment_count": 1,
  "amendments": [
    {
      "amendment_id": 10037353,
      "amendment_type": "Edit bill body",
      "clause": 2,
      "decision": "Withdrawn",
      "decision_explanation": "The amendment was withdrawn after debate and no decision was taken on it.",
      "lead_sponsor": "Baroness Fraser of Craigmaddie",
      "lead_sponsor_id": 4906,
      "line": 13,
      "number": "1",
      "page": 2,
      "schedule": null,
      "sponsors": [
        "Baroness Fraser of Craigmaddie",
        "Baroness Smith of Newnham"
      ],
      "summary": "Clause 2, page 2, line 13, at end insert \u201cand the Royal Fleet Auxiliary\u201d"
    }
  ],
  "bill_id": 4065,
  "decisions": [
    {
      "count": 52,
      "decision": "Not moved"
    },
    {
      "count": 18,
      "decision": "Withdrawn"
    }
  ],
  "match_count": 1,
  "stage": "Committee stage",
  "stage_house": "Lords",
  "stage_id": 21073,
  "total_count": 78,
  "truncated": false
}

List committee meetings

List committee meetings in date order, from today unless you pick a date: evidence sessions, private meetings and visits, with the inquiry, room and time.

Inputs

Committeecommitteetext
Only this committee's meetings. Leave empty for every committee.
Househousetext
Only committees of this House. Leave empty for all.One of: commons (House of Commons), lords (House of Lords), joint (Joint committees).
From datefrom_datedate
Meetings on or after this date. Defaults to today.
To dateto_datedate
Only on or before this date.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

committee_idnumber
from_datetext
meeting_countnumber
meetingslist
total_countnumber
Example output
{
  "committee_id": 158,
  "from_date": "2026-10-15",
  "meeting_count": 1,
  "meetings": [
    {
      "business": [
        "Budget 2026"
      ],
      "cancelled": false,
      "committee_ids": [
        158
      ],
      "committees": [
        "Treasury Committee"
      ],
      "date": "2026-10-20",
      "end_time": "2026-10-20T12:30:00",
      "location": "Room 8, Palace of Westminster",
      "meeting_id": 28371,
      "start_time": "2026-10-20T09:30:00",
      "title": "Budget 2026: Pre Budget scrutiny 2",
      "type": "Formal meeting (oral evidence session)"
    }
  ],
  "total_count": 1
}

Search bills

Find bills by title, session, House, status, type or sponsor, most recently updated first: where each one is now and its page on bills.parliament.uk.

Inputs

Search wordssearch_termtext
Words in the bill's title. Leave empty for every bill.
Statusstatustext
Only bills in this state. 'Still going through Parliament' looks in the current session unless you pick another. Leave empty for every bill.One of: in_progress (Still going through Parliament), act (Became law), defeated, withdrawn.
Sessionsessiontext
Only bills before Parliament in this session. Leave empty for every session.
Now incurrent_housetext
Only bills now in this House. Leave empty for both.One of: commons (House of Commons), lords (House of Lords).
Bill typebill_typetext
Only bills of this kind. Leave empty for every kind.One of: government (Government bill), private_members (Private members' bill), private (Private bill), hybrid (Hybrid bill), consolidation (Consolidation bill), draft (Draft bill), supply (Supply and Appropriation bill).
Sponsorsponsortext
Only bills sponsored by this MP or Lord: a name or a member id. Leave empty for any sponsor.
Ordersorttext
The order to list them in.One of: updated_newest (Most recently updated first), updated_oldest (Least recently updated first), title_az (Title, A to Z), title_za (Title, Z to A). Default: updated_newest.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

bill_countnumber
billslist
session_idnumber
total_countnumber
Example output
{
  "bill_count": 1,
  "bills": [
    {
      "bill_id": 4065,
      "bill_type": "Government bill",
      "current_house": "Lords",
      "current_stage": "Report stage",
      "current_stage_date": "2026-10-20",
      "current_stage_house": "Lords",
      "former_title": null,
      "is_act": false,
      "is_defeated": false,
      "last_updated": "2026-10-15T18:38:44",
      "originating_house": "Commons",
      "session_id": 39,
      "title": "Armed Forces Bill",
      "url": "https://bills.parliament.uk/bills/4065",
      "withdrawn_on": null
    }
  ],
  "session_id": null,
  "total_count": 1
}

Search Hansard

Search Hansard, the official record of what is said in Parliament, newest first: find whole debates, or each thing said, by one MP or Lord or by anyone, with the debate it was in.

Inputs

Search wordssearch_termtext
Words that were said. Leave empty to see everything a member said.
Search insearch_intext
One result per debate, or each speech on its own. Picking a member always searches speeches.One of: debates (Debates (one result per debate)), speeches (What was said (each speech)). Default: debates.
Membermembertext
Only what this MP or Lord said: a name or a member id. Leave empty for anyone.
Househousetext
Only in this House. Leave empty for both.One of: commons (House of Commons), lords (House of Lords).
From datefrom_datedate
Only on or after this date.
To dateto_datedate
Only on or before this date.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

contribution_countnumber
contributionslist
debate_countnumber
debateslist
member_idnumber
member_nametext
search_intext
total_countnumber
Example output
{
  "contribution_count": 1,
  "contributions": [
    {
      "contribution_id": "7F7BA0C6-121D-41FF-B77B-294D1B9DC9B9",
      "date": "2026-06-23",
      "debate_id": "EE9CD597-E12E-4FB5-BC3C-153413F9DE60",
      "debate_title": "Economic Strength",
      "house": "Commons",
      "location": "Commons Chamber",
      "member_id": 4031,
      "member_name": "Rachel Reeves",
      "speaker": "The Chancellor of the Exchequer (Rachel Reeves)",
      "text": "Since I became Chancellor, our economy has grown by 2.3%\u2014the fastest growth among European G7 economies in that period.",
      "url": "https://hansard.parliament.uk/Commons/2026-06-23/debates/EE9CD597-E12E-4FB5-BC3C-153413F9DE60/EconomicStrength#contribution-7F7BA0C6-121D-41FF-B77B-294D1B9DC9B9"
    }
  ],
  "debate_count": 1,
  "debates": [
    {
      "date": "2026-06-23",
      "debate_id": "EE9CD597-E12E-4FB5-BC3C-153413F9DE60",
      "house": "Commons",
      "location": "Commons Chamber",
      "title": "Economic Strength",
      "url": "https://hansard.parliament.uk/Commons/2026-06-23/debates/EE9CD597-E12E-4FB5-BC3C-153413F9DE60/EconomicStrength"
    }
  ],
  "member_id": 4031,
  "member_name": "Rachel Reeves",
  "search_in": "speeches",
  "total_count": 1
}

Search votes

Find the votes (divisions) held in the Commons or the Lords, newest first, by words in the title or by date: the result and the numbers on each side.

Inputs

HousehousetextRequired
The House that voted.One of: commons (House of Commons), lords (House of Lords). Default: commons.
Search wordssearch_termtext
Words in the vote's title, for example a bill's name. Leave empty for every vote.
From datefrom_datedate
Only on or after this date.
To dateto_datedate
Only on or before this date.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

division_countnumber
divisionslist
housetext
Example output
{
  "division_count": 1,
  "divisions": [
    {
      "ayes": 319,
      "date": "2026-10-14",
      "division_id": 2442,
      "house": "Commons",
      "noes": 115,
      "number": 84,
      "passed": true,
      "title": "Carbon Border Adjustment Mechanism (Calculation of CBAM Rate and Determination of Carbon Price Relief) Regulations 2026",
      "url": "https://votes.parliament.uk/votes/commons/division/2442"
    }
  ],
  "house": "Commons"
}

Search written questions

Find written questions MPs and Lords have put to the government, newest first, with the start of each answer. Narrow by words, who asked, the department, whether it has been answered, and date.

Inputs

Search wordssearch_termtext
Words to look for. Leave empty for everything.
Househousetext
Only questions asked in this House. Leave empty for both.One of: commons (House of Commons), lords (House of Lords).
Asked byasked_bytext
Only questions asked by this MP or Lord: a name or a member id.
Departmentdepartmenttext
Only those for this government department. Leave empty for all.
Answeredstatustext
Answered, not yet answered, or leave empty for both.One of: answered, unanswered (Not answered yet).
Asked fromtabled_fromdate
Only questions asked on or after this date.
Asked untiltabled_todate
Only questions asked on or before this date.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

question_countnumber
questionslist
total_countnumber
Example output
{
  "question_count": 1,
  "questions": [
    {
      "answer_preview": "As set out in the Animal Welfare Strategy published in December 2025, this Government is continuing to explore both legislative and non-legislative options. It will set out next steps in due course.",
      "answered": true,
      "answered_by": "Stephen Morgan",
      "answered_by_id": 4653,
      "asked_by": "Ruth Jones",
      "asked_by_id": 4716,
      "asked_by_party": "Labour",
      "date_answered": "2026-10-15",
      "date_due": "2026-10-13",
      "date_tabled": "2026-10-09",
      "department": "Department for Environment, Food and Rural Affairs",
      "department_id": 13,
      "heading": "Animal Welfare",
      "house": "Commons",
      "is_holding_answer": false,
      "is_withdrawn": false,
      "question_id": 1944254,
      "question_preview": "To ask the Secretary of State for Environment, Food and Rural Affairs, when she plans to publish findings of her Department's discussions on options to prohibit advertising of low-welfare animal activities undertaken abroad.",
      "uin": "30448",
      "url": "https://questions-statements.parliament.uk/written-questions/detail/2026-10-09/30448"
    }
  ],
  "total_count": 1
}

Search written statements

Find written statements ministers have made to Parliament, newest first, by words, House, minister, department and date.

Inputs

Search wordssearch_termtext
Words to look for. Leave empty for everything.
Househousetext
Only statements made in this House. Leave empty for both.One of: commons (House of Commons), lords (House of Lords).
Made bymade_bytext
Only statements by this minister: a name or a member id.
Departmentdepartmenttext
Only those for this government department. Leave empty for all.
From datefrom_datedate
Only on or after this date.
To dateto_datedate
Only on or before this date.
Number of resultslimitnumber
How many to return, newest first. Defaults to 20.From 1 to 100. Default: 20.

Outputs

statement_countnumber
statementslist
total_countnumber
Example output
{
  "statement_count": 1,
  "statements": [
    {
      "date": "2026-10-15",
      "department": "Foreign, Commonwealth and Development Office",
      "department_id": 208,
      "house": "Commons",
      "made_by": "Uma Kumaran",
      "made_by_id": 5278,
      "made_by_role": "Parliamentary Under-Secretary of State for Overseas Territories, Caribbean and Global Technology",
      "statement_id": 1949367,
      "text_preview": "The Government is today publishing an update to the United Kingdom\u2019s Arctic policy. This builds on the United Kingdom\u2019s Arctic Policy Framework \u2018Looking North\u2019.",
      "title": "An Update to the United Kingdom\u2019s Arctic Policy Framework",
      "uin": "HCWS382",
      "url": "https://questions-statements.parliament.uk/written-statements/detail/2026-10-15/HCWS382"
    }
  ],
  "total_count": 1
}

On this page