Congress Financial Disclosures & Stock Trades avatar

Congress Financial Disclosures & Stock Trades

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Congress Financial Disclosures & Stock Trades

Congress Financial Disclosures & Stock Trades

This Apify actor provides comprehensive access to US Congressional financial disclosure and stock trading data. Search for transactions by congressional member name, specific report dates, date ranges, or stock ticker symbols. Perfect for journalists, researchers, and transparency advocates.

Pricing

from $0.01 / 1,000 results

Rating

5.0

(3)

Developer

John

John

Maintained by Community

Actor stats

13

Bookmarked

193

Total users

52

Monthly active users

19 hours ago

Last modified

Share

Congress Financial Disclosures & Stock Trades API

Scrape US Congressional financial disclosures and stock trades by member name, ticker symbol, or date range. This Apify Actor returns Periodic Transaction Reports (PTRs) from the House and Senate as a clean, queryable dataset with member, asset, amount range, transaction type, and filing IDs - the most comprehensive Congress trading dataset on Apify, used by journalists, compliance teams, and quantitative researchers tracking conflict-of-interest patterns under the STOCK Act.

What you get

  • Every transaction returned with member name, chamber, state/district, ticker, asset, transaction type, amount range, transaction date, and reported date
  • Filterable by member name, exact filing date, date range, or stock ticker
  • Output as JSON in the Apify dataset - one row per PTR transaction line
  • Pre-built dataset views for Purchases, Sales, Options trades, and Stock trades
  • Echoed search metadata on every row (timestamp, query timing, result count) for audit trails

Use cases

  • Investigative journalism - track unusual trades around legislative events or hearings
  • Conflict-of-interest research - map a member's holdings against committees they sit on
  • Quant / signal research - build features from Congress trade timing and direction
  • Compliance & ESG - monitor exposure of public funds and pensioners to insider patterns
  • Civic transparency dashboards - power public-facing "who traded what, when" widgets

🔌 Integrations: Automate Congress Trade Monitoring

A single run answers one question ("what did Pelosi trade last quarter?"). The real value comes from running this Congress stock trades API on a schedule, so newly filed Periodic Transaction Reports land in your stack the day they publish. See the full list of Apify platform integrations.

Tasks and Schedules (the core recipe). Save one task per thing you watch (a single member like Pelosi, or a single ticker like NVDA), then attach a schedule from the Actor's Actions, then Schedule menu. Useful cron strings: 0 7 * * * (daily at 7 AM), 0 */6 * * * (every six hours), 0 9 * * 1 (Mondays). One schedule can trigger many tasks at once. The Track US Congress stock trades daily task is a ready-made starting point.

n8n. This API ships an n8n community node (see the n8n integration section below). A four-step monitor: Schedule Trigger, then the Congress trades node, then a Filter on Transaction_Type equal to P, then Slack or email.

Make and Zapier. The same pattern works no-code with Make and Zapier: trigger on a schedule, run the Actor, route the new transactions where you need them.

Store the history (Supabase). Send each run's rows into a table so a trade history accumulates across runs. No-code: the n8n Actor node, then a Supabase node. Or in Python (each row carries Last_Name, Ticker, Transaction_Type, Amount_Range, Date, and House):

from apify_client import ApifyClient
from supabase import create_client
apify = ApifyClient("YOUR_APIFY_TOKEN")
supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")
run = apify.actor("johnvc/us-congress-financial-disclosures-and-stock-trading-data").call(run_input={
"Last_Name": "Pelosi",
"Start_Date": "2024-01-01",
"End_Date": "2024-12-31",
"Max_Results": 500,
})
rows = list(apify.dataset(run.default_dataset_id).iterate_items())
supabase.table("congress_trades").upsert(rows).execute()

MCP and AI agents. Add this API as a tool in Claude or Cursor through the Apify MCP server so an agent can pull disclosures on demand (see the Via MCP section below).

Webhooks. For anything custom, fire an Apify webhook on ACTOR.RUN.SUCCEEDED to push each run's dataset into your own service.

Input parameters

All parameters are optional. Run with no input to get the most recent transactions.

