US Congress Stock Trades & Financial Disclosures Scraper avatar

US Congress Stock Trades & Financial Disclosures Scraper

Pricing

from $2.20 / 1,000 results

Go to Apify Store
US Congress Stock Trades & Financial Disclosures Scraper

US Congress Stock Trades & Financial Disclosures Scraper

[πŸ’° $2.20 / 1K] Track US Congress stock trades from official STOCK Act filings (House & Senate). Get one clean row per transaction: member, ticker, asset, buy/sell, dates, amount range, and a link to the source filing. Filter by member name, ticker, chamber, trade type, or date range.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

4 days ago

Last modified

Share

Track every stock and securities transaction reported by members of the US Congress β€” one clean row per trade, pulled straight from the official STOCK Act filings of all 435 House representatives and 100 senators. Every row carries the member, the asset exactly as filed, the ticker whenever the filing prints one, the asset type, owner, trade direction, dollar-amount range, trade date, reported date, and a direct link back to the source filing. Built for retail investors, financial journalists, and compliance and research teams who need to follow congressional trading without manually downloading and decoding PDFs from two separate government portals.

Why This Scraper?

  • Both chambers in one run β€” all 435 US House representatives and 100 US senators, pulled from the official House Clerk disclosure portal and the Senate Electronic Financial Disclosure (eFD) system. Set chamber to query one or both.
  • One flat row per transaction β€” no nested arrays to unpack. Every trade line is its own record, ready to drop straight into a spreadsheet, database, or backtesting pipeline.
  • Parsed amount bounds on every row β€” the official $1,001 - $15,000 style brackets come back as a clean amount_range string plus numeric amount_min and amount_max integers, so you can sort, sum, and filter by dollar size without regex.
  • A decoded owner on 100% of rows β€” every cryptic STOCK Act code is spelled out as Self, Spouse, Dependent Child, or Joint. The official form leaves the column blank for the member's own holdings; we fill in Self, so owner_label is never empty. No legend lookup required.
  • Every printed ticker captured β€” 660 of 660 on our last audit β€” across a 1,677-row check of both chambers, every single row whose filing actually prints a symbol came back with its ticker filled in, zero misses. Treasuries, municipal bonds, hedge funds and private equity print no symbol anywhere on the official form, so those rows carry the full asset name instead β€” asset is populated on 100% of rows either way.
  • 44 official asset-type codes decoded to plain English β€” Stock, Exchange Traded Fund (ETF), Government Securities, Corporate Securities (Bonds/Notes), Options, Cryptocurrency, Private Stock / Equity, Asset-Backed Securities, Hedge Fund, Real Estate and 30+ more, using the exact wording of the official House asset-type legend so labels match the filings you are citing.
  • Decoded trade direction on 100% of rows β€” Purchase, Sale, Sale (partial), Purchase (partial), or Exchange, spelled out identically across House and Senate so a single transactionType filter works on both sources. Partial sales keep their own value rather than being flattened into plain sales.
  • Direct source-filing link per row β€” filing_url points to the exact House PTR PDF or Senate eFD report behind every transaction, with the filing and document IDs alongside for citation and audit.
  • Opt-in reading of pre-2014 scanned House filings β€” older House disclosures were filed as scanned paper images. Name a member and switch on includeScannedFilings to read those too, reaching back to 2012 for history most aggregators skip entirely.
  • Official first-party government data β€” sourced directly from House Clerk and Senate eFD, the authoritative STOCK Act record, not a third-party re-seller.

Use Cases

Retail Investing & Copy-Trading

  • Mirror the disclosed trades of high-profile members like Pelosi or Tuberville
  • Filter to a single ticker to see which members are buying or selling it
  • Sort by amount_max to surface the largest disclosed positions
  • Build watchlists from the most-traded congressional symbols

Financial Journalism

  • Spot unusual trades around major legislation or committee hearings
  • Cite the exact source filing with a direct link in every story
  • Track a member's full trading history across a date range
  • Compare buying versus selling activity ahead of market-moving votes

Compliance & Ethics Research

  • Monitor disclosures for conflicts of interest by committee assignment
  • Pull one member's full filing history by name and screen it for a single security
  • Audit reporting lag between trade date and notification date
  • Maintain an evidence trail with filing and document IDs

Quant & Alternative Data

  • Feed structured congressional-trade signals into models
  • Backtest strategies against historical disclosure data
  • Aggregate trade volume by sector, ticker, or chamber
  • Enrich existing datasets with politician-trading features

