ParseForge Scrapers

US House Financial Disclosures Scraper

parseforge/house-financial-disclosures-scraper

OtherNews & media

Scrapes US House financial disclosure index entries by year and optional state, last name, or filing type filters. Returns each filing as a flat row with the member name, state, district, filing type, and a direct PDF link.

Run this scraper See the API call
Total users
1
Monthly active
0
Total runs
95
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

US House Financial Disclosures Scraper

Scrape US House financial disclosure filings by year, state, last name, or filing type, up to a million per run. Each record includes the representative’s name, filing year, type, and the linked PDF report. No login or API key. Export to CSV, JSON, Excel, or XML.

The official House financial disclosure portal offers no bulk export and requires manual lookups one member at a time. This Actor reads the public filing index directly, letting you pull every annual report, candidate filing, or periodic transaction notice for a given year. Filter by state, last name, or filing type as the data is collected, so only the disclosures you need land in your dataset.

Who uses it What they scrape US House Financial Disclosures for
Investigative journalists Pull all annual filings for a state delegation to spot unusual asset moves before an election.
Campaign opposition researchers Collect candidate filings and periodic transaction reports for a specific last name.
Good-government nonprofits Build a complete yearly dataset of House member financial interests for public accountability dashboards.
Academic researchers Gather multi-year disclosure data to study the relationship between committee assignments and personal holdings.

What it does

This Actor collects US House financial disclosure index entries by year and optional filters, and returns each filing as a flat row with the member name, state, district, filing type, and a link to the PDF.

  • 📋 Bulk year pull: request every disclosure filed in a calendar year, from 2008 through the current session.
  • 🏛️ State delegation filter: restrict results to a single two-letter state code, so you get only one delegation’s filings.
  • 🔍 Last name search: match a representative’s last name keyword to isolate a single member’s history.
  • 📁 Filing type selector: choose among Annual, Candidate, Extension, Periodic Transaction, and Termination reports.
  • 📎 Direct PDF links: every row includes the URL of the official PDF report for immediate download or archival.

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

What you can do with US House Financial Disclosures data

📰 Investigate delegation finances.

A reporter sets the year to 2024 and the state to NY, collects all annual and periodic transaction filings, and cross-references the holdings with committee votes.

🎯 Vet a candidate’s history.

An opposition researcher filters by last name and filing type C to pull every candidate disclosure a challenger has ever filed.

📊 Build a public accountability tracker.

A nonprofit runs the Actor each January for the prior year, loads the CSV into a dashboard, and flags members whose reported trades overlap with their committee jurisdiction.

📚 Feed academic research on money in politics.

A political science PhD student collects disclosures from 2010 through 2024, joins them with bill sponsorship data, and models the correlation.

Why choose this scraper

What you get
No manual lookups Pull thousands of disclosures in one run instead of searching member by member on the House website.
Fixed, flat schema Every filing returns the same fields: name, state, district, year, type, and PDF link, ready for analysis.
Multi-year ready Collect data from 2008 onward to build longitudinal datasets of financial activity.

How it compares

No other Store actor targets US House Financial Disclosures the same way, so the honest comparison is with the alternatives teams actually weigh.

US House Financial Disclosures Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When US House Financial Disclosures changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a filing year and optional state, last name, or filing type filters, and set a maximum item count to cap the run. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10,
 "year": 2024
}

A larger pull:

{
 "maxItems": 200,
 "year": 2024
}

Pricing

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

Results collected Approximate 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 US House Financial Disclosures 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 US House Financial Disclosures 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/house-financial-disclosures-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 year, state, and last name filters are not too restrictive in combination. Try running with only the year set to confirm data exists, then add filters one at a time.

The run stopped before reaching my maxItems count.

The Actor stops when it has read all available filings matching your filters. If the total matching disclosures in the index is less than your maxItems value, the run ends early.

Some PDF links return a 'not found' error.

The House disclosure site occasionally moves or removes older PDFs. The link is collected exactly as listed in the index. Try a different year or contact the House Clerk’s office for archived reports.

I got a timeout or the run failed.

The House disclosure site can be slow during peak hours. Increase the run timeout in your Actor settings and try again. If the problem persists, reduce the maxItems count to shorten the run.

FAQ

Question Answer
What exactly is in a disclosure row? Each row contains the representative’s full name, state, district, the filing year, the filing type code and label, and a direct link to the official PDF report on the House disclosure site.
Does this Actor download the PDFs themselves? No, it collects the index entries and provides the PDF URLs. You can feed those URLs into a separate download Actor or script to fetch the files.
Can I get disclosures for a single representative? Yes. Use the Last Name Filter with the member’s surname, and optionally combine it with a state filter to avoid common-name collisions.
What filing types are available? The Actor supports C (Candidate), O (Annual), X (Extension), P (Periodic Transaction), and W (Termination). You can select one type per run.
How far back does the data go? The filing index is available from 2008 onward. Set the year input to any year in that range.
Is there a rate limit or do I need an API key? No API key or registration is required. The Actor reads the public disclosure index pages directly and respects polite request pacing.
Can I filter by district number? The current input schema supports state and last name filters. District-level filtering is not a separate input, but the district appears in the output row for each filing.
What output formats are supported? You can export your dataset to CSV, JSON, Excel, or XML directly from the Apify platform run results.
How do I get all disclosures for an entire Congress? Run the Actor twice, once for each calendar year of the Congress (e.g., 2023 and 2024 for the 118th Congress), and merge the datasets.

Related actors

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 the Clerk of the U.S. House of Representatives. 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.

Input

FieldTypeWhat it doesDefault
maxItems integer How many disclosures to collect per run. 10
year integer Year of the filing index (e.g. 2024) 2024
stateFilter string Two-letter state code (e.g. CA, TX) not set
lastNameFilter string Match last name keyword not set
filingTypeFilter string (5 options) Filing type code not set

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST · run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~house-financial-disclosures-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run US House Financial Disclosures Scraper on Apify All scrapers