ParameterTypeRequiredDefaultDescription
First_NamestringNo-First name of the member (case-insensitive partial match)
Last_NamestringNo-Last name of the member (case-insensitive partial match)
Date_ReportedstringNo-Exact transaction date, YYYY-MM-DD
Start_DatestringNo-Earliest transaction date (inclusive), YYYY-MM-DD
End_DatestringNo-Latest transaction date (inclusive), YYYY-MM-DD
Stock_SymbolstringNo-Ticker filter (e.g. AAPL, MSFT, NVDA)
Max_ResultsintegerNo100Cap on results returned, 1-1000

Examples

Find every Pelosi trade in 2024:

{
"First_Name": "Nancy",
"Last_Name": "Pelosi",
"Start_Date": "2024-01-01",
"End_Date": "2024-12-31",
"Max_Results": 500
}

Every Congress member who traded AAPL:

{
"Stock_Symbol": "AAPL",
"Max_Results": 200
}

Most recent disclosures across all members:

{
"Max_Results": 50
}

Example output

One transaction returned as a single dataset row:

{
"id": "3b454411-9bfb-5545-8568-b14e596503e3",
"Owner": "SP",
"Asset": "Palo Alto Networks, Inc. (PANW)",
"Ticker": "PANW",
"Asset_Type_Code": "OP",
"Transaction_Type": "P",
"Date": "2024-02-21",
"Notification_Date": "2024-02-21",
"Amount_Range": "$100,001 - $250,000",
"Capital_Gains_Over_200": "No",
"Details": "Purchased 20 call options with a strike price of $200 and an expiration date of 1/17/25.",
"First_Name": "Nancy",
"Last_Name": "Pelosi",
"State_District": "CA11",
"House": "House",
"Filing_ID": "20024542",
"DocID": "20024542",
"Year": "2024",
"PDF_Quality": "text",
"created_at": "2025-09-04T13:08:13.253936+00:00",
"search_metadata": {
"last_name": "Pelosi",
"max_results": 100,
"search_timestamp": "2025-09-05T11:08:47.827456",
"total_results_found": 10,
"query_execution_time": 5.30
}
}

Field reference

FieldMeaning
Transaction_TypeP = purchase, S = sale, S (partial) = partial sale, E = exchange
Asset_Type_CodeST stock, OP options, MF mutual fund, BD bond, ET ETF, CT crypto
OwnerSP spouse, DC dependent child, JT joint, blank = the member themselves
Amount_RangeReporting bracket, e.g. $1,001 - $15,000. Members report ranges, not exact values
HouseHouse or Senate
PDF_Qualitytext (machine-readable filing) or image (OCR-required filing)

Pricing

Pay-per-event - you only pay for what you pull.

EventRate
Run initiation$0.005 per run
Transaction returned$0.0025 per row

Typical run cost: pulling 100 Pelosi transactions = $0.005 + 100 x $0.0025 = $0.255. Pulling all 2024 AAPL trades across Congress (~30 rows) = $0.005 + 30 x $0.0025 = $0.08.

Getting Started

Three ways to run this Congress stock trades API, in order of speed:

  1. In the Apify Console: open the Actor, set any filters, click Start, and export the dataset. Full steps in Quickstart below.
  2. From your code: call the run endpoint with the Apify API (see Via the API).
  3. From an AI agent: add it to any MCP client and ask in plain language (see Via MCP).

For a complete Python and MCP walkthrough, see the example repo on GitHub.

Quickstart

  1. Open the Actor on the Apify Store and click Try for free.
  2. Fill in any filters you want (or none, for latest activity).
  3. Hit Start and watch the run page - results stream into the dataset.
  4. Export as JSON, CSV, or Excel from the Output tab.

Via the API

curl -X POST "https://api.apify.com/v2/acts/johnvc~us-congress-financial-disclosures-and-stock-trading-data/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"Last_Name":"Pelosi","Start_Date":"2024-01-01","End_Date":"2024-12-31","Max_Results":100}'

Via MCP (Claude, Cursor, VS Code, etc.)

This Actor is discoverable through the Apify MCP server. Connect any MCP-capable client to https://mcp.apify.com and ask: "find Congress stock trades for Nancy Pelosi in 2024" - the agent will discover and invoke this Actor automatically.

Building a financial or government-transparency pipeline? These tools from the same catalog pair well with congressional trading data:

  • Earnings Call Transcript API: SEC 8-K filings and speaker-tagged earnings transcripts, another primary-source financial signal to line up against the trades you track here.
  • Google Finance API: live quotes, financials, and market data for the tickers Congress is trading.
  • Google News API: news coverage around a legislative event or a member, for the investigative-journalism workflow.
  • Investment Finance Professionals API: contact data for SEC-registered investment advisers, for compliance and outreach.

