Canadian Parliament Scraper - Bills, MPs & Votes avatar

Canadian Parliament Scraper - Bills, MPs & Votes

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Canadian Parliament Scraper - Bills, MPs & Votes

Canadian Parliament Scraper - Bills, MPs & Votes

$0.5/1K πŸ”₯ Canadian Parliament scraper! Bills, votes & MPs with statuses, sponsors and tallies. No key. JSON, CSV, Excel or API in seconds. Power civic tech & policy monitoring ⚑

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

ninhothedev

ninhothedev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Canadian Parliament Bills & MPs Scraper

Scrape Canadian federal Parliament data β€” bills, Members of Parliament and House of Commons votes β€” straight from openparliament.ca, the open-data mirror of Canada's LEGISinfo and Hansard records. No API key, no login, no cookies.

Pick a mode, optionally pin a parliamentary session (e.g. 45-1), and get one clean row per bill, MP or vote, ready for JSON, CSV, Excel or a direct API pull into your own database.


What you get

Mode: bills

Every federal bill (Commons C- and Senate S- bills) with its legislative status:

FieldExample
bill_numberC-3
session45-1
legisinfo_id13546143
nameAn Act to amend the Citizenship Act (2025)
name_frLoi modifiant la Loi sur la citoyennetΓ© (2025)
short_titleCitizenship Act amendment
statusLaw (royal assent given)
home_chamberHouse
introduced2025-06-05
is_lawtrue
is_private_member_billfalse
sponsor_url / sponsor_namehttps://openparliament.ca/politicians/lena-metlege-diab/ / Lena Metlege Diab
text_url, vote_count, urlfull bill text, number of recorded votes, public page

Mode: politicians

Current MPs with name, given_name, family_name, party, riding, province, gender, image_url and url.

Mode: votes

Recorded divisions in the House of Commons with vote_number, date, description, result, yea_total, nay_total, paired_total, total_votes (yea + nay), a passed boolean and the linked bill_url.

Every record also carries type, source (openparliament) and scraped_at.


Input

{
"mode": "bills",
"session": "45-1",
"maxItems": 200
}
InputTypeDefaultNotes
modeselectbillsbills, politicians or votes
sessionstring(empty)parliament-session, e.g. 45-1, 44-1. Empty = all sessions
maxItemsinteger2001 – 2000 records

Pricing

Runs on the 512 MB memory setting and is pure JSON API traffic β€” no browser, no proxy required. Expect roughly $0.5 per 1,000 records in Apify platform usage. Votes are the cheapest mode (one request per 100 records); bills and MPs add one detail request per record to fill in status, sponsor, gender and name parts.


Use cases

  • Civic tech β€” power a "what is Parliament doing" dashboard, bot or newsletter with live bill statuses.
  • Policy monitoring β€” watch a session for bills reaching royal assent, second reading or committee.
  • Lobbying research β€” map sponsors, private member bills and vote margins by party and riding.
  • Journalism β€” pull vote splits (yea/nay/paired) for a story in seconds instead of scraping Hansard PDFs.
  • Academic & data science β€” build historical legislative datasets going back decades.

Notes on the data source

openparliament.ca offers a free, key-less API but asks every automated client to identify itself with a contact User-Agent. This actor always sends apify-actor/1.0 (daniello@biwo-bauwelt.com) and throttles requests (~0.3 s between calls) so the volunteer-run service is never hammered. Data originates from the Parliament of Canada (LEGISinfo, House of Commons Hansard) and is republished by openparliament.ca; check their terms before commercial redistribution.

The API returns bilingual language dictionaries ({"en": ..., "fr": ...}) for titles, statuses and vote descriptions. This actor flattens them to plain English strings (with name_fr kept for bills), so you never see a raw {'en': ...} blob in your dataset.



Local development

pip install -r requirements.txt
python -m src.main
python tests/test_mapping.py # offline, no third-party deps

Keywords: Canadian Parliament scraper, openparliament.ca API, Canada bills scraper, Canadian MP data, House of Commons votes, LEGISinfo scraper, Canadian legislation API, parliament open data, civic tech Canada, policy monitoring Canada.