US Congress Financial Disclosure Scraper avatar

US Congress Financial Disclosure Scraper

Pricing

from $0.80 / 1,000 record scrapeds

Go to Apify Store
US Congress Financial Disclosure Scraper

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

BowTiedRaccoon

Maintained by Community

Actor 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_days per 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

  1. You choose a chamber (House, Senate, or both), a set of filing years, and — optionally — which filing types you want.
  2. 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.
  3. 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.
  4. 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
}
FieldTypeDefaultDescription
chambersarraybothhouse, senate, or both. Leave empty for both chambers.
yearsarrayallFiling years to include, 2008–2026. Leave empty for every year.
filingTypesarrayallptr, annual, candidate, termination, extension, blind_trust, amendment. Leave empty for every type.
maxItemsinteger15Maximum 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 resumeCursor is no longer valid.
  • resumeCursor is 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"
}
FieldTypeDescription
filing_idstringHouse DocID or Senate report UUID, prefixed by chamber.
chamberstringhouse or senate.
filing_typestringptr, annual, candidate, termination, extension, blind_trust, or amendment.
filing_type_codestringRaw source-system code the filing type was derived from.
filer_last_name / filer_first_name / filer_suffixstringFiler's name as filed.
filer_rolestringe.g. Member, Candidate, Former Member.
state_districtstringState/district for House filers, state for Senate filers.
filing_yearnumberYear the filing covers.
filing_datedateDate the filing was submitted.
document_urlstringLink to the source filing.
amendment_ofstringfiling_id of the original filing, when this record is an amendment.
transaction_date / notification_datedateTrade date and the date it was reported.
ownerstringself, SP (spouse), DC (dependent child), or JT (joint).
asset_name / ticker / asset_typestringThe traded or disclosed asset.
transaction_typestringpurchase, sale, partial_sale, or exchange.
amount_low / amount_high / amount_bandnumber/stringThe disclosed value band — Congress reports ranges, not exact figures.
filing_delay_daysnumberDays between the trade and its disclosure — the STOCK Act's 45-day compliance signal.
capital_gains_over_200booleanWhether the filer flagged capital gains over $200 on this trade.
schedulestringWhich 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_highstring/numberThe disclosed item and its value band, for schedule rows that aren't assets, liabilities, or positions.
income_type / income_bandstringType and band of disclosed income.
liability_creditor / liability_typestringFor disclosed liabilities.
position_organization / position_titlestringFor disclosed outside positions.
source_document_urlstringSame as document_url — included for downstream joins that key on it.
parse_statusstringparsed, 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 signalfiling_delay_days and linked amendments, computed once instead of recomputed by every buyer