Apify congress trading tracker
Skill johnisanerd/claude-skill-congress-trading-tracker/apify-congress-trading-tracker
Claude/agent skill: track newly filed Congress trading disclosures on a schedule. Installs via npx skills add.
npx -y skills add johnisanerd/claude-skill-congress-trading-tracker --skill apify-congress-trading-trackerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 19 days oldThe repository was created 19 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
7.7 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it
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 anAPIFY_TOKENenvironment 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:
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:
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:
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
- Define the watch. One Actor input per tracker: a member (
First_NameplusLast_Name), a ticker (Stock_Symbol), or nothing for all recent activity across both chambers. - Bound each poll. Keep
Max_Resultsat 25 to 50 per poll; a watch rarely produces more new filings than that between polls, and it is the hard cost cap. - 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.
- Dedupe. Store seen
idvalues and keep only new rows each poll. Sort new rows byNotification_Dateto lead with the freshest filings. - 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_IDandsearch_metadatawith each stored row so every entry traces to a source filing.
Inputs
First_NameandLast_Name(string): member watch, case-insensitive partial matchStock_Symbol(string): ticker watch, for example NVDA, partial matchStart_DateandEnd_Date(string, YYYY-MM-DD): optional window, useful for backfilling a new trackerMax_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_Rangeis a bracket exactly as filed; no exact dollar values exist in the source.Tickeris blank for unlisted assets, andAsset_Type_Codecarries more codes than the common documented set.- Rows where
PDF_Qualityis "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
idbefore 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_DateandEnd_Datewith a higherMax_Resultsfor 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