House Financial Disclosures Scraper avatar

House Financial Disclosures Scraper

Pricing

Pay per event

Go to Apify Store
House Financial Disclosures Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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.

FieldDescription
searchTypeWhether the row came from member or candidate search
nameName exactly as listed by the House Clerk
normalizedNameCleaned version of the name for matching
officeOffice code such as CA11
stateParsed state or territory code
districtParsed House district
filingYearMember filing year when applicable
electionYearCandidate election year when applicable
filingFiling label such as FD Original or PTR Original
filingCategoryNormalized category such as Financial Disclosure or Periodic Transaction Report
documentUrlDirect PDF URL for the filing
documentPathOriginal relative PDF path
sourceSearchUrlSource search page
scrapedAtExtraction 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

  1. Open the actor on Apify.
  2. Choose members, candidates, or both.
  3. Enter filing years or election years.
  4. Optionally filter by state, district, or last name.
  5. Set maxItems.
  6. Run the actor.
  7. Download results from the Dataset tab.

Input options

Search type

Choose which House Clerk database to query.

  • members searches member financial disclosure filings.
  • candidates searches candidate filings.
  • both searches 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 lastNames for targeted monitoring.
  • Use both only when you need member and candidate filings together.
  • Increase maxItems for 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 ApifyClient
client = 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.

Explore related Automation Lab actors:

Support

If you need additional fields, PDF text extraction, or Senate EFD coverage, open an Apify issue with your target workflow and example inputs.