Academic Research

  • Study political-economy questions on insider activity at scale
  • Analyze owner breakdowns (self versus spouse versus joint) across Congress
  • Measure disclosure-timing patterns across thousands of filings
  • Build reproducible datasets sourced from the primary record

Getting Started

Most Recent Trades Across All of Congress

Leave everything blank to pull the latest disclosures from both chambers:

{
"maxResults": 100
}

Follow One Member's Trades in a Ticker

{
"lastName": "Pelosi",
"chamber": "house",
"stockSymbol": "NVDA",
"maxResults": 50
}

Full Filtered Pull With Date Range and OCR

{
"lastName": "Tuberville",
"chamber": "senate",
"transactionType": "purchase",
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"includeScannedFilings": true,
"maxResults": 0
}

Input Reference

ParameterTypeDefaultDescription
lastNamestring""Filter to a member by last name, e.g. "Pelosi". Case-insensitive, matches partial names. Leave blank to include all members. Naming a member returns that member's full available House filing history; a blank, name-less House search covers the current and previous filing year, while a Senate search reaches back to 2012.
firstNamestring""Optional first name to combine with the last name when several members share a surname (e.g. "Nancy" with "Pelosi"). Case-insensitive partial match.

Filters

ParameterTypeDefaultDescription
stockSymbolstring""Only return transactions in this security, e.g. "AAPL" or "NVDA". Leave blank to include every asset.
chamberstring"Both Chambers"Which chamber to include: Both Chambers, House of Representatives, or Senate. On a Both Chambers run without a member name, the Senate side reaches back to 2012 while the House side covers the current and previous filing year.
transactionTypestring"All Transactions"Filter by trade direction: All Transactions, Purchases, Sales, or Exchanges.

Date Range

ParameterTypeDefaultDescription
startDatestring""Earliest transaction date to include, in YYYY-MM-DD format (e.g. 2024-01-01). Leave blank for no lower limit.
endDatestring""Latest transaction date to include, in YYYY-MM-DD format. Leave blank for no upper limit.
dateReportedstring""Return only filings reported (notified) on this exact date, in YYYY-MM-DD format. Use instead of a date range when you want a single reporting day.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Maximum number of transactions to return. Set to 0 for unlimited. Tip: start with 10-50 to test, then increase. Note that "unlimited" still covers the current and previous filing year on a name-less House search (Senate reaches back to 2012) β€” name a member to pull their full House history.
includeScannedFilingsbooleanfalseHouse filings from before roughly 2014 are scanned paper images. Turn this on to also read those older filings via text recognition. Senate and modern House filings are always read regardless of this setting.

Output

Each dataset item is a single congressional transaction. Example:

{
"first_name": "Nancy",
"last_name": "Pelosi",
"chamber": "House",
"state_district": "CA12",
"owner": "SP",
"owner_label": "Spouse",
"asset": "NVIDIA Corporation",
"ticker": "NVDA",
"asset_type_code": "ST",
"asset_type_label": "Stock",
"transaction_type_code": "P",
"transaction_type_label": "Purchase",
"transaction_date": "2024-06-24",
"notification_date": "2024-07-02",
"amount_range": "$1,000,001 - $5,000,000",
"amount_min": 1000001,
"amount_max": 5000000,
"details": "Purchased 50 call options with a strike price of $80.",
"transaction_id": "house-20026411-0",
"filing_id": "20026411",
"doc_id": "20026411",
"year": 2024,
"chamber_pdf_quality": "text",
"filing_url": "https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2024/20026411.pdf",
"scraped_at": "2026-06-10T14:32:05Z"
}

A Senate row, showing a partial sale held for a dependent child:

{
"first_name": "John W",
"last_name": "Hickenlooper",
"chamber": "Senate",
"owner": "DC",
"owner_label": "Dependent Child",
"asset": "Palantir Technologies Inc. - Class A Common Stock",
"ticker": "PLTR",
"asset_type_code": "ST",
"asset_type_label": "Stock",
"transaction_type_code": "S (partial)",
"transaction_type_label": "Sale (partial)",
"transaction_date": "2025-04-16",
"notification_date": "2026-05-05",
"amount_range": "$1,001 - $15,000",
"amount_min": 1001,
"amount_max": 15000,
"transaction_id": "senate-8036348f-2470-41f7-be97-d822d0b17e7c-2",
"filing_id": "8036348f-2470-41f7-be97-d822d0b17e7c",
"doc_id": "8036348f-2470-41f7-be97-d822d0b17e7c",
"year": 2026,
"chamber_pdf_quality": "text",
"filing_url": "https://efdsearch.senate.gov/search/view/ptr/8036348f-2470-41f7-be97-d822d0b17e7c/",
"scraped_at": "2026-09-11T04:41:09Z"
}

