House Financial Disclosures Scraper
Pricing
Pay per event
House Financial Disclosures Scraper
๐๏ธ Extract U.S. House Clerk financial disclosure and PTR filing metadata with direct public PDF links for members and candidates.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract searchable U.S. House Clerk financial disclosure filings, periodic transaction reports, and candidate disclosure metadata from the official public portal.
What does House Financial Disclosures Scraper do?
House Financial Disclosures Scraper searches the U.S. House Clerk financial disclosure database and returns structured dataset rows for House members and candidates.
It captures the same records visible in the public search interface, including member/candidate names, office codes, filing years, filing types, and direct PDF document links.
Use it to monitor financial disclosure reports, periodic transaction reports (PTRs), and candidate filings without manually clicking through the House Clerk website.
Who is it for?
This actor is designed for teams that need repeatable government disclosure monitoring.
- ๐ฐ Journalists tracking congressional stock trading and annual disclosure reports
- ๐ Investors and political-risk analysts monitoring market-moving disclosures
- ๐งพ Compliance teams reviewing public official filing records
- ๐๏ธ Transparency NGOs building searchable disclosure archives
- ๐ Researchers matching House disclosure PDFs to broader public datasets
- โ๏ธ Legal and ethics teams checking filing availability by year and office
Why use this actor?
The House Clerk portal is public, but manual workflows are slow.
This actor gives you API-ready rows that can be exported to JSON, CSV, Excel, Google Sheets, BigQuery, or any Apify integration.
It is useful for scheduled monitoring because disclosure data changes over time as new annual filings, PTRs, amendments, and candidate reports are posted.
What data can I extract?
The actor extracts one dataset item per filing row returned by the House Clerk search result table.
| Field | Description |
|---|---|
searchType | Whether the row came from member or candidate search |
name | Name exactly as listed by the House Clerk |
normalizedName | Cleaned version of the name for matching |
office | Office code such as CA11 |
state | Parsed state or territory code |
district | Parsed House district |
filingYear | Member filing year when applicable |
electionYear | Candidate election year when applicable |
filing | Filing label such as FD Original or PTR Original |
filingCategory | Normalized category such as Financial Disclosure or Periodic Transaction Report |
documentUrl | Direct PDF URL for the filing |
documentPath | Original relative PDF path |
sourceSearchUrl | Source search page |
scrapedAt | Extraction timestamp |
How much does it cost to scrape House financial disclosures?
This actor uses pay-per-event pricing.
You pay a small start fee per run and a per-result fee for each filing row saved to the dataset.
The default input is intentionally small so first runs are cheap. Increase maxItems, years, and states when you are ready for larger exports.
How to use House Financial Disclosures Scraper
- Open the actor on Apify.
- Choose
members,candidates, orboth. - Enter filing years or election years.
- Optionally filter by state, district, or last name.
- Set
maxItems. - Run the actor.
- Download results from the Dataset tab.
Input options
Search type
Choose which House Clerk database to query.
memberssearches member financial disclosure filings.candidatessearches candidate filings.bothsearches both endpoints and combines rows in one dataset.
Filing years
filingYears controls member searches.
Example:
[2024, 2025]
Election years
electionYears controls candidate searches.
Example:
[2024]
States
Use two-letter state or territory codes.
Example:
["CA", "NY", "TX"]
Leave the array empty to search all states for the selected year.
Districts
Use district numbers such as 11, 05, or AL.
Leave empty to search all districts.
Last names
Use surnames when you need a specific official or candidate.
Example:
["Pelosi", "Smith"]
Leave empty to return all names matching the year/state filters.
Maximum filings
maxItems stops the run after the requested number of dataset rows.
Use a low value for tests and scheduled smoke checks.
Example input
{"searchType": "members","filingYears": [2024],"states": ["CA"],"maxItems": 100}
Example output
{"searchType": "member","name": "Pelosi, Hon.. Nancy","normalizedName": "Pelosi, Hon. Nancy","lastNameSearched": null,"office": "CA11","state": "CA","district": "11","filingYear": 2024,"electionYear": null,"filing": "PTR Original","filingCategory": "Periodic Transaction Report","documentUrl": "https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2024/20024542.pdf","documentPath": "public_disc/ptr-pdfs/2024/20024542.pdf","sourceSearchUrl": "https://disclosures-clerk.house.gov/FinancialDisclosure","scrapedAt": "2026-06-28T00:00:00.000Z"}
Tips for best results
- Start with one year and one state.
- Use
lastNamesfor targeted monitoring. - Use
bothonly when you need member and candidate filings together. - Increase
maxItemsfor statewide or national exports. - Schedule recurring runs to detect newly posted PTRs.
Monitoring workflows
You can run this actor daily or weekly and compare new documentUrl values against prior datasets.
Common workflows include:
- new PTR alerts by member
- annual FD report availability checks
- candidate filing collection by election year
- state-level disclosure monitoring
- PDF archive refreshes
Integrations
Apify datasets connect to many downstream tools.
Useful integrations include:
- Google Sheets for analyst review
- Slack or email alerts for new filings
- BigQuery or Snowflake for historical analysis
- Webhooks for compliance workflows
- Make or Zapier for no-code monitoring pipelines
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/house-financial-disclosures-scraper').call({searchType: 'members',filingYears: [2024],states: ['CA'],maxItems: 100,});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("automation-lab/house-financial-disclosures-scraper").call(run_input={"searchType": "members","filingYears": [2024],"states": ["CA"],"maxItems": 100,})print(run["defaultDatasetId"])
API usage with cURL
curl "https://api.apify.com/v2/acts/automation-lab~house-financial-disclosures-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchType":"members","filingYears":[2024],"states":["CA"],"maxItems":100}'
MCP access
Use this actor from MCP-compatible clients through Apify MCP Server.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/house-financial-disclosures-scraper
Claude Code setup command:
$claude mcp add apify-house-disclosures https://mcp.apify.com/?tools=automation-lab/house-financial-disclosures-scraper
Claude Desktop JSON configuration:
{"mcpServers": {"apify-house-disclosures": {"url": "https://mcp.apify.com/?tools=automation-lab/house-financial-disclosures-scraper"}}}
Example prompt showing MCP usage:
Example Claude Desktop prompt:
Use the Apify MCP House Financial Disclosures Scraper to find 2024 CA member PTR filings and summarize the PDF links.
Example Claude Code prompt:
Using the MCP tool automation-lab/house-financial-disclosures-scraper, run member filings in CA for 2024 with maxItems 100, then save the dataset URLs.
Data source
The source is the official U.S. House Clerk Financial Disclosure Reports portal.
The actor does not bypass authentication, scrape private data, or access non-public endpoints.
It returns public filing metadata and direct public PDF links exposed by the House Clerk search pages.
Legality and responsible use
The House Clerk page includes statutory restrictions on how financial disclosure information may be used.
Users are responsible for complying with applicable law, including restrictions on unlawful use, credit rating use, solicitation, and other prohibited purposes.
This actor is intended for lawful research, journalism, compliance, transparency, and public-interest monitoring.
Limitations
- The actor extracts filing metadata and PDF links, not full PDF text.
- The actor covers House Clerk financial disclosure pages, not Senate EFD.
- The actor depends on the public House Clerk search form structure.
- Search result availability is controlled by the official portal.
FAQ
Why did my run return fewer rows than expected?
Check maxItems, state, district, year, and last-name filters. A narrow last-name search may legitimately return few or no rows.
Why are candidate fields different from member fields?
Candidate searches use election years, while member searches use filing years. The output keeps both filingYear and electionYear so mixed datasets stay clear.
Can I download the PDFs?
The dataset includes direct public PDF URLs. You can pass documentUrl values to a downloader or document-processing pipeline.
Related scrapers
Explore related Automation Lab actors:
- https://apify.com/automation-lab/sec-edgar-scraper
- https://apify.com/automation-lab/fec-campaign-finance-scraper
- https://apify.com/automation-lab/government-contracts-scraper
- https://apify.com/automation-lab/court-listener-scraper
Support
If you need additional fields, PDF text extraction, or Senate EFD coverage, open an Apify issue with your target workflow and example inputs.