Thinly adopted alternatives such as solidcode/congress-gov-disclosures-scraper exist, but show only a couple of users, carry no user rating, and report a lower run success rate. This API is actively maintained, covers both the House and the Senate, holds a 5-star rating, and returns clean structured JSON you can filter by member, ticker, or date.

FAQ

Where does the Congress stock trades data come from?

US Congressional Periodic Transaction Reports (PTRs) filed under the STOCK Act. The Actor normalizes filings from the House Clerk and the Senate eFD into one schema. Both official filing systems are public: the House financial disclosure portal and the Senate eFD system.

Why is the amount a range, not an exact value?

Members are only required to report amounts in brackets ($1,001-$15,000, $15,001-$50,000, and so on). The Actor returns the bracket exactly as filed.

Why are some Tickers blank?

Not every disclosed asset is publicly listed (for example private partnerships, real estate, treasuries). Filter on Asset_Type_Code = ST if you want stock-only rows.

How fresh is the data?

Filings are pulled on a rolling schedule. PTRs have a 30 to 45 day reporting deadline, so the dataset trails real trades by that much by design.

How do I get only purchases or only sales?

Use the pre-built Output views (Purchases, Sales, Options Transactions, Stock Transactions). They are just dataset filters on Transaction_Type and Asset_Type_Code.

Do you cover both the House and the Senate?

Yes. Each row's House field is House or Senate.

Can I schedule this Congress trades API to run automatically?

Yes, and this is where the tool earns its keep. Any run can be automated on a schedule: create a saved task with your filters (one member, or one ticker), then attach a schedule from the Actor's Actions, then Schedule menu. Concrete cron strings: 0 7 * * * for daily at 7 AM, 0 */6 * * * for every six hours, 0 9 * * 1 for Mondays. One schedule can trigger many tasks at once. See the Integrations section above for the full monitoring recipe.

Should I use an API or a Web Scraper for Congress trades?

Both, and this Actor is both. There is no official real-time API for congressional disclosures, and the raw filings are PDFs, some of them scanned images. This Actor gives you the clean result of a purpose-built API or a no-code web scraper: call it yourself, get structured JSON, no quotas, and no PDF parsing on your end.

Can I use this Congress trades API with the API?

Yes. The Apify API runs the Actor, schedules it, and fetches datasets, and the apify-client package exists for both Node.js and Python. See the Via the API section above, or the Actor's API tab.

Can I use this Actor through an MCP server?

Yes. Add it as a tool in any MCP client (Claude, Cursor, and others) through the hosted Apify MCP server with the Actor-specific URL https://mcp.apify.com/?tools=actors,docs,johnvc/us-congress-financial-disclosures-and-stock-trading-data. In Claude Code (free trial) or Claude Cowork (free trial) your agent can then answer questions like "find Congress stock trades for Nancy Pelosi in 2024" with live data. See the Apify MCP docs.

Can I integrate this Congress trades Scraper with other apps?

Yes. It connects to almost any cloud service through Apify integrations: Make, Zapier, Slack, the n8n community node, and webhooks on ACTOR.RUN.SUCCEEDED for custom actions. See the Integrations section above for full recipes.

How do compliance and ESG teams use congressional trading data?

Compliance and ESG teams use disclosed congressional trades to monitor conflict-of-interest exposure and to check whether public funds or pension holdings overlap with the trades of members who sit on relevant committees. Filter by member and by ticker, run it on a schedule, and store the history so patterns are auditable over time.

How can I track other financial and government data?

Pair this API with related tools in the same catalog: the Earnings Call Transcript API and Google Finance API for the market side of the trades you track, the Google News API for news around a legislative event, and the Investment Finance Professionals API for SEC-registered adviser contacts. See the Related Tools section above.

The underlying filings are public records the government publishes for transparency under the STOCK Act, so this is public data. For general background on the topic, see the legality of web scraping.

Guides & Articles

n8n integration

Available as an n8n community node, n8n-nodes-congress-trades-api. In n8n: Settings, Community Nodes, install n8n-nodes-congress-trades-api, then use it in any workflow (it also works as an AI Agent tool).

Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.

Track Congress trades by stock

One task per widely held ticker. Each returns the member, chamber, transaction type, amount range, and filing dates for every disclosed trade in that stock.

Last Updated: 2026.07.13