agentsclimarketplace

Apify congress stock trades api

Skill johnisanerd/claude-skill-congress-stock-trades-api/apify-congress-stock-trades-api

Claude/agent skill: US Congress stock trade disclosures as structured JSON. Installs via npx skills add.

Install
npx -y skills add johnisanerd/claude-skill-congress-stock-trades-api --skill apify-congress-stock-trades-api

Assembled 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

Pull US Congressional stock trades and financial disclosures as structured JSON with the Apify Congress Financial Disclosures and Stock Trades Actor (johnvc/us-congress-financial-disclosures-and-stock-trading-data). Filter Periodic Transaction Reports from the House and Senate by member name, ticker, or date range and get one row per transaction with Ticker, Asset, Transaction_Type, Amount_Range, Date, House, State_District, and Filing_ID. Use when the user wants a congress stock trades api, wants to scrape congressional financial disclosures, export House or Senate stock trades to JSON or CSV, pull a member's disclosed trades, look up which members traded a ticker, or build a congressional trading dataset for 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.4 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

Congress Stock Trades API: Disclosures to Structured JSON

Query US Congressional stock trades as an API. Give it a member name, a ticker, or a date range and get one clean JSON row per disclosed transaction from House and Senate Periodic Transaction Reports (PTRs), with the member, chamber, asset, transaction type, amount bracket, and filing IDs already parsed out of the source PDFs.

When to use this skill

  • The user wants a congress stock trades api or asks how to query congressional trades programmatically.
  • They want a member's disclosed trades (for example "every Pelosi trade in 2024") as JSON or CSV.
  • They want every member who traded a specific ticker, or all filings in a date range.
  • They are collecting data for journalism, academic research, or a transparency dataset.

Not for: real-time trade signals (filings trail trades by 30 to 45 days by law), exact dollar amounts (members file brackets, not values), or investment recommendations (this is public-records data collection, not advice).

What you get (one row per transaction)

id (stable row identifier), 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, such as "$1,001 - $15,000"), Date (transaction date), Notification_Date, Year, Details (free text, for example option strikes when present), Capital_Gains_Over_200 (often blank), Filing_ID, DocID, PDF_Quality (text or image source filing), created_at, and a search_metadata object echoing the query (max_results, search_timestamp, total_results_found, query_execution_time).

Prerequisites

The Actor

Run it with the Apify CLI

One member over a date range:

apify actors call "johnvc/us-congress-financial-disclosures-and-stock-trading-data" -i '{"Last_Name":"Pelosi","Start_Date":"2024-01-01","End_Date":"2024-12-31","Max_Results":100}' \
  --json \
  --user-agent apify-awesome-skills/apify-congress-stock-trades-api \
  2>/dev/null

Every member who traded one ticker:

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

Every call carries the three flags this repo expects: --json, --user-agent apify-awesome-skills/apify-congress-stock-trades-api, 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: "Pull every disclosed Congress trade in NVDA this year and export the rows as JSON." MCP setup docs: https://docs.apify.com/platform/integrations/mcp

Workflow

  1. Pick the filter. All inputs are optional; run with none to get the most recent filings. Narrow by First_Name plus Last_Name (case-insensitive partial match), Stock_Symbol, or a Start_Date and End_Date range in YYYY-MM-DD.
  2. Bound the volume. Max_Results caps rows returned (1 to 1000, default 100). Start at 50 to 100 for a member query; a single ticker across all of Congress is usually well under 200 rows.
  3. Estimate cost, then confirm with the user if the run is large. See references/gotchas.md.
  4. Run the Actor and read the dataset. Deliver rows as JSON or CSV, or hand back the dataset link.
  5. Post-process. Filter Asset_Type_Code for stock-only rows, Transaction_Type for purchases or sales, and dedupe across runs on id.

Inputs

  • First_Name (string): member first name, case-insensitive partial match
  • Last_Name (string): member last name, case-insensitive partial match
  • Stock_Symbol (string): ticker filter, for example AAPL or NVDA, partial match
  • Start_Date and End_Date (string, YYYY-MM-DD): inclusive transaction date range
  • Date_Reported (string, YYYY-MM-DD): exact transaction date, use the range instead for most queries
  • Max_Results (integer, 1 to 1000, default 100): cap on rows returned

Cost

Billing is per transaction returned plus a small per-run start fee. A 100-row member query is about $0.19 on the free tier; a full 1000-row pull is about $1.91. Volume tiers lower the per-transaction price. Estimate first and confirm large runs; live prices are in references/gotchas.md.

Honest limits

  • Filings trail the actual trades by 30 to 45 days (the STOCK Act reporting deadline), so this is a research dataset, not a live feed.
  • Amount_Range is a bracket exactly as filed; no exact dollar values exist anywhere in the source.
  • Ticker is blank for unlisted assets (private funds, real estate, treasuries).
  • Asset_Type_Code carries more codes than the common ST, OP, MF, BD, ET, CT set; treat it as an open vocabulary.
  • Rows where PDF_Quality is "image" came from scanned filings read by OCR; spot-check those against the source PDF via Filing_ID when a number matters.
  • This skill collects public disclosure records. It does not evaluate, recommend, or time trades.

Troubleshooting

  • Empty dataset: check the name spelling (partial match still needs the right letters), widen the date range, or drop the ticker filter.
  • Fewer rows than Max_Results: normal; the filters matched fewer filings.
  • A member seems missing: very recent trades may simply not be filed yet; the deadline is 30 to 45 days.
  • Odd rows for a common last name: partial matching can catch multiple members; add First_Name.

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

Related financial-data Actors

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.