The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Us Congress Trades listing page.
The most efficient, reliable, and developer-friendly way to use the Congress Trading API.
Actor page: apify.com/johnvc/us-congress-financial-disclosures-and-stock-trading-data Input schema: apify.com/johnvc/us-congress-financial-disclosures-and-stock-trading-data/input-schema
The Congress Trading API returns US Congressional Periodic Transaction Reports (PTRs) as clean, structured JSON. Each row is one disclosed transaction: the member name and chamber, state and district, asset and ticker, transaction type, reported amount range, transaction and notification dates, ownership, and filing IDs. Filter by member name, ticker, an exact date, or a date range. Data is normalized from official US House and Senate financial disclosure filings under the STOCK Act.
Clone the repository
Install dependencies with UV
Configure your API key
Run the example
Both chambers, one schema. House and Senate Periodic Transaction Reports are normalized into a single, queryable shape, so you analyze all of Congress with one parser instead of two filing systems.
Powerful filters. Narrow by member first or last name, by stock ticker, by an exact transaction date, or by a date range. Combine them to answer questions like "every NVDA trade this member made in 2024."
Audit-ready structured JSON. One row per transaction, with the reported amount range exactly as filed, plus filing and document IDs and per-run search metadata for traceable, reproducible pulls.
Predictable, pay-per-use pricing. Billing is per run plus per transaction returned, with no monthly rental. You control cost directly with Max_Results.
Easy to automate. Call it from Python in a few lines, or load it as an MCP tool so assistants like Claude and Cursor can pull Congressional trades for you on demand.
The most recent disclosures across all members. This is the cheapest way to try the API.
Every disclosed transaction for a member within a date window.
Every Congress member who traded a given ticker.
All parameters are optional. Run with no input to get the most recent transactions; combine fields to narrow results.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
First_Name | string | No | (none) | Member first name (case-insensitive partial match). |
Last_Name | string | No | (none) | Member last name (case-insensitive partial match). |
Date_Reported | string | No | (none) | Exact transaction date, YYYY-MM-DD. Use Start/End for a range instead. |
Start_Date | string | No | (none) | Earliest transaction date to include (inclusive), YYYY-MM-DD. |
End_Date | string | No | (none) | Latest transaction date to include (inclusive), YYYY-MM-DD. |
Stock_Symbol | string | No | (none) | Ticker filter, e.g. AAPL, MSFT, NVDA (case-insensitive partial match). |
Max_Results | integer | No | 100 | Maximum rows to return per run (1 to 1000). |
One transaction returned as a single dataset row.
| Field | Meaning |
|---|---|
Transaction_Type | P = purchase, S = sale, S (partial) = partial sale, E = exchange |
Asset_Type_Code | ST stock, OP options, MF mutual fund, BD bond, ET ETF, CT crypto |
Owner | SP spouse, DC dependent child, JT joint, blank = the member |
Amount_Range | Reporting bracket, e.g. $1,001 - $15,000. Members report ranges, not exact values |
House | House or Senate |
PDF_Quality | text (machine-readable filing) or image (OCR-required filing) |
You can load the Congress Trading API as an MCP tool so assistants call it for you. The MCP server URL preloads just this one Actor:
Authenticate with OAuth in the browser when offered, or with your Apify API token (the same APIFY_API_TOKEN used by the Python example). Get a token at https://console.apify.com/settings/integrations and a free Apify account at https://apify.com?fpr=9n7kx3 .

Cowork is the desktop app's automation mode. To give it the Congress Trading API as a tool, add the Apify MCP server as a connector.
claude_desktop_config.json directly).
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonDownload the desktop app and start a free trial: https://claude.ai/referral/uIlpa7nPLg More help: https://docs.apify.com/platform/integrations/claude-desktop

Claude Code is the command-line tool. Add the Actor's MCP server with one command:
To use a token instead of browser OAuth:
Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the Congress Trading API.
Try Claude Code free: https://claude.ai/referral/uIlpa7nPLg Claude Code MCP docs: https://code.claude.com/docs/en/mcp

On claude.ai you add Apify as a connector, then enable just this Actor's tool.
johnvc/us-congress-financial-disclosures-and-stock-trading-data.https://mcp.apify.com/?tools=actors,docs,johnvc/us-congress-financial-disclosures-and-stock-trading-data, using OAuth when prompted.Open Claude on the web: https://claude.ai/referral/uIlpa7nPLg

Cursor reads MCP servers from a project file at .cursor/mcp.json.
.cursor/mcp.json:New to Cursor? Get it here: https://cursor.com/referral?code=XQP4VBLI3NNX

ChatGPT connects to the Apify MCP server through Developer mode (available on ChatGPT Pro, Plus, Business, Enterprise, and Education plans).
https://mcp.apify.com/?tools=actors,docs,johnvc/us-congress-financial-disclosures-and-stock-trading-dataMore help: https://docs.apify.com/platform/integrations/mcp
Use the Congress Trading API to power transparency, research, and compliance workflows with reliable, structured results.
Last Updated: 2026.09.10