UK Parliament Scraper
Pricing
from $3.00 / 1,000 results
UK Parliament Scraper
Scrape UK Parliament open data - search MPs and Lords, get member profiles and careers, browse public bills, and pull House of Commons voting divisions. Powered by the official parliament.uk APIs. No login or API key.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Pull structured data from the UK Parliament straight into your spreadsheets, dashboards, or database. Search sitting and former MPs and members of the House of Lords, download full member profiles and career histories, browse public bills as they move through Parliament, and capture House of Commons voting divisions — all from the official parliament.uk open data services.
No login, no API key, no cookies, no proxy. Just choose a mode, set your filters, and run.
What this actor does
The UK Parliament Scraper turns the official Parliament APIs into clean, ready-to-use JSON records. Use it to:
- Track MPs and Lords — find members by name, House, party, gender, or current-membership status.
- Build member profiles — pull a member's synopsis, contact details (email, phone, office address), registered financial interests, constituencies, government and opposition posts, committee memberships, and party affiliations.
- Monitor legislation — search bills by title and House (current or originating), with sponsors, full stage history, and publications.
- Analyse votes — download Commons divisions with aye/no counts and tellers, and optionally the full list of who voted Aye and No.
Modes
| Mode | What you get |
|---|---|
| Search members (MPs & Lords) | A list of members matching your name / House / party / gender filters. |
| Member profiles & careers (by ID) | Full profile plus synopsis, contact details, registered interests, and career: constituencies, government & opposition posts, committees, party affiliations. |
| Bills (public legislation) | Bills matching a title search, with current stage, full stage history, publications, and sponsors. |
| House of Commons divisions (votes) | Recorded votes with aye/no counts, tellers, and (optionally) the full Aye/No member breakdown. |
Output fields
Empty fields are omitted, so you never get nulls. Every record carries recordType, sourceUrl, and scrapedAt.
- Member (
searchMembers/memberDetails):memberId,name,listAs,fullTitle,gender,party,partyAbbreviation,house,membershipFrom,membershipFromId,membershipStartDate,membershipEndDate,isActive,membershipStatus,membershipStatusStartDate,thumbnailUrl. InmemberDetailsonly:synopsis,email,phone,address,postcode,registeredInterests(array of{category, interests[]}), plus the career listsrepresentations,governmentPosts,oppositionPosts,committeeMemberships, andpartyAffiliations(each an array of{name, startDate, endDate, additionalInfo}). - Bill (
bills):billId,shortTitle,longTitle,summary,currentHouse,originatingHouse,lastUpdate,isAct,isDefeated,currentStage,currentStageAbbreviation,currentStageHouse,sponsors[],stages[](array of{stage, abbreviation, house, date}), andpublications[](array of{title, type, date, url}). - Division (
divisions):divisionId,title,date,publicationUpdated,number,ayeCount,noCount,isDeferred,ayeTellers[],noTellers[]. WithincludeVotersenabled, alsoayes[]andnoes[](each an array of{memberId, name, party, memberFrom}).
Output samples
Each record is a flat JSON object.
Member (searchMembers / memberDetails)
{"memberId": 4514,"name": "Sir Keir Starmer","listAs": "Starmer, Sir Keir","fullTitle": "Rt Hon Sir Keir Starmer MP","gender": "M","party": "Labour","partyAbbreviation": "Lab","house": "Commons","membershipFrom": "Holborn and St Pancras","membershipFromId": 4105,"membershipStartDate": "2015-05-07T00:00:00","isActive": true,"membershipStatus": "Current Member","membershipStatusStartDate": "2024-07-04T00:00:00","thumbnailUrl": "https://members-api.parliament.uk/api/Members/4514/Thumbnail","synopsis": "The Rt Hon Sir Keir Starmer is the Labour MP for Holborn and St Pancras, and has been an MP continually since 7 May 2015. …","email": "keir.starmer.mp@parliament.uk","address": "House of Commons, London","postcode": "SW1A 0AA","representations": [{ "name": "Holborn and St Pancras", "startDate": "2024-07-04T00:00:00", "additionalInfo": "Elected 1 time" }],"governmentPosts": [{ "name": "Prime Minister", "startDate": "2024-07-05T00:00:00" }],"recordType": "member","sourceUrl": "https://members.parliament.uk/member/4514/career","scrapedAt": "2026-07-02T13:31:10+00:00"}
Career lists (representations, governmentPosts, oppositionPosts, committeeMemberships, partyAffiliations) are only populated in memberDetails mode.
Bill
{"billId": 2772,"shortTitle": "Climate and Ecology Bill","longTitle": "A Bill to require the Prime Minister to achieve climate and ecology objectives; …","currentHouse": "Commons","originatingHouse": "Commons","lastUpdate": "2021-05-04T14:20:25","isAct": false,"isDefeated": false,"currentStage": "2nd reading","currentStageAbbreviation": "2R","currentStageHouse": "Commons","sponsors": ["Caroline Lucas"],"stages": [{ "stage": "1st reading", "abbreviation": "1R", "house": "Commons", "date": "2020-06-02T00:00:00" },{ "stage": "2nd reading", "abbreviation": "2R", "house": "Commons", "date": "2021-03-12T00:00:00" }],"recordType": "bill","sourceUrl": "https://bills.parliament.uk/bills/2772","scrapedAt": "2026-07-02T13:32:02+00:00"}
Division (Commons vote)
{"divisionId": 1488,"title": "Social Housing (Regulation) Bill [Lords] Report Stage: Amendment 40","date": "2023-03-01T16:57:00","publicationUpdated": "2023-03-02T09:36:07","number": 182,"ayeCount": 180,"noCount": 276,"isDeferred": false,"ayeTellers": ["Gerald Jones", "Christian Wakeford"],"noTellers": ["Scott Mann", "Robert Largan"],"recordType": "division","sourceUrl": "https://votes.parliament.uk/Votes/Commons/Division/1488","scrapedAt": "2026-07-02T13:32:35+00:00"}
Input
| Field | Type | Applies to | Description |
|---|---|---|---|
mode | select | all | searchMembers, memberDetails, bills, or divisions. |
searchQuery | string | searchMembers / bills / divisions | Name (members), or title text (bills, divisions). Leave blank on bills/divisions to browse the latest. |
house | select | searchMembers | Commons, Lords, or any. |
party | select | searchMembers | Party name (Labour, Conservative, Reform UK, SNP, …). |
gender | select | searchMembers | Male, Female, or any. |
currentOnly | boolean | searchMembers | Only current members (default true). |
memberIds | array | memberDetails | Member IDs or members.parliament.uk profile URLs. |
billHouse | select | bills | Restrict to bills currently before the Commons or Lords. |
billOriginatingHouse | select | bills | Restrict to bills first introduced in the Commons or Lords. |
includeVoters | boolean | divisions | Also fetch the full Aye/No member breakdown per division (one extra request each). |
maxItems | integer | all | Cap on records returned (1–1000, default 50). |
Example inputs
Search Labour MPs in the Commons
{ "mode": "searchMembers", "house": "Commons", "party": "Labour", "maxItems": 50 }
Full profiles for Keir Starmer and Rishi Sunak
{ "mode": "memberDetails", "memberIds": ["4514", "4483"] }
Bills about climate
{ "mode": "bills", "searchQuery": "climate", "maxItems": 25 }
Recent Commons divisions on housing
{ "mode": "divisions", "searchQuery": "housing", "maxItems": 25 }
Use cases
- Political research & journalism — track MPs and Lords by party, House, or constituency and monitor how bills progress.
- Civic tech & transparency — build voting-record dashboards from Commons divisions with aye/no counts and tellers.
- Public affairs & lobbying — watch legislation on a topic and identify bill sponsors and current stages.
- Academic & data science — bulk-export member career histories (posts, committees, affiliations) for network analysis.
- CRM enrichment — resolve member IDs or profile URLs into full, structured member records.
FAQ
Do I need an account or API key? No. All data comes from the free, public UK Parliament open data services.
Where does the data come from?
The official members-api.parliament.uk, bills-api.parliament.uk, and commonsvotes-api.parliament.uk services published by the UK Parliament.
How do I find a member's ID?
Open the member on members.parliament.uk — the number in the URL is the ID — or run searchMembers first and reuse the memberId from the results. You can also paste the full profile URL into memberIds.
Does it cover the House of Lords?
Yes. Set house to Lords in searchMembers, or fetch any peer by ID in memberDetails. Divisions cover the House of Commons.
How many records can I get?
Set maxItems up to 1000 per run. Large result sets are paginated automatically.
Is historical data available?
Yes. Turn off currentOnly to include former members, and bills/divisions include past sessions.
Data source
This actor uses the UK Parliament's official open data APIs, which are free and publicly accessible without authentication.