# 🏛️ US Congress Stock Trades — STOCK Act Disclosures (`inexhaustible_glass/congress-stock-trades`) Actor

Every stock trade disclosed by US House Representatives (STOCK Act), from official House Clerk reports: politician, party, state, ticker, company, buy/sell, owner, amount + estimate, dates, disclosure-delay and late-filing compliance flag, plus analytics. Official free data, no key.

- **URL**: https://apify.com/inexhaustible\_glass/congress-stock-trades.md
- **Developed by:** [Hitman studio](https://apify.com/inexhaustible_glass) (community)
- **Categories:** Business, AI, Developer tools
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 congress trade records

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🏛️ US Congress Stock Trades & Financial Disclosures (STOCK Act)

**Every stock trade disclosed by US House Representatives** — parsed straight from the **official House Clerk Periodic Transaction Reports (PTRs)** and enriched with everything people actually want to know: **who** traded, their **party / state / district**, the **ticker & company**, **buy vs sell**, the **owner** (self / spouse), the **dollar amount** (range + estimate), the **trade & disclosure dates**, and — critically — whether the trade was disclosed **late** under the STOCK Act's 45-day rule.

> ✅ **Official source.** disclosures-clerk.house.gov (public, free, no API key, no block) + member party lookup from the open `congress-legislators` project.

### ⚡ Why this is the most complete congress-trades scraper

- 👤 **Full politician detail** — name, **party**, state, district, chamber, bioguide ID
- 📈 **Ticker + company** for every trade, asset type (stock / options / etc.)
- 🔁 **Buy / sell / exchange** + **owner** (self, spouse, joint, dependent)
- 💲 **Amount** as the disclosed range **plus a computed min / max / estimate**
- 🕒 **Trade date, disclosure date, and disclosure-lag in days**
- ⚖️ **STOCK Act compliance flag** — `On time` / `Late` / `Severely late` (find the illegal-late disclosures everyone talks about)
- 🔗 Direct **link to the official PTR filing**
- 📊 **Analytics** — most-traded tickers, most-active members, buy vs sell, by party, late-disclosure count, estimated total volume
- 🧹 **Zero-null** schema · CSV export · 🤖 works as a **tool for AI agents** (ChatGPT / Claude) via Apify MCP

### 🎯 Perfect for

- **Retail investors** — mirror or watch what Congress is buying/selling
- **Journalists & watchdogs** — spot late disclosures and conflicts of interest
- **Quant / fintech** — feed clean congressional-trading signals into models
- **Researchers** — STOCK Act compliance and political-trading analysis

### 📋 Input

| Field | Description |
|---|---|
| `years` | Disclosure year(s), e.g. `["2024"]` or `["2024","2025"]` |
| `representative` | Filter by politician name (e.g. `Pelosi`, `Green`) |
| `ticker` | Only trades of a symbol (e.g. `NVDA`) |
| `transactionType` | `Purchase`, `Sale` or `Exchange` |
| `party` / `state` | Filter by party or 2-letter state |
| `minAmount` | Only trades at/above this dollar amount |
| `startDate` / `endDate` | Trade-date range (`YYYY-MM-DD`) |
| `maxResults` / `maxFilings` | Result & scan limits |

#### Example input

```json
{
  "years": ["2024"],
  "transactionType": "Purchase",
  "minAmount": 50000,
  "maxResults": 300
}
````

### 📤 Output (one row per trade)

```json
{
  "representative": "Rick W. Allen",
  "party": "Republican",
  "chamber": "House",
  "state": "GA",
  "district": "12",
  "bioguide_id": "A000372",
  "ticker": "ALB",
  "asset_name": "Albemarle Corporation",
  "asset_type": "Stock",
  "transaction_type": "Sale",
  "owner": "Spouse",
  "transaction_date": "12/21/2023",
  "disclosure_date": "01/08/2024",
  "days_to_disclose": 18,
  "disclosure_lag_days": 21,
  "compliance_status": "On time",
  "amount_range": "$1,001 - $15,000",
  "amount_min": 1001,
  "amount_max": 15000,
  "amount_estimate": 8000,
  "ptr_url": "https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2024/20024277.pdf",
  "source": "US House Clerk (STOCK Act PTR)",
  "record_type": "congress_trade"
}
```

A **`SUMMARY`** (analytics) and **`DATA_CSV`** are also saved to the run's key-value store.

### ❓ FAQ

**Where is the data from?** The official US House Clerk financial-disclosure PTRs (public record). Party/state come from the open `congress-legislators` dataset.

**What is the STOCK Act compliance flag?** Members must disclose trades within 45 days. `compliance_status` flags each trade `On time`, `Late`, or `Severely late`.

**Does it cover the Senate?** This build covers the US House (live, current). Senate coverage is planned.

### 🔖 Keywords

congress stock trades, congressional trading, congress stock tracker, nancy pelosi stock tracker, pelosi trades, politician stock trades, congress insider trading, stock act, stock act disclosures, stock act api, house stock watcher, senate stock watcher, periodic transaction report, ptr scraper, ptr filings, congress trading tracker, capitol trades alternative, quiver quantitative alternative, unusual whales congress, congress portfolio, congress buys and sells, follow congress trades, copy congress trades, congressional stock disclosures, house representatives trades, representative stock trades, stock act compliance, late disclosure tracker, 45 day rule, disclosure delay, congressional financial disclosure, financial disclosure scraper, house clerk disclosures, political trading data, political stock tracker, government stock trades, congress trading signals, congress trading alerts, congress trading data api, insider trading data, ticker congress, whale trades, smart money tracker, AI agent tool, MCP server, LLM tool, tool for ChatGPT, tool for Claude, AI finance tool, tool for AI agents

# Actor input Schema

## `years` (type: `array`):

Disclosure year(s) to pull, e.g. \[2024] or \[2024, 2025]. Defaults to the current year.

## `representative` (type: `string`):

Filter to a politician, e.g. Pelosi, Green, Allen.

## `ticker` (type: `string`):

Only trades of this stock symbol, e.g. NVDA, AAPL, TSLA.

## `transactionType` (type: `string`):

Filter by Purchase, Sale or Exchange.

## `party` (type: `string`):

Filter by party, e.g. Republican, Democrat.

## `state` (type: `string`):

Filter by the representative's state, e.g. CA, TX, NY.

## `minAmount` (type: `integer`):

Only trades whose upper amount bound is at least this (amounts are disclosed as ranges). E.g. 50000 for big trades.

## `startDate` (type: `string`):

Only trades executed on/after this date.

## `endDate` (type: `string`):

Only trades executed on/before this date.

## `maxResults` (type: `integer`):

How many trade records to return.

## `maxFilings` (type: `integer`):

How many PTR filings to download & parse (each holds several trades). Higher = more complete but slower.

## Actor input object example

```json
{
  "years": [
    "2024"
  ],
  "representative": "Pelosi",
  "ticker": "NVDA",
  "transactionType": "",
  "party": "Republican",
  "minAmount": 0,
  "maxResults": 300,
  "maxFilings": 400
}
```

# 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 = {
    "years": [
        "2024"
    ],
    "maxResults": 300,
    "maxFilings": 400
};

// Run the Actor and wait for it to finish
const run = await client.actor("inexhaustible_glass/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 = {
    "years": ["2024"],
    "maxResults": 300,
    "maxFilings": 400,
}

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

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

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

```

## CLI example

```bash
echo '{
  "years": [
    "2024"
  ],
  "maxResults": 300,
  "maxFilings": 400
}' |
apify call inexhaustible_glass/congress-stock-trades --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=inexhaustible_glass/congress-stock-trades",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🏛️ US Congress Stock Trades — STOCK Act Disclosures",
        "description": "Every stock trade disclosed by US House Representatives (STOCK Act), from official House Clerk reports: politician, party, state, ticker, company, buy/sell, owner, amount + estimate, dates, disclosure-delay and late-filing compliance flag, plus analytics. Official free data, no key.",
        "version": "1.0",
        "x-build-id": "dnUOIbdNisNJafb27"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/inexhaustible_glass~congress-stock-trades/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-inexhaustible_glass-congress-stock-trades",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/inexhaustible_glass~congress-stock-trades/runs": {
            "post": {
                "operationId": "runs-sync-inexhaustible_glass-congress-stock-trades",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/inexhaustible_glass~congress-stock-trades/run-sync": {
            "post": {
                "operationId": "run-sync-inexhaustible_glass-congress-stock-trades",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "years": {
                        "title": "📅 Year(s)",
                        "type": "array",
                        "description": "Disclosure year(s) to pull, e.g. [2024] or [2024, 2025]. Defaults to the current year.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "representative": {
                        "title": "👤 Representative name contains (optional)",
                        "type": "string",
                        "description": "Filter to a politician, e.g. Pelosi, Green, Allen."
                    },
                    "ticker": {
                        "title": "📈 Ticker (optional)",
                        "type": "string",
                        "description": "Only trades of this stock symbol, e.g. NVDA, AAPL, TSLA."
                    },
                    "transactionType": {
                        "title": "🔁 Transaction type (optional)",
                        "enum": [
                            "",
                            "Purchase",
                            "Sale",
                            "Exchange"
                        ],
                        "type": "string",
                        "description": "Filter by Purchase, Sale or Exchange.",
                        "default": ""
                    },
                    "party": {
                        "title": "🏛️ Party (optional)",
                        "type": "string",
                        "description": "Filter by party, e.g. Republican, Democrat."
                    },
                    "state": {
                        "title": "📍 State (optional, 2-letter)",
                        "type": "string",
                        "description": "Filter by the representative's state, e.g. CA, TX, NY."
                    },
                    "minAmount": {
                        "title": "💲 Minimum trade amount ($, optional)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only trades whose upper amount bound is at least this (amounts are disclosed as ranges). E.g. 50000 for big trades.",
                        "default": 0
                    },
                    "startDate": {
                        "title": "📅 Traded on/after (YYYY-MM-DD, optional)",
                        "type": "string",
                        "description": "Only trades executed on/after this date."
                    },
                    "endDate": {
                        "title": "📅 Traded on/before (YYYY-MM-DD, optional)",
                        "type": "string",
                        "description": "Only trades executed on/before this date."
                    },
                    "maxResults": {
                        "title": "🔢 Max trades",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "How many trade records to return.",
                        "default": 500
                    },
                    "maxFilings": {
                        "title": "📄 Max filings to scan",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "How many PTR filings to download & parse (each holds several trades). Higher = more complete but slower.",
                        "default": 400
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
