GovTrack US Congress Scraper avatar

GovTrack US Congress Scraper

Pricing

from $29.93 / 1,000 results

Go to Apify Store
GovTrack US Congress Scraper

GovTrack US Congress Scraper

Scrape US Congress data from GovTrack public API including lawmaker roles (senators / representatives), bills, and roll-call votes with rich biographical metadata (Twitter, YouTube, bioguideid), party, state, district, leadership title, sponsor, current status and more. No API key required.

Pricing

from $29.93 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

24 days ago

Last modified

Share

ParseForge Banner

🏛️ GovTrack US Congress Scraper

🚀 Export US Congress data in seconds. Pull roles, bills, and roll-call votes filtered by congress number and chamber. Senators, representatives, committee assignments, contact details, and full legislative metadata. No API key, no registration.

🕒 Last updated: 2026-05-13 · 📊 3 entity modes · 🏛️ 119 Congresses · 🗳️ House + Senate · 🌐 GovTrack public API

The GovTrack US Congress Scraper queries the GovTrack.us public REST API and returns rich records across three entities: lawmaker roles, bills, and roll-call votes. GovTrack is a non-partisan civic-tech project that has tracked the United States Congress since 2004, archiving every member, bill, amendment, and vote in machine-readable form.

The catalog covers every congress from the 1st (1789) to the current 119th, both chambers, and every roll-call vote and bill across more than two centuries of legislative history. This Actor exposes congress and chamber filters at the API level, so chamber-specific or congress-specific exports are fast.

🎯 Target Audience💡 Primary Use Cases
Journalists, policy researchers, advocacy groups, lobbyists, political scientists, civic-tech developers, election analysts, government-affairs teamsLawmaker contact lists, vote tracking, bill monitoring, committee mapping, longitudinal congressional analysis, civic-app data feeds, accountability dashboards

📋 What the GovTrack Scraper does

Three entity modes in a single Actor:

  • 👤 Roles. Lawmaker roles with person block (name, party, state, district, gender, birthday, bioguide ID, OpenSecrets ID, C-SPAN ID, social IDs), role type (senator / representative), title, leadership position, senator class and rank, start and end dates, current flag, congress numbers, official website, phone, office, mailing address, contact form URL, and RSS feed URL.
  • 📜 Bills. Bill identifiers, titles, congress, chamber, sponsor, status, introduced and current-status dates, committees, subjects, related bills, summaries, and link to GovTrack and Congress.gov.
  • 🗳️ Votes. Roll-call votes with chamber, vote number, congress, session, date, result, vote type, related bill or amendment, total counts (Yea / Nay / Present / Not Voting), and individual member positions.

Filter by congress number (1 to 119) and chamber (House or Senate, currentOnly toggle for roles).

💡 Why it matters: the U.S. Congress publishes data across half a dozen official portals (Congress.gov, GPO, House Clerk, Senate.gov) with no unified API. GovTrack consolidates all of it. This Actor turns that consolidation into a downloadable CSV/JSON in two minutes.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded Congress dataset.


⚙️ Input

InputTypeDefaultBehavior
entityenum"role"One of role, bill, vote.
maxItemsinteger10Records to return. Free plan caps at 10, paid plan at 1,000,000.
congressinteger(empty)Congress number (1-119). Empty = all.
chamberstring""One of house or senate. Empty = both.
currentOnlybooleantrueRoles only: limit to currently sitting members.

Example: every current senator.

{
"entity": "role",
"chamber": "senate",
"currentOnly": true,
"maxItems": 100
}

Example: bills introduced in the 118th Congress House.

{
"entity": "bill",
"congress": 118,
"chamber": "house",
"maxItems": 1000
}

⚠️ Good to Know: chamber routing differs by entity. Roles map chamber to role_type (senate to senator, house to representative). Bills repeat the bill_type query parameter four times for the chamber's bill subtypes (e.g. hr, hjres, hconres, hres for House). Votes use the chamber parameter directly. The Actor handles this routing for you so the same chamber input works across all three modes. Senators carry senator_class (class1, class2, class3) and senator_rank (junior / senior) directly.


📊 Output

Output shape varies by entity. Each role record carries roughly 30 fields; bills and votes carry their own native schemas.

🧾 Roles schema (selected fields)

FieldTypeExample
🆔 idstring"C001035" (bioguide ID)
👤 personobjectFull person block (name, gender, birthday, social IDs)
📍 statestring"ME"
🎉 partystring"Republican"
🏛️ role_typestring"senator" or "representative"
📜 titlestring"Sen."
👔 leadership_titlestring | null"Senate Minority Whip"
🎓 senator_classstring"class2"
🏅 senator_rankstring"senior"
📅 startdatestring"2021-01-03"
🗓️ enddatestring"2027-01-03"
currentbooleantrue
🔢 congress_numbersnumber[][117, 118, 119]
🌐 websitestring"https://www.collins.senate.gov"
☎️ phonestring"202-224-2523"
🏢 officestring"413 Dirksen Senate Office Building"
📬 addressstringfull mailing address
📝 contact_formstringURL
📡 rss_urlstringURL
🕒 scrapedAtISO 8601"2026-05-13T22:26:21.663Z"

📦 Sample records


✨ Why choose this Actor

Capability
🏛️Three entities. Roles, bills, and roll-call votes in one Actor.
🎯Server-side filters. Congress, chamber, and current-only filters run at the API level.
📞Full contact block. Phone, office address, contact form URL, official website, and RSS feed for every role.
🎓Senator class + rank. Class 1/2/3 and junior/senior labels surfaced directly.
👔Leadership titles. Whip, leader, and chair positions captured as text.
Fast. REST pagination with offset, page size up to 600 per page.
🚫No authentication. Works on the public GovTrack API. No login or API key.

