ArkolithDataCongressional trades
STOCK Act PTRs · US House · parsed from the source PDFs

What Congress is trading, as an API

41,367 parsed trade line items from 8,290 STOCK Act disclosures across 419 members: buy/sell, disclosed amount range, trade and notification dates, self/spouse owner. The disclosures are PDFs behind a daily index; there is no official API. We parse them so your agent can query them.

Get a free API key Read quickstartCompare plans500 evaluation credits to start · paid starts at $29/mo
Parsed trades
41,367
Disclosures
8,290
Members
419

Live demo: congressional net buying, last 90 days

Tickers members are net-buying, by disclosed amount-range midpoint, straight off this API (congress.trades).

#TickerNet bought
1
AESI
$14.8M
2
INTC
$3.0M
3
UBER
$742K
4
XOM
$310K
5
SPCX
$231K
6
HONAV
$140K
7
HUBB
$105K
8
T
$99K
9
BWXT
$81K
10
BEP
$81K

Values are amount-range midpoints. The STOCK Act discloses buckets, not exact sizes. Every figure traces to the member's filed PTR via provenance.get.

Build it yourself vs. one key

What congressional trade data actually takes to acquire and keep clean

The trapped partDIY from the sourceWith Arkolith
PDFs, not dataHouse disclosures are PDFs behind a daily XML index; Senate adds a session gate and scanned images needing OCR.Parsed line items: member, ticker, side, amount range, dates, owner.
No incumbent APIThere is no official STOCK Act API. You build the scraper, the parser, and the retry logic, then maintain them forever.congress.trades: query by member or ticker, today.
NormalizationFree-text asset names → tickers, amount buckets → comparable values, self vs spouse vs dependent ownership.Tickers resolved, ranges normalized, owner classified, joinable against 13F and Form 4.
The cross-source joinThe real signal is agreement: Congress AND insiders AND funds on the same name. That is three pipelines to build.signal.confluence joins all three legs in one call.

The tools your agent gets

Live from the MCP catalog, also available as REST endpoints

5 tools
congress.disclosures.listfree

List the US House financial-disclosure filing INDEX for a year (STOCK Act). filingType 'P' = Periodic Transaction Report (stock trades). Returns one row per filing with a link to the source PDF — this is the index, NOT parsed trades. Parsed line-items (member, ticker, buy/sell, amount range) are available via congress.trades (US House live; Senate being added). Public-domain US House Clerk data.

congress.member.searchfree

Find US House representatives who filed financial disclosures in a year, by name (filing index — parsed trades available via congress.trades, US House live; Senate being added).

congress.tradesfree

Parsed STOCK Act transaction line-items: actual congressional stock trades by ticker or by member — buy/sell, the disclosed amount range, trade + notification dates, and owner (self/spouse). Each row links to its source PTR PDF. US House (e-filed) is live; Senate is being added. Pass `ticker` OR `member`.

signal.crowding5 cr

Cross-fund 'smart money' consensus from every tracked fund's latest 13F: the securities the MOST funds are collectively holding (mode='held'), buying this quarter (mode='bought' — NEW/ADDED cluster-buys), or selling (mode='sold' — REDUCED). The inverse of stock.owners: surfaces WHAT to look at, ranked by how many funds agree.

signal.confluence10 cr

The moat join — where do informed INSIDERS (Form 4 open-market buys), institutional SMART MONEY (13F cluster-buys), and CONGRESS (US House STOCK Act trades) AGREE? Pass a `ticker` for all three legs on one name (insider + fund + congress net buy/sell + a verdict that escalates to triple_confluence_buy when all three are buying). Omit `ticker` for the market-wide ranked list — insider×fund names, surfaced first when Congress is buying too (triple_confluence). Joined on ticker — never a fuzzy name match. Each leg carries source provenance; congress $ are amount-range midpoints (approximate).

Every datapoint traced to its source

provenance.get: anti-hallucination grounding for agents

Any figure your agent quotes can be traced to the primary source: the origin URL, the fetch timestamp, and the parser version that produced it. Your agent cites the filing. It doesn't hallucinate one. That audit trail is first-class on every tool, REST and MCP.

> provenance.get { datapoint: "congress:2026-PTR-..." }
{
  "source_url": "https://disclosures-clerk.house.gov/...",
  "fetched_at": "2026-06-05T09:30:14Z",
  "parser": "congress-ptr v1.3.2",
  "license": "public domain (US House Clerk)"
}

Query every congressional trade from your agent in 60 seconds

Mint a key, add one line to Claude Code (or any MCP client), and your agent can answer money questions against the live dataset. Metered per call, with a one-time grant of 500 evaluation credits to verify the data first.

Get a free API key Read quickstartCompare plans500 evaluation credits to start · paid starts at $29/mo
Claude Code
claude mcp add --transport http arkolith \
  https://arkolith.com/api/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

REST too: curl -H "Authorization: Bearer KEY" https://arkolith.com/api/v1/… · full docs