Congress Stock Trades Data API avatar

Congress Stock Trades Data API

Pricing

from $8.00 / 1,000 congress trade rows

Go to Apify Store
Congress Stock Trades Data API

Congress Stock Trades Data API

Query US House and Senate STOCK Act stock trades as structured rows for MCP and APIs. Filter by politician, ticker, chamber, date range, and buy/sell. $0.008 per trade row.

Pricing

from $8.00 / 1,000 congress trade rows

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

16 hours ago

Last modified

Share

Turn a politician name, ticker, chamber, or date window into one STOCK Act trade disclosure row each. This Actor returns structured US House and Senate disclosures for MCP agents, journalists, compliance teams, and researchers: politician, party when available, ticker, asset, buy/sell, amount range, dates, and a public source URL.

Use it when you want a filter-first Congress trades feed across both chambers. For official House Clerk PTR PDFs only, start with US Stock Trades — House STOCK Act. For live quotes after you have tickers, continue with Stock Price Tracker.

Use when

  • You need recently disclosed House and Senate equity or other reportable transactions as clean JSON rows.
  • You already know a member such as Kean or a ticker such as MIDD and want matching rows plus provenance without maintaining a multi-site disclosure scraper.
  • An MCP or research workflow needs delayed STOCK Act disclosures from both chambers in one call.

Practical scenario

A political-risk analyst wants the newest Senate disclosures. They set chamber to Senate, leave other filters empty, and cap maxResults at 5. The Actor loads the public recent Congress trading feed, keeps Senate rows, and returns politician, ticker when present, transactionType, amountRange, dates, and sourceUrl. A date window with no matching trades finishes SUCCEEDED with VALID_EMPTY and no trade-row charge.

Quick start input

{
"maxResults": 8,
"chamber": "all",
"transactionType": "all",
"enrichDetail": false
}

That prefill returns up to eight newest public House and Senate disclosure rows. Add tickers, politicianNames, or dates when you already know the symbol, member, or window.

Input reference

FieldTypeWhat it controls
politicianNamesarrayOptional member name filters such as Kean. Empty means any filer in the recent feed.
tickersarrayOptional symbols such as MIDD or AAPL. Empty means every disclosed symbol.
chamberenumall, House, or Senate.
transactionTypeenumall, purchase, sale, or exchange. Partial sales stay inside sale.
startDate / endDatestringInclusive YYYY-MM-DD bounds on transaction dates.
maxResultsintegerBilled row cap. Default 25, max 200.
enrichDetailbooleanWhen true with politician or ticker filters, also load matching public politician or ticker pages for deeper history.

What data you receive

One dataset item is one disclosed STOCK Act transaction from the public Congress trading feed.

{
"recordId": "house-k000398-185|amcr|sale|2026-08-10|$1,001---$15,000",
"politicianName": "Thomas H. Kean, Jr.",
"chamber": "House",
"party": "R",
"bioguideId": "K000398",
"ticker": "AMCR",
"assetName": "AMCOR PLC ORDINARY SHARES",
"assetType": "ST",
"transactionType": "sale",
"amountRange": "$1,001 - $15,000",
"amountMinUsd": 1001,
"amountMaxUsd": 15000,
"amountMidUsd": 8001,
"transactionDate": "2026-08-10",
"disclosureDate": "2026-09-12",
"disclosureDelayDays": 33,
"lateFiling": false,
"sourceId": "House-K000398-185",
"sourceUrl": "https://www.quiverquant.com/congresstrading/",
"source": "quiverquant-congress-trading",
"scrapedAt": "2026-09-15T12:00:00.000Z"
}
FieldMeaning
politicianName + chamber + partyFiler identity and chamber; party when the public source exposes it
ticker + assetNameSymbol when listed, plus the asset description
transactionTypepurchase, partial-purchase, sale, partial-sale, or exchange
amountRangeSTOCK Act band, not an exact fill price
transactionDate / disclosureDateTrade date and disclosure date as YYYY-MM-DD
sourceUrlPublic provenance page used for the row

OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, and chargedEventCounts.

Use through the API

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~congress-stock-trades-data-api/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"maxResults":8,"chamber":"all","transactionType":"all"}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/congress-stock-trades-data-api').call({
maxResults: 8,
chamber: 'all',
transactionType: 'all',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Download rows as JSON, CSV, Excel, or HTML from the Dataset tab.

Use with AI agents through Apify MCP

Get the newest US Congress STOCK Act stock trades for both House and Senate. Return politicianName, chamber, ticker, transactionType, transactionDate, amountRange, and sourceUrl. Cap at eight rows.

Connect via https://mcp.apify.com. Read OUTPUT.outcome before retrying an empty dataset. Cost signal: $0.008 per saved trade plus platform usage. Scope is delayed public disclosures; live exchange tape stays outside this tool.

Connect the workflow

Pricing

This Actor uses Pay per event plus Apify platform usage. The live Pricing tab is the current source of truth for billing details.

  • apify-actor-start: $0.00005 at start
  • trade-row: $0.008 per saved Congress disclosure row

Worked example: a one-trade lookup bills $0.00805 in events ($0.008 + start). A short HTTP job usually adds a few tenths of a millidollar of platform usage, so the customer total stays near $0.0083 with usage pass-through. Eight billed trades are $0.06405 in events plus the same short job. Empty matches and invalid input have no trade-row charge.

How it works

  • Load the public Quiver Quantitative Congress trading page and parse the embedded recent-trades table.
  • Optionally enrich matching politician or ticker pages when enrichDetail is on.
  • Apply politician, ticker, chamber, date, and transaction filters, then cap with maxResults.
  • Charge trade-row only after a validated row is ready, then write the dataset item.

Best results

  • Leave filters empty when you want the latest disclosures; add a ticker or politician only when you can accept a VALID_EMPTY miss in a narrow window.
  • Keep enrichDetail off for fast MCP calls. Turn it on when you need deeper history for a known member or symbol that appears in the recent feed.
  • Amounts are statutory ranges. amountMidUsd is a convenience midpoint, not a fill price.
  • Date filters apply to transaction dates, not disclosure filing dates.

Troubleshooting

SymptomLikely causeWhat to do
VALID_EMPTY, zero rowsNo matching ticker, member, chamber, or date in the loaded pagesClear filters, widen the date window, or enable enrichDetail for a known member/ticker
Fewer rows than maxResultsThe recent feed simply has fewer matching tradesRaise maxResults only after confirming matches exist, or clear filters
Politician enrich stays emptyThe member is outside the recent feed, so no bioguide URL can be resolvedRun without enrich first, or use a member visible in the newest disclosures
INVALID_INPUTBad date order or invalid tickersUse YYYY-MM-DD with start ≤ end, and real symbols such as AAPL
UPSTREAM_FAILEDPublic feed page unavailableRetry; Residential fallback activates only after direct HTTP does not succeed

Builder's note

I found that official Senate eFD search often returns an edge challenge to plain HTTP clients, while the public Quiver Quantitative Congress trading page embeds a ready House-and-Senate recent-trades table. That is why this SKU is filter-first over that public aggregator, and why official House PTR PDF extraction stays in a separate Actor for callers who need Clerk PDFs.

STOCK Act filings are public legislative records. Quiver Quantitative is an independent third-party aggregator of those disclosures. The US House, US Senate, Clerk of the House, and Quiver Quantitative are named here only as sources. This independent Actor is not affiliated with, associated with, or endorsed by Quiver Quantitative, the US House, the US Senate, or the Clerk of the House. Output is delayed disclosure data for journalism, compliance, and research — not live exchange tape or investment advice. Follow applicable law and your own compliance review.

Issues and feature requests: use the Actor Issues tab on Apify.