# Apify Congress Trading Tracker

> Build a congress trading tracker with the Apify Congress Financial Disclosures and Stock Trades Actor (johnvc/us-congress-financial-disclosures-and-stock-trading-data). Watch a member of Congress or a ticker, poll for newly filed Periodic Transaction Reports from the House and Senate, dedupe on the stable row id, and route new disclosures to alerts, a database, or a dashboard, with member, chamber, Ticker, Transaction_Type, Amount_Range, Date, and Filing_ID on every row. Use when the user wants a congress trading tracker, wants to track congressional stock trades over time, monitor a member's disclosures, watch which members trade a ticker, get alerts on new filings, or run disclosure monitoring for compliance, ESG, or journalism research. Pay-per-transaction billing, MCP-ready for Claude and other AI agents.

- Skill: `johnisanerd/apify-congress-trading-tracker` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add johnisanerd/apify-congress-trading-tracker`
- Raw SKILL.md: https://api.skillmd.com/api/skills/johnisanerd/apify-congress-trading-tracker/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: johnisanerd (https://skillmd.com/u/johnisanerd)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/johnisanerd/apify-congress-trading-tracker

---


# Congress Trading Tracker: Monitor New Disclosures Over Time

Turn US Congressional financial disclosures into a tracker. Define what to watch (one member, one ticker, or all recent activity), poll on a schedule, keep only rows you have not seen, and deliver the new filings to an alert, a table, or a dashboard. Every row is a parsed House or Senate Periodic Transaction Report (PTR) line with the member, chamber, asset, transaction type, amount bracket, and filing IDs.

## When to use this skill

- The user wants a congress trading tracker or asks to track congressional stock trades over time.
- They want to monitor one member's disclosures, or every member's activity in one ticker.
- They want alerts, a digest, or a database of newly filed trades.
- A compliance or ESG team wants to monitor disclosed congressional trades against holdings they oversee, as an auditable history.
- A journalist or researcher wants filings around a legislative event collected as they publish.

Not for: one-off historical pulls (use the congress-stock-trades-api skill), real-time signals (filings trail trades by 30 to 45 days by law), or investment recommendations (this is public-records monitoring, not advice).

## What each poll returns (one row per transaction)

`id` (stable row identifier, the dedupe key), `First_Name`, `Last_Name`, `House` (House or Senate), `State_District`, `Ticker` (blank when the asset is not publicly listed), `Asset`, `Asset_Type_Code`, `Transaction_Type` (P, S, S (partial), E), `Amount_Range` (the filed bracket), `Date` (transaction date), `Notification_Date` (the freshness signal), `Year`, `Details` (when present), `Capital_Gains_Over_200` (often blank), `Filing_ID`, `DocID`, `PDF_Quality`, `created_at`, plus a `search_metadata` object echoing the query for audit trails.

## Prerequisites

- Apify account (sign up at https://apify.com?fpr=9n7kx3&fp_sid=skillrepo).
- Authentication via `apify login`, or an `APIFY_TOKEN` environment variable (Apify Console, Settings, Integrations).

## The Actor

- Store page: https://apify.com/johnvc/us-congress-financial-disclosures-and-stock-trading-data?fpr=9n7kx3&fp_sid=skillrepo
- Actor ID: `johnvc/us-congress-financial-disclosures-and-stock-trading-data`
- Pricing: pay per transaction returned, plus a small per-run start fee (see `references/gotchas.md`).

## Run it with the Apify CLI

One tracker poll, watching a single member:

```bash
apify actors call "johnvc/us-congress-financial-disclosures-and-stock-trading-data" -i '{"Last_Name":"Pelosi","Max_Results":25}' \
  --json \
  --user-agent apify-awesome-skills/apify-congress-trading-tracker \
  2>/dev/null
```

A ticker watch across all of Congress:

```bash
apify actors call "johnvc/us-congress-financial-disclosures-and-stock-trading-data" -i '{"Stock_Symbol":"NVDA","Max_Results":50}' \
  --json \
  --user-agent apify-awesome-skills/apify-congress-trading-tracker \
  2>/dev/null
