Pushbuild

Congress Stock Trades API: House & Senate STOCK Act Disclosures

Stock trades disclosed by US House members and Senators under the STOCK Act: one row per transaction with member, ticker, asset, purchase or sale, amount range, transaction date, filing date and disclosure lag, from official House and Senate filings.

$0.80 per 1,000 transactions

Get an API key

What it returns

Stock and other securities trades disclosed by members of the US House of Representatives and the US Senate in their Periodic Transaction Reports (PTRs), filed under the STOCK Act. One row per transaction, read straight from the official filings: - **House**: the Clerk of the House financial disclosure index and each electronically filed PTR (PDF). - **Senate**: the Senate Electronic Financial Disclosure (eFD) system.

| field | meaning |. |---|---|. | `chamber`, `member`, `state`, `stateDistrict` | who filed (House rows carry state and district) |. | `filedDate` | the date the report was filed: the first day the public could know about the trade |. | `transactionDate` | trade date as reported |. | `notificationDate` | House only: when the member was notified of the trade |. | `disclosureLagDays` | days from the trade to the filing |. | `owner` | Self, Spouse, Joint, Dependent Child (Senate: as reported) |. | `ticker`, `asset`, `assetType` | ticker when the filing lists one; House asset type codes (ST stock, GS government security, OP option, ..) |. | `type` | Purchase, Sale, Sale (Partial), Exchange |. | `amount`, `amountMin`, `amountMax` | the disclosed range, e.g. $1,001 - $15,000, with numeric bounds |. | `filingStatus`, `description`, `subholdingOf`, `comment` | extra lines from the filing when present |. | `filingId`, `reportUrl` | the official filing and a link to it |. Paper reports that were filed as scans have no machine-readable transactions. They appear as one `recordType: "filing"` row with the member, filing date and link, so you still know a trade report exists. Set `tradesOnly` to leave them out.

Request

POST https://api.pushbuild.com/congress-stock-trades/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
chamberstring: both, house, senateWhich chamber's periodic transaction reports to read. Default: "both".
daysintegerReports filed in the last N days (ignored when fromDate is set). Default: 30.
fromDatestringFirst filing date to include, 2013-01-01 or later. Optional.
toDatestringLast filing date to include. Defaults to today.
memberslist of stringsOnly these members: any part of the name, e.g. Pelosi, Tuberville. Empty for everyone.
tickerslist of stringsOnly transactions in these tickers, e.g. NVDA, MSFT. Empty for all.
tradesOnlybooleanLeave out filing-level rows for scanned paper reports that have no machine-readable transactions. Default: false.
maxFilingsintegerNewest reports first; each report holds one or more transactions. Default: 100.
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/congress-stock-trades/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.80 per 1,000 transactions. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.