US Congress Financial Disclosure Scraper
Pricing
from $0.80 / 1,000 record scrapeds
US Congress Financial Disclosure Scraper
Congressional financial disclosures for the House and Senate: Periodic Transaction Reports (stock trades) plus full annual disclosure schedules (assets, income, liabilities, positions, agreements, gifts, travel). Filing years back to 2008, amendments linked, STOCK Act filing-delay flagged per trade.
Pricing
from $0.80 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Pulls financial disclosures for both chambers of Congress — the House and the Senate. That means stock trades (Periodic Transaction Reports) and the full annual disclosure schedules: assets, income, liabilities, positions, agreements, gifts, travel. Most tools stop at PTRs from one chamber. This one doesn't.
Senate availability note: the House side is fully verified and always available. The Senate side (efdsearch.senate.gov) has been intermittently unreachable upstream (HTTP 503 / maintenance). When that happens, a Senate-only run fails loudly with the real cause named instead of returning an empty result — it never reports success with 0 records. Request both chambers, or retry later, if you hit this.
US Congress Financial Disclosure Scraper Features
- Covers both the House and the Senate in one normalized schema
- Parses Periodic Transaction Reports — ticker, buy/sell/exchange, date, amount band, per-owner (self/spouse/joint)
- Parses the full Annual Financial Disclosure — Schedules A through I: assets and unearned income, earned income, liabilities, outside positions, future-employment agreements, gifts, and privately funded travel
- Computes
filing_delay_daysper trade — the STOCK Act's 45-day notification window, as a number you can filter and sort on instead of eyeballing two dates - Links amendments back to the filing they amend, so a superseded trade doesn't get double-counted
- Filters by chamber, filing year (2008 onward), and filing type
- Filing years back to 2008 — not just the trailing 12 months
Who Uses Congressional Financial Disclosure Data?
- Funds and quant desks — track the STOCK Act "congress trading" signal: what members bought or sold, when, and how late they reported it
- Accountability journalists and researchers — cross-reference outside positions, future-employment agreements, and gifts against a member's votes and committee assignments
- Compliance and oppo-research teams — build a full financial picture of a filer, not just their trade history
- Copy-trade and newsletter products — feed a structured trade feed instead of re-parsing PDFs by hand
How US Congress Financial Disclosure Scraper Works
- You choose a chamber (House, Senate, or both), a set of filing years, and — optionally — which filing types you want.
- The actor walks the House Clerk's public disclosure index and the Senate's electronic filing system for the years and chamber(s) you selected.
- Each filing is parsed into records: one row per stock transaction for a PTR, one row per disclosed item (asset, liability, position, gift, and so on) for an annual report.
- Records land in your dataset as clean, structured JSON — one row per transaction or disclosed item, joined back to the filer and the source filing.
Input
{"chambers": ["house"],"years": ["2024", "2025"],"filingTypes": ["ptr"],"maxItems": 500}
| Field | Type | Default | Description |
|---|---|---|---|
chambers | array | both | house, senate, or both. Leave empty for both chambers. |
years | array | all | Filing years to include, 2008–2026. Leave empty for every year. |
filingTypes | array | all | ptr, annual, candidate, termination, extension, blind_trust, amendment. Leave empty for every type. |
maxItems | integer | 15 | Maximum number of records to return. |
Resuming a large crawl
Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.
- You are not re-charged for records the earlier run already delivered.
- Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its
resumeCursoris no longer valid. resumeCursoris opaque — supply it unmodified.
US Congress Financial Disclosure Scraper Output Fields
Every record — whether a stock trade or a disclosed asset — shares the same filing-level fields, plus whichever transaction or schedule fields apply to that row.
{"filing_id": "house-20032062","chamber": "house","filing_type": "ptr","filer_last_name": "Aderholt","filer_first_name": "Robert B.","filer_role": "Member","state_district": "AL04","filing_year": 2025,"filing_date": "2025-09-10","document_url": "https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2025/20032062.pdf","transaction_date": "2025-07-28","notification_date": "2025-08-11","owner": "self","asset_name": "GSK plc American Depositary Shares","ticker": "GSK","asset_type": "ST","transaction_type": "sale","amount_low": 1001,"amount_high": 15000,"amount_band": "$1,001 - $15,000","filing_delay_days": 14,"capital_gains_over_200": false,"parse_status": "parsed"}
| Field | Type | Description |
|---|---|---|
filing_id | string | House DocID or Senate report UUID, prefixed by chamber. |
chamber | string | house or senate. |
filing_type | string | ptr, annual, candidate, termination, extension, blind_trust, or amendment. |
filing_type_code | string | Raw source-system code the filing type was derived from. |
filer_last_name / filer_first_name / filer_suffix | string | Filer's name as filed. |
filer_role | string | e.g. Member, Candidate, Former Member. |
state_district | string | State/district for House filers, state for Senate filers. |
filing_year | number | Year the filing covers. |
filing_date | date | Date the filing was submitted. |
document_url | string | Link to the source filing. |
amendment_of | string | filing_id of the original filing, when this record is an amendment. |
transaction_date / notification_date | date | Trade date and the date it was reported. |
owner | string | self, SP (spouse), DC (dependent child), or JT (joint). |
asset_name / ticker / asset_type | string | The traded or disclosed asset. |
transaction_type | string | purchase, sale, partial_sale, or exchange. |
amount_low / amount_high / amount_band | number/string | The disclosed value band — Congress reports ranges, not exact figures. |
filing_delay_days | number | Days between the trade and its disclosure — the STOCK Act's 45-day compliance signal. |
capital_gains_over_200 | boolean | Whether the filer flagged capital gains over $200 on this trade. |
schedule | string | Which annual-disclosure schedule this row came from (assets, earned income, liabilities, positions, agreements, gifts, travel), for annual-report records. |
schedule_item_name / schedule_value_band / schedule_value_low / schedule_value_high | string/number | The disclosed item and its value band, for schedule rows that aren't assets, liabilities, or positions. |
income_type / income_band | string | Type and band of disclosed income. |
liability_creditor / liability_type | string | For disclosed liabilities. |
position_organization / position_title | string | For disclosed outside positions. |
source_document_url | string | Same as document_url — included for downstream joins that key on it. |
parse_status | string | parsed, or scanned_unparsed for the small share of older filings that are scanned images rather than text. |
FAQ
How do I get congressional stock trading data?
Run US Congress Financial Disclosure Scraper with chambers: ["house", "senate"] and filingTypes: ["ptr"]. Every trade comes back as its own record — ticker, direction, date, amount band, and how many days late it was reported.
Does this cover the Senate, or just the House?
Both. Set chambers to ["house"], ["senate"], or leave it empty for both. Most tools on the market only cover the House, because the Senate side needs a separate filing system entirely.
Can I get the full annual disclosure, not just stock trades?
Yes. Set filingTypes to include annual (or leave it empty) and you'll get Schedules A through I — assets, earned income, liabilities, outside positions, future-employment agreements, gifts, and travel — alongside the trades.
How far back does the data go?
House filings go back to 2008. Set years to whichever range you need, or leave it empty for the full range.
What does filing_delay_days actually measure?
The gap between a trade date and its notification date. The STOCK Act requires disclosure within 45 days — a negative or unusually large value in this field is worth a second look, and occasionally reflects an error in the filer's own paperwork rather than ours.
Need More Features?
Need a different filter, a specific filer, or a related dataset? File an issue or get in touch.
Why Use US Congress Financial Disclosure Scraper?
- Both chambers, one schema — most alternatives are House-only
- The full annual disclosure, not just trades — Schedules A through I, the part of the filing everyone else skips, structured the same way as the PTR data
- A real compliance signal —
filing_delay_daysand linked amendments, computed once instead of recomputed by every buyer