```

Read a finished run's rows later, for example from a scheduled run:

```bash
apify datasets get-items <DATASET_ID> --format json --user-agent apify-awesome-skills/apify-congress-trading-tracker 2>/dev/null
```

Every call carries the three flags this repo expects: `--json` (or `--format json`), `--user-agent apify-awesome-skills/apify-congress-trading-tracker`, and `2>/dev/null`.

## Run it from Claude or another AI agent (MCP)

The Actor is MCP-ready. Add the hosted server URL:

`https://mcp.apify.com/?tools=actors,docs,johnvc/us-congress-financial-disclosures-and-stock-trading-data`

Then ask, for example: "Check for new Congress trades in NVDA since last week and summarize who filed what." MCP setup docs: https://docs.apify.com/platform/integrations/mcp

## Workflow

1. Define the watch. One Actor input per tracker: a member (`First_Name` plus `Last_Name`), a ticker (`Stock_Symbol`), or nothing for all recent activity across both chambers.
2. Bound each poll. Keep `Max_Results` at 25 to 50 per poll; a watch rarely produces more new filings than that between polls, and it is the hard cost cap.
3. Pick the cadence. Daily fits the filing pace; PTRs are due 30 to 45 days after the trade, so hourly polling buys nothing. Wrap the input in an Apify Schedule or a cron job.
4. Dedupe. Store seen `id` values and keep only new rows each poll. Sort new rows by `Notification_Date` to lead with the freshest filings.
5. Deliver. Send new rows to an alert (email, Slack), append them to a database so history accumulates, or refresh a dashboard. For compliance and ESG monitoring, keep `Filing_ID` and `search_metadata` with each stored row so every entry traces to a source filing.

## Inputs

- `First_Name` and `Last_Name` (string): member watch, case-insensitive partial match
- `Stock_Symbol` (string): ticker watch, for example NVDA, partial match
- `Start_Date` and `End_Date` (string, YYYY-MM-DD): optional window, useful for backfilling a new tracker
- `Max_Results` (integer, 1 to 1000, default 100): per-poll cap, keep small for trackers

## Cost

Billing is per transaction returned plus a small per-run start fee, so a bounded poll is cheap: a daily 25-row member watch is about $0.05 per poll, around $1.50 per month. A 50-row ticker watch is about $0.10 per poll. Estimate per month before scheduling; live prices are in `references/gotchas.md`.

## Honest limits

- This is a polled tracker over public filings, not a push feed; freshness is your poll interval plus the 30 to 45 day statutory filing lag.
- `Amount_Range` is a bracket exactly as filed; no exact dollar values exist in the source.
- `Ticker` is blank for unlisted assets, and `Asset_Type_Code` carries more codes than the common documented set.
- Rows where `PDF_Quality` is "image" came from scanned filings via OCR; verify against the source PDF when a number matters.
- The tracker collects and organizes disclosure records. It does not evaluate, recommend, or time trades, and its output is research data, not investment advice.

## Troubleshooting

- Nothing new in a poll: normal; members file in bursts. Do not widen the watch just to see activity.
- Duplicate rows across polls: expected; dedupe on `id` before delivering.
- A trade you read about is missing: the filing deadline is 30 to 45 days; it will appear once filed.
- Backfill looks thin: add `Start_Date` and `End_Date` with a higher `Max_Results` for the initial load, then drop back to small polls.

See `references/gotchas.md` for cost guardrails and error recovery, and `references/actor-index.md` for the Actor routing table.

## Related financial-data Actors

- Earnings Call Transcript API: https://apify.com/johnvc/earnings-call-transcript-api?fpr=9n7kx3&fp_sid=skillrepo
- Google Finance API: https://apify.com/johnvc/google-finance-api?fpr=9n7kx3&fp_sid=skillrepo
- Google News API: https://apify.com/johnvc/GoogleNewsAPI?fpr=9n7kx3&fp_sid=skillrepo

