Congress.gov Members Scraper avatar

Congress.gov Members Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
Congress.gov Members Scraper

Congress.gov Members Scraper

Scrapes member profiles from Congress.gov. Returns each member as a flat row with name, party, chamber, state, district, and official URLs. Filter by state, district, congress number, or current status.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

ParseForge

Congress.gov Members Scraper

Scrape member profiles from Congress.gov by state, district, or congress number, up to a million per run. Every record returns the member's name, party, chamber, state, district, and official URLs. Export to CSV, JSON, Excel, or XML.

Congress.gov publishes the official biographies and contact details for every sitting and historical member of the U.S. House and Senate, but browsing them one by one takes hours. This Actor reads the member directory directly, letting you pull a clean list filtered by state, district, or congress number. No screen scraping, no manual copy-paste, a structured dataset you can hand off to your team.

Who uses itWhat they scrape Congress.gov for
Political researchersBuild a complete roster of members for a specific congress or state.
JournalistsPull contact details and party affiliations for a state delegation ahead of a vote.
Advocacy groupsGenerate a targeted list of legislators by district for a grassroots campaign.
Data analystsCreate a historical dataset of member tenure and party shifts across congresses.

What it does

This Actor collects member profiles from Congress.gov and returns each one as a flat row with name, party, chamber, state, district, and official URLs.

  • πŸ—ΊοΈ Filter by state: pull every member from a single state delegation with the two-letter state code.
  • πŸ›οΈ Filter by congress: limit results to members who served in a specific congress, like the 118th or 119th.
  • πŸ“ Filter by district: target a single House district by number, alone or combined with a state code.
  • ⏱️ Current member toggle: check one box to return only currently serving members, skipping historical records.
  • πŸ”‘ API key support: bring your own free congress.gov API key for higher rate limits and faster runs.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Congress.gov data

πŸ—³οΈ Build a state delegation list.

A campaign staffer sets the state code to TX and the current-member toggle to true, then exports a CSV of every sitting Texas representative and senator with their party and official website.

πŸ“œ Reconstruct a historical congress.

A political science PhD student sets the congress number to 105 and pulls every member who served in that session to analyze committee assignments and party ratios.

πŸ“° Find contact details for a news story.

A reporter sets the state code to OH and the district to 4, gets the member's official URL and party in one row, and uses it to request a comment before deadline.

πŸ“Š Track party representation over time.

A data analyst runs the Actor for congresses 110 through 118, concatenates the CSVs, and charts the shift in party control by state.

Why choose this scraper

What you get
Official source dataEvery field comes directly from Congress.gov, the authoritative Library of Congress site.
Fixed flat schemaOne row per member, same columns every run, ready for a spreadsheet or database.
No browser neededRuns headless on the Apify platform, so you can schedule it and forget it.
Bulk exportDownload as CSV, JSON, Excel, or XML, or pipe the results straight to an API.

How it compares

This Actor focuses exclusively on member profiles from Congress.gov, while the competitors below either bundle members with bills and votes or cover a broader set of political data sources.

FeatureParseForgeCongress.gov ScraperCongress.gov Intelligence
Member profiles only (no bills or votes)Yes, dedicated member scraperNot listedNot listed
Filter by state codeYesNot listedYes
Filter by district numberYesNot listedNot listed
Filter by congress numberYesNot listedYes
Current member only toggleYesNot listedNot listed
Runs without an API keyYesNot listedNot listed

Configure the run

Drive the Actor with a state code, congress number, district number, and a current-member toggle, alone or together, and filters run as each member is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10
}

A larger pull:

{
"maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$2.10
1,000 results$21.00
10,000 results$210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Congress.gov Members Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Congress.gov through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/congress-gov-members-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your state code is a valid two-letter abbreviation and that your congress number is correct. If you set both a state code and a district, confirm that district exists in that state. Try removing one filter at a time to see which one is too restrictive.

The run is slow or timing out.

Add your free congress.gov API key in the optional field. The key raises the rate limit significantly. Also lower the 'Maximum members' count if you are pulling a very large set.

I set a district but got a senator in the results.

The district filter applies only to House members. Senators are returned for the state regardless of the district value. Filter the chamber column in your output to remove Senate rows if you only want House members.

The 'Currently Serving Only' toggle is not working as expected.

Make sure you did not also set a past congress number. A congress number from years ago combined with the current-member toggle will return zero results because no one from that old congress is still serving in that same seat.

My API key is valid but the Actor says it is unauthorized.

Confirm the key was copied without extra spaces. A new key from api.congress.gov can take a few minutes to activate. Wait a moment and retry.

FAQ

QuestionAnswer
Do I need a congress.gov API key?No, the Actor works without one. Adding your free API key from api.congress.gov raises the rate limit and speeds up large runs.
What is a congress number?Each two-year session of the U.S. Congress gets a number. The 118th Congress ran from 2023 to 2025, and the 119th runs from 2025 to 2027. Leave the field empty to pull members from all available congresses.
Can I get only current members?Yes. Check the 'Currently Serving Only' box and the Actor will skip former members and return only those in office right now.
Does this return senators, representatives, or both?Both. The Actor returns every member of the U.S. House and Senate that matches your filters. The chamber field tells you which one each row belongs to.
Can I filter by party?The input schema does not include a party filter, but the party field is returned in every row. Pull a larger set and filter by party in your spreadsheet or database.
What does the district filter do?It limits results to a single House district number. Senators do not have districts, so a district filter combined with a state code will return only the House member for that district.
How many members can I scrape in one run?You set the maximum with the 'Maximum members' field, up to one million. The Actor stops when it hits that number or runs out of matching members.
Can I schedule this to run automatically?Yes. Apify's scheduler lets you run the Actor daily, weekly, or on a cron expression, so your member list stays current without manual work.
What export formats are supported?CSV, JSON, Excel, and XML. Pick the one your workflow needs, or use the Apify API to push results directly to another system.
Is this the same data as the Congress.gov website?Yes. Every field comes from the official Congress.gov member directory, maintained by the Library of Congress.

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Library of Congress. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.