# Congress Stock Trades Tracker: House & Senate STOCK Act Trades (`precious_bathmat/congress-stock-trades`) Actor

Stock trades by US senators and representatives from official STOCK Act disclosures: ticker, buy or sell, amount range, trade and filing dates, days to disclose, party and state, plus a report of what Congress bought and sold most. No login.

- **URL**: https://apify.com/precious_bathmat/congress-stock-trades.md
- **Developed by:** [Mariam Ahmed](https://apify.com/precious_bathmat) (community)
- **Categories:** Business, News
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 run reports

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Congress Stock Trades Tracker: House & Senate STOCK Act Trades

Track **stock trades by US senators and representatives**, straight from the official STOCK Act disclosures. No login, no API key.

For every trade you get the **member, party and state, the ticker, buy or sell, the dollar range, the trade date, the date it became public and how many days that took**. You also get a **report**: the stocks Congress **bought and sold most**, the **most active traders**, estimated dollar volume and **late disclosures**.

### What does this Congress trading tracker do?

```
Filed 2 Jul – 30 Sep 2026 · House + Senate · 159 reports read
 2,161 trades by 83 members   1,253 purchases · 885 sales
 ~$51M bought · ~$107M sold (middle of the reported ranges)
 883 trades disclosed more than 45 days after the trade

Most bought (members buying)       Most sold (members selling)
 MSFT  7 · SPCX  7 · AAPL  5        AAPL 11 · MSFT  9 · NVDA  7
 NVDA  5 · META  5 · BRK.B 4        GOOGL 6 · HD    5 · ADBE  5
```

1. Choose how far back to look (**disclosed in the last N days**), the chamber, and optionally **members** ("Pelosi") or **tickers** ("NVDA").
2. The Actor reads every **Periodic Transaction Report** filed in that period: House PDFs from the Clerk of the House and Senate filings from the Senate's eFD site.
3. You get **one row per trade**, plus the report and two CSV summaries: per ticker and per member.

```mermaid
flowchart LR
    A[House Clerk<br/>PTR PDFs] --> C[Trades<br/>one row each]
    B[Senate eFD<br/>PTR pages] --> C
    D[Official member lists<br/>party + state] --> C
    C --> E[Report<br/>most bought / sold,<br/>top traders, late filings]
```

### Who is it for?

- **Traders and investors**: see what members of Congress are buying before or after big moves, and follow specific politicians
- **Newsletter writers and finance creators**: a weekly "what Congress traded" post from one run
- **Journalists and watchdogs**: late disclosures, big trades, trades by party
- **Quant and data teams**: a clean trade history for backtests and dashboards

### What data do you get?

**Trades** (dataset, one row per trade)

| Field | What it tells you |
|---|---|
| `member`, `chamber`, `party`, `state`, `district` | Who traded |
| `ticker`, `assetName`, `assetType`, `optionType` | What was traded (stocks, ETFs, options, bonds, Treasuries, funds) |
| `type`, `side` | Purchase, Sale, Sale (Partial) or Exchange; buy / sell |
| `amount`, `amountMin`, `amountMax` | The dollar range reported, e.g. $15,001 - $50,000 |
| `transactionDate`, `filingDate`, `daysToDisclose`, `lateFiling` | When it happened, when it became public, and whether that took over 45 days |
| `owner` | Self, Spouse, Joint or Dependent child |
| `description` | Option strike and expiry, exchanges, notes from the filer |
| `amendment`, `filingId`, `filingUrl` | The source filing, linked |

**Report** (`REPORT`): totals, `mostBought`, `mostSold`, `mostActiveMembers`, estimated dollars bought and sold, late trades, median days to disclose.

**Files**: `TICKERS_CSV` (per ticker: trades, members buying and selling, estimated bought, sold and net dollars, trades by party) and `MEMBERS_CSV` (per member: trades, purchases, sales, estimated volume, top tickers, median days to disclose, late trades). `SCANNED_FILINGS` lists paper filings with their links.

### Example: 30 September 2026

A 90-day run, both chambers, **2,161 trades by 83 members**:

| Member | Party | Trades | Estimated volume | Top tickers |
|---|---|---|---|---|
| Alan Armstrong (Senate, OK) | R | 707 | $25.1M | WMB, EA, AVB |
| David H McCormick (Senate, PA) | R | 66 | $11.0M | Mostly municipal bonds |
| Nancy Pelosi (House, CA) | D | 7 | $9.4M | BE, INTC (shares and call options) |
| April McClain Delaney (House, MD) | D | 159 | $6.5M | LTH, HUBB, CHRW |
| Kevin Hern (House, OK) | R | 147 | $6.0M | HD, BSX, DVN |

NVIDIA trades in that run included a **$15,001 - $50,000 sale by Sen. Cory Booker** (traded 11 Aug, disclosed 9 Sep, 29 days) and purchases by Reps. Gilbert Cisneros and John McGuire.

### Pricing

**$0.02 per run report** and **$0.001 per trade** saved.

The last 30 days (496 trades on 30 September 2026) cost **$0.52**. One member or one ticker is usually **a few cents**. The 90-day run above cost **$2.18**. "Maximum trades to save" caps the cost; the report always covers every trade.

### Good to know

- **Amounts are ranges.** Members report ranges ($1,001 - $15,000 and up), not exact sums. Estimated dollars use the middle of each range, and "Over $50,000,000" counts as $50M.
- **The period is by filing date**, when a trade became public. Members have up to **45 days** after a trade to report it, so a 30-day run also has older trades. `lateFiling` marks trades reported later than that (amendments excluded).
- **Paper filings are scanned images** and cannot be read. A few members file this way; they are listed in `SCANNED_FILINGS` with links.
- **Party and state** come from the official current member lists (clerk.house.gov, senate.gov), so they are empty for members who have left Congress.
- **Official public records only**: STOCK Act filings are published by Congress for the public. The Actor keeps trade details and leaves out account names.
- Runs are fast: **30 days in about 10 seconds, a full year (7,000+ trades) in under 3 minutes**.

### Input

| Field | Meaning |
|---|---|
| **Disclosed in the last N days** | 1 to 730 (default 30) |
| **Chamber** | House and Senate, House only, Senate only |
| **Members of Congress** | Optional names; last name is enough |
| **Tickers** | Optional: NVDA, MSFT… |
| **Trade type** | All, purchases only, sales only |
| **Stocks, ETFs and options only** | Skip bonds, Treasuries and private funds |
| **Maximum trades to save** | Newest first; default 2,000 |

### FAQ

**Where does the data come from?** The House Clerk's financial disclosure site (disclosures-clerk.house.gov) and the Senate's electronic Financial Disclosure site (efdsearch.senate.gov), the official source every Congress trading site uses.

**How fresh is it?** The House index updates daily and Senate filings appear as they are filed. Schedule a daily run to catch new trades as soon as they are public.

**Can I follow one politician?** Yes: put their name in "Members of Congress" and schedule the Actor. A run with no new trades costs nothing beyond the platform start.

### Integrations

Export to JSON, CSV, Excel or Google Sheets, or connect through the Apify API, webhooks, Make, Zapier and n8n. **Schedule it daily** with a webhook to get an alert when a member you follow trades.

# Actor input Schema

## `daysBack` (type: `integer`):

Trades made public in this many days, by filing date (1 to 730). Members have up to 45 days to disclose a trade, so recent filings also contain older trades.

## `chamber` (type: `string`):

House of Representatives, Senate, or both.

## `members` (type: `array`):

Optional: only these members, e.g. "Pelosi", "Tommy Tuberville", "Ro Khanna". Last name is enough. Empty = everyone.

## `tickers` (type: `array`):

Optional: only trades in these tickers, e.g. "NVDA", "MSFT". Empty = all assets.

## `tradeType` (type: `string`):

Purchases, sales, or all trades (exchanges included).

## `stocksOnly` (type: `boolean`):

Skip bonds, Treasuries, private funds and other assets without a ticker.

## `maxTrades` (type: `integer`):

Most recent trades saved to the dataset (charged per trade). The report always covers every matching trade.

## Actor input object example

```json
{
  "daysBack": 30,
  "chamber": "both",
  "tradeType": "all",
  "stocksOnly": false,
  "maxTrades": 2000
}
```

# Actor output Schema

## `trades` (type: `string`):

One row per disclosed trade: member, party, ticker, type, amount range, dates, days to disclose, filing link.

## `report` (type: `string`):

Most bought and sold tickers, most active members, late disclosures and estimated dollar volume.

## `tickers` (type: `string`):

Per ticker: trades, members buying and selling, estimated bought, sold and net dollars.

## `members` (type: `string`):

Per member: trades, purchases, sales, estimated volume, top tickers, median days to disclose, late trades.

## `summary` (type: `string`):

Sources, filters, problems and the limits of the data.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("precious_bathmat/congress-stock-trades").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("precious_bathmat/congress-stock-trades").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call precious_bathmat/congress-stock-trades --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,precious_bathmat/congress-stock-trades"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/L94P5Qi1OszPmhoQk/builds/7MVDKVhEEZMwl0LIL/openapi.json