Member Fields

FieldTypeDescription
first_namestringMember's first name.
last_namestringMember's last name.
chamberstring"House" or "Senate".
state_districtstringState and district code for House members (e.g. "CA12"); blank for senators.

Transaction Fields

FieldTypeDescription
ownerstringRaw owner code (SP, DC, JT, or blank for self).
owner_labelstringDecoded owner: Self, Spouse, Dependent Child, or Joint.
assetstringFull asset name as filed (e.g. "NVIDIA Corporation").
tickerstringStock ticker symbol, filled in on every row whose filing prints one (e.g. "NVDA"). Blank for Treasuries, municipal bonds and other unlisted holdings, which carry no symbol on the official form.
asset_type_codestringRaw two-letter asset-type code (e.g. "ST").
asset_type_labelstringDecoded asset type in the official legend's wording (e.g. "Stock", "Government Securities", "Corporate Securities (Bonds/Notes)"), when the filing states an asset-type code.
transaction_type_codestringRaw trade-direction code: P, S, E, or a partial variant β€” S (partial) / P (partial).
transaction_type_labelstringDecoded direction: Purchase, Sale, Sale (partial), Purchase (partial), or Exchange.
transaction_datestringDate the trade occurred, in YYYY-MM-DD format.
notification_datestringDate the trade was reported/notified, in YYYY-MM-DD format.
detailsstringAny extra note filed with the transaction β€” a clarifying comment, a bond's coupon and maturity, an option's strike and expiry β€” when present. Almost always filled on House rows; the Senate comment column is blank on most plain stock trades.

Amount Fields

FieldTypeDescription
amount_rangestringDisclosed dollar bracket as text (e.g. "$1,000,001 - $5,000,000").
amount_minintegerLower bound of the amount bracket, as a number.
amount_maxintegerUpper bound of the amount bracket, as a number.

Source Fields

FieldTypeDescription
transaction_idstringStable per-row identifier built from the chamber, document ID, and row position.
filing_idstringIdentifier of the source filing.
doc_idstringDocument identifier of the source filing.
yearintegerFiling year of the source disclosure.
chamber_pdf_qualitystring"text" for digitally filed disclosures, "image" for scanned filings read via text recognition.
filing_urlstringDirect link to the source House PTR PDF or Senate eFD report.
scraped_atstringISO-8601 timestamp of when the record was collected.

Tips for Best Results

  • Chamber coverage differs on a broad search. A name-less House search covers the current and previous filing year, while a Senate search reaches all the way back to 2012. So on a Both Chambers run the oldest rows will be Senate β€” that is the search window, not evidence the House wasn't trading. Enter a lastName and the House side returns that member's full filing history, every year available.
  • Set chamber to Senate for the freshest, fastest results β€” Senate e-filings are already structured. Leave includeScannedFilings off unless you specifically need pre-2014 House history: modern filings are always included either way, and the older scanned ones take longer to read.
  • Combine lastName with firstName when a surname is shared (e.g. several Kellys in the House) to pin results to one person.
  • Start with a small maxResults (10-50) to preview output, then set it to 0 for an unlimited full pull once your filters look right.
  • Filter by stockSymbol to instantly see which members traded a specific company across both chambers.
  • Remember that STOCK Act reporting runs 30-45 days behind the trade itself β€” a transaction's transaction_date will be well before its notification_date. Use dateReported to capture a single day's newly filed disclosures.
  • Sort by amount_max to surface the largest disclosed positions first, since the official brackets only give a range rather than an exact figure.

Pricing

From $2.20 per 1,000 results β€” pay only for the transactions you collect, sourced directly from the primary government record. No compute or time-based charges β€” you pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.26$0.245$0.23$0.22
1,000$2.60$2.45$2.30$2.20
10,000$26.00$24.50$23.00$22.00
100,000$260.00$245.00$230.00$220.00

A "result" is one congressional transaction row. Platform usage fees are additional.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n β€” Workflow automation
  • Google Sheets β€” Direct spreadsheet export
  • Slack / Email β€” Notifications on new disclosures
  • Webhooks β€” Trigger custom APIs on run completion
  • Apify API β€” Full programmatic access

Congressional financial disclosures are public records, published by the US House Clerk and the US Senate under the Stop Trading on Congressional Knowledge (STOCK) Act of 2012. This actor collects only that publicly available filing data for research, journalism, and transparency purposes. You are responsible for using the data in compliance with the source portals' terms and all applicable laws. Do not use the data to harass individuals or for any unlawful purpose.