📊 GovTrack has tracked Congress since 2004 and is the canonical open-data source for U.S. federal legislative activity.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ GovTrack Scraper (this Actor)$5 free credit, then pay-per-useFull CongressLive per runcongress, chamber, entity⚡ 2 min
Hand-rolled GovTrack queriesFreeFullManualManual🐢 Days
ProPublica Congress APIFree with keyFullLiveMany⏳ Hours
Congress.gov manual downloadFreeFullManualLimited🕒 Variable

Pick this Actor when you want broad Congress coverage, ready-built role + bill + vote modes, and no pipeline maintenance.


🚀 How to use

  1. 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Go to the GovTrack US Congress Scraper page on the Apify Store.
  3. 🎯 Set input. Pick an entity, set the congress number and chamber, and choose maxItems.
  4. 🚀 Run it. Click Start and let the Actor collect your data.
  5. 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.

⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.


💼 Business use cases

📰 Journalism & Civic Reporting

  • Member-of-Congress contact directories
  • Vote-tracking dashboards by bill
  • Leadership-change monitoring
  • Cross-Congress longitudinal stories

🏢 Lobbying & Government Affairs

  • Outreach lists for advocacy campaigns
  • Bill-status feeds for client briefings
  • Committee-assignment monitoring
  • Constituent-mapping by state and district

🎓 Political Science & Research

  • Voting-behavior datasets across decades
  • Party-line vs cross-party voting analyses
  • Bill-co-sponsorship network analysis
  • Demographic trends in Congress

🤖 Civic Tech & Public Apps

  • Civic-engagement apps with live data feeds
  • Citizen-contact widgets with prefilled forms
  • Election-prep voter guides
  • Accountability dashboards for non-profits

🔌 Automating GovTrack Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

  • 🟢 Node.js. Install the apify-client NPM package.
  • 🐍 Python. Use the apify-client PyPI package.
  • 📚 See the Apify API documentation for full details.

The Apify Schedules feature lets you trigger this Actor on any cron interval. Daily refreshes catch every new bill, every new vote, and every roster change.


🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Reproducible legislative-behavior studies with versioned dataset pulls
  • Teaching datasets for political-science coursework
  • Open-source accountability research
  • Cross-database joins with FEC and OpenSecrets

🎨 Personal and creative

  • Indie civic-engagement apps
  • Educational dashboards for high-school civics
  • Personal "call your senator" widgets
  • Hobbyist Congress-tracking trackers

🤝 Non-profit and civic

  • Voter-engagement campaigns with current lawmaker data
  • Accountability tools for advocacy non-profits
  • Public-domain legislative-tracking apps
  • Civic-transparency dashboards

🧪 Experimentation

  • Train voting-prediction models on roll-call data
  • Prototype agentic tools that resolve bioguide IDs
  • Benchmark NLP libraries on bill text
  • Generate Congress embeddings for retrieval apps

🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:


❓ Frequently Asked Questions

🧩 How does it work?

Pick an entity (role / bill / vote), set congress and chamber filters, click Start, and the Actor hits the GovTrack REST API with server-side filters and pagination. Records are emitted as clean JSON ready for download. No browser automation, no captchas, no setup.

🏛️ Where does the data come from?

Directly from the GovTrack.us public API at www.govtrack.us/api/v2. GovTrack is operated by Civic Impulse, LLC and has consolidated U.S. federal legislative data since 2004.

🔢 Which Congresses are covered?

Every Congress from the 1st (1789) through the current 119th. Older roles, bills, and votes were back-filled by GovTrack from historical records.

🗳️ Does it include individual votes by member?

Yes, when you query the vote entity. The full voter list (Yea / Nay / Present / Not Voting) is part of each roll-call vote record. The roles entity returns lawmaker biographies; bill and vote entities surface the rest.

📞 Does the role record include phone and office address?

Yes. Currently sitting members carry phone, office, address, contact form URL, and RSS feed. Historical roles may omit some of these depending on when the member served.

🔁 How often is the dataset refreshed?

GovTrack ingests new bills and votes within hours of their official publication and updates member rosters at the start of each Congress. Every run of this Actor pulls live, so your dataset reflects current GovTrack data at run time.

🆔 What ID conventions are used?

Members carry a Library-of-Congress bioguideid (e.g. C001035), OpenSecrets osid, and C-SPAN cspanid. Bills carry GovTrack IDs of the form hr123-118. Votes carry chamber + congress + session + vote number tuples.

⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor on any cron interval (hourly, daily) and keep a downstream civic database in sync.

Yes. U.S. federal legislative data is in the public domain. GovTrack republishes it under permissive terms. Review GovTrack's terms of service for your specific use case, especially for commercial redistribution at scale.

💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and unlocks scheduling, higher concurrency, and larger datasets.

🧪 What if I need state-level legislative data?

This Actor covers only the U.S. Congress. For state legislatures, reach out via the contact form below to request a companion state-level scraper.

🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.


🔌 Integrate with any app

GovTrack Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get vote and bill alerts in your channels
  • Airbyte - Pipe Congress data into your warehouse
  • GitHub - Trigger runs from commits and releases
  • Google Drive - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh roll-call vote data into your accountability dashboard, or alert your team in Slack when a watched bill moves.


💡 Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.


🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.


⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by GovTrack.us, Civic Impulse LLC, or the United States Congress. All trademarks mentioned are the property of their respective owners. Only publicly available open legislative data is collected.