QuantCapitol. Congressional Trading Intelligence

Updated 2026-11-05 00:32 UTC · Public disclosure record

Premium API Pull the data into your own code

Premium members get a read-only API over the scored trade feed and the full score breakdown — for research, backtesting, or piping into your own tools — plus bulk downloads (CSV / JSON / Parquet), a drop-in Python SDK, and free reference datasets. Here's how it works.

Authentication

Every request needs your API key, which you generate from your account. Send it in the header:

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://quantcapitol.com/api/v1/trades?min_score=90"

If your client or our host strips the Authorization header, use the X-Api-Key header instead, or the ?key=YOUR_KEY query parameter — all three work:

curl -H "X-Api-Key: YOUR_KEY" "https://quantcapitol.com/api/v1/trades.php?min_score=90"
curl "https://quantcapitol.com/api/v1/trades.php?key=YOUR_KEY&min_score=90"

Keys are tied to active premium membership.

Rate limits

1,000 requests per hour per key. Every response includes X-RateLimit-Remaining so you can pace your calls. Exceed it and you'll get a 429 until the next hour.

GET /api/v1/trades

The scored trade feed. Optional filters:

{
  "data": [
    {
      "transaction_date": "2026-08-11",
      "pol_name": "…",
      "ticker": "NVDA",
      "transaction_type": "BUY",
      "amount_display": "$1K–$15K",
      "interest_score": 98,
      "sector": "Technology"
      // …
    }
  ],
  "meta": { "total": 143, "limit": 100, "offset": 0, "returned": 100 }
}

GET /api/v1/scores

The full per-trade score breakdown — every sub-component (recency, size, unusual, consensus, historical) behind the final interest score. Same filters as /trades (min_score, ticker, limit, offset). This is the raw calibration data, for those who want to see exactly how the number is built.

Enriched endpoints — computed analysis

Beyond the raw feed, these serve ready-made analysis so you don't have to aggregate it yourself:

Every row on /trades also carries a compact ins field when corporate insiders traded that ticker nearby — {"d": "convergence|divergence", "s": "strong|moderate|weak", "n": <insiders>} — so you get the overlap inline without a second call.

curl -H "X-Api-Key: YOUR_KEY" \
  "https://quantcapitol.com/api/v1/politicians.php?slug=nancy-pelosi"

Python SDK

A tiny, dependency-free client (standard library only — pandas optional). Download quantcapitol.py, drop it next to your code, and:

from quantcapitol import QuantCapitol

qc = QuantCapitol("YOUR_KEY")

# Highest-interest trades as a list of dicts
for t in qc.trades(min_score=90, limit=20):
    print(t["transaction_date"], t["pol_name"], t["ticker"], t["interest_score"])

# Page through the entire matching history, lazily
n = sum(1 for _ in qc.iter_trades(min_score=80))

# As a pandas DataFrame (pip install pandas)
df = qc.trades_df(ticker="NVDA")

It handles auth, paging and retry/back-off on rate limits for you. Methods: trades(), iter_trades(), scores(), politicians(), clusters(), sectors(), and the *_df pandas helpers.

Bulk downloads

For a full snapshot rather than paged calls, premium members can download the complete trade history in one file — ideal for loading into a notebook or a data warehouse:

These are gated to your logged-in premium session (not the API key). Parquet needs no client library server-side; it's pre-built each day.

Reference data — free

The mapping tables behind the analysis are public, so you can resolve tickers and committees cleanly in your own pipeline without a key:

Both refresh with each build. The trade feed itself stays premium.

Fair use & honesty

The interest score is our own ex-ante ranking — an attention filter, not a return forecast (see Does it work?). The data is derived from official House and Senate disclosures. Not investment advice. Please don't hammer the API or redistribute the raw feed wholesale — it's for your own research.

Ready to start? Generate an API key →

About this data. Sourced from official House Clerk and Senate eFD financial disclosures (Senate via a maintained community mirror — see project documentation). Transaction amounts are reported as ranges, not exact figures. Interest scores, consensus labels, and backtested performance are proprietary analytical calculations based on public data and are not investment advice. Backtested performance is a hypothetical simulation, not actual portfolio performance.