---
title: "Returns trades disclosed by U.S. members of Congress under the STOCK Act (Senate eFD and House Clerk Periodic Transaction Reports). The same filings are published free as news at https://keyvex.com/disclosures under 5 U.S.C. § 13107(c)."
method: GET
path: "/v1/congressional-trades"
---

# Returns trades disclosed by U.S. members of Congress under the STOCK Act (Senate eFD and House Clerk Periodic Transaction Reports). The same filings are published free as news at https://keyvex.com/disclosures under 5 U.S.C. § 13107(c).

`GET /v1/congressional-trades`

## Request

- Base URL: `https://api.keyvex.com`
- URL: `https://api.keyvex.com/v1/congressional-trades`
- Auth: API key in header `x-api-key`

Returns trade records disclosed by U.S. members of Congress under the STOCK Act — Senate eFD and House Clerk Periodic Transaction Reports (PTRs). Each record is one disclosed transaction by a member or their immediate family.  The same filings are published free as news at https://keyvex.com/disclosures under 5 U.S.C. § 13107(c).  Use this when the user asks about: who in Congress traded a specific stock, what trades a specific member made, recent congressional trading activity, or filings within a date range.  Important: This data is *disclosed* trades, with reporting lag up to 45 days. The disclosure_date is when the public could first see the trade; the transaction_date is when the trade actually happened. For 'what did Congress just disclose buying' questions, sort by disclosure_date. For 'what did Congress hold around a specific market event', filter by transaction_date.  Each amount is a range like '$1,001 - $15,000' (Senate filers report ranges, not exact amounts). The amount_min and amount_max fields parse those bounds for filtering. STOCK Act allows reporting in 11 standard ranges from $1,001 up to over $50,000,000.  Each record's party is the party the member held on the date of the record (a trade's transaction date, a disclosure's filing date); for a date outside the member's terms in office, the party of their nearest term (the last one before that date, or the first one after it).

## Query parameters

- `ticker` string
- `member_name` string
- `bioguide_id` string
- `chamber` 'senate' | 'house'
- `transaction_type` 'buy' | 'sell' | 'exchange'
- `owner` 'Self' | 'Spouse' | 'Joint' | 'Dependent'
- `since` string
- `until` string
- `min_amount` number
- `sort_by` 'disclosure_date' | 'transaction_date'
- `sort_order` 'desc' | 'asc'
- `limit` integer
- `cursor` string
- `amendment_status` 'original' | 'amendment' | 'unknown'
- `exclude_superseded` boolean
- `include_non_open_market` boolean

## Response `200`

JSON envelope: { results: [...], count, has_more }.

## Other responses

- `400`: Invalid parameter.
- `401`: Missing or invalid API key.
- `402`: This tool requires a higher plan (upgrade_required). Retrying will not help.
- `429`: Tier rate/quota limit reached (rate_limited). Retry-After points at the reset.

---

[API](https://skmtc.dev/keyvex/apis/keyvex-api.md) · [All operations](https://skmtc.dev/keyvex/apis/keyvex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/keyvex/apis/keyvex-api/revisions/01c0210c19cd?raw)
