Quiver Quant APIapi.quiverquant.com ↗
Access U.S. Congress member stock trade disclosures via 3 endpoints. Query recent trades, politician-specific history, or all trades for a given ticker symbol.
What is the Quiver Quant API?
The Quiver Quant Congressional Trades API exposes 3 endpoints covering stock trade disclosures filed by U.S. House and Senate members. The get_recent_trades endpoint returns the latest filings sorted by disclosure date, while get_politician_trades and get_stock_trades let you slice the same data by individual legislator or ticker symbol. Each trade record includes transaction type, size range, sector, asset type, and an estimated excess return since the trade date.
curl -X GET 'https://api.parse.bot/scraper/e65d209a-d562-4191-9c02-8704ac65b361/get_recent_trades?limit=10' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace api-quiverquant-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: QuiverQuant Congress Trading SDK — track politicians' stock trades."""
from parse_apis.api_quiverquant_com_api import QuiverQuant, NotFound
client = QuiverQuant()
# Browse the most recent congressional stock trades.
for trade in client.congresses.recent_trades(limit=5):
print(trade.ticker, trade.transaction, trade.politician, trade.trade_size)
# Drill into a specific politician's full trade history.
pelosi = client.politician(name="Nancy Pelosi-P000197")
for t in pelosi.trades(limit=3):
print(t.ticker, t.company, t.transaction, t.trade_size, t.sector)
# Look up which politicians have traded a specific stock.
aapl = client.stock(ticker="AAPL")
first_trade = aapl.trades(limit=1).first()
if first_trade:
print(first_trade.politician, first_trade.transaction, first_trade.filed_date)
# Handle a not-found politician gracefully.
try:
bad = client.politician(name="Unknown Person-X000000")
bad.trades(limit=1).first()
except NotFound as exc:
print(f"Not found: {exc}")
print("exercised: congresses.recent_trades / politician.trades / stock.trades")
Returns the most recently disclosed stock trades by U.S. Congress members (both House and Senate). Trades are ordered by filing date descending. Each trade includes the ticker, transaction type, size range, politician details, and estimated excess return since the transaction.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of trades to return. |
{
"type": "object",
"fields": {
"total": "integer",
"trades": "array of trade objects"
},
"sample": {
"total": 10,
"trades": [
{
"party": "D",
"ticker": "AAPL",
"chamber": "House",
"company": "APPLE INC. - COMMON STOCK",
"trade_id": "House-C001123-2552",
"filed_date": "2026-07-02",
"politician": "Gilbert Ray Cisneros, Jr.",
"trade_size": "$1,001 - $15,000",
"bioguide_id": "C001123",
"description": "-",
"ticker_type": "ST",
"traded_date": "2026-06-05",
"transaction": "Purchase",
"excess_return": -0.589
}
]
}
}About the Quiver Quant API
What the API covers
All three endpoints draw from the public stock trading disclosures that U.S. Congress members are required to file under the STOCK Act. Records include fields such as ticker, transaction_type, size (a dollar range), filing_date, trade_date, sector, asset_type, and excess_return — the estimated return relative to the market since the reported transaction date. Politician metadata (name and BioGuide ID) is present on every trade object.
Endpoint details
get_recent_trades returns trades across all members ordered by filing_date descending. An optional limit integer caps the result set. Use this endpoint to monitor the disclosure feed as new filings arrive. get_politician_trades narrows the result to a single Congress member using the politician parameter, which expects the format Full Name-BioguideID (e.g. Nancy Pelosi-P000197). The response includes the matched politician string alongside the trades array and a total count. get_stock_trades accepts a case-insensitive ticker symbol and returns every disclosed congressional trade in that security, echoing the resolved ticker in the response alongside total and the trades array.
Response shape
Every endpoint returns a consistent envelope: a total integer indicating how many records match, and a trades array of objects. Trade objects carry filing and trade dates separately, allowing you to measure the gap between when a transaction occurred and when it was disclosed. The excess_return field gives a quantitative signal on each trade's performance relative to a market baseline since the transaction date.
The Quiver Quant API is a managed, monitored endpoint for api.quiverquant.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when api.quiverquant.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official api.quiverquant.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a dashboard tracking the latest congressional stock disclosures using
get_recent_tradessorted by filing date - Analyze a specific legislator's full trading history — sector breakdown, asset types, and excess returns — via
get_politician_trades - Check which Congress members have bought or sold a given ticker using
get_stock_tradesbefore publishing a stock research note - Compare the disclosure lag (difference between
trade_dateandfiling_date) across politicians to flag delayed filings - Screen for congressional trades in a specific sector by filtering trade objects on the
sectorfield across recent filings - Correlate trading activity with committee assignments by pairing BioGuide IDs from politician trades with external legislative data
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Quiver Quantitative offer an official developer API?+
What does the `politician` parameter in `get_politician_trades` expect, and where do I find the BioGuide ID?+
Full Name-BioguideID, for example Dan Crenshaw-C001120. The BioGuide ID is the unique identifier assigned to each Congress member by the U.S. Congress Biographical Directory (bioguide.congress.gov). The endpoint returns a politician string in the response confirming how the lookup resolved.How fresh is the trade data, and does the API include trades that haven't yet been publicly disclosed?+
filing_date field on each record shows when the disclosure was submitted.Does the API cover Senate trades separately from House trades?+
Does the API expose historical data on congressional stock options, bonds, or non-equity assets?+
asset_type field on each trade object distinguishes between equities and other asset classes present in the disclosures. However, dedicated endpoints for filtering exclusively by asset type (e.g. options-only or bond-only queries) are not currently part of this API. You can fork it on Parse and revise to add an asset-type-specific endpoint.