Skip to content

Senate Trades API

Retrieve trading activity from US Senators disclosed under the STOCK Act. Track congressional purchases and sales for any ticker.

GET /v2/congress/senate/{symbol}

The API supports multiple authentication methods:

MethodExample
Bearer token (recommended)Authorization: Bearer YOUR_API_KEY
X-API-Key headerX-API-Key: YOUR_API_KEY
Query parameter?apiKey=YOUR_API_KEY
Legacy query parameter?token=YOUR_API_KEY
ParameterTypeRequiredDescription
symbolstringYesStock ticker symbol (e.g., AAPL, META)
ParameterTypeRequiredDescription
startDatestringNoStart date (YYYY-MM-DD)
endDatestringNoEnd date (YYYY-MM-DD)
limitintegerNoMaximum number of results to return
from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.senate_trades.ticker("NVDA",
date_from="2025-01-01",
date_to="2025-06-30",
as_dataframe=True)
print(df)
{
"success": true,
"data": {
"symbol": "AAPL",
"name": "Apple Inc.",
"chamber": "senate",
"trades": [
{
"date": "2025-12-29",
"politician": "Markwayne Mullin",
"transactionType": "Purchase",
"amount": "$100,001 - $250,000"
}
]
},
"meta": {
"timestamp": "2026-01-19T15:06:32.116Z"
}
}
FieldTypeDescription
successbooleanWhether the request was successful
data.symbolstringStock ticker symbol
data.namestringCompany name
data.chamberstringCongressional chamber (senate)
data.tradesarrayArray of trade objects
meta.timestampstringResponse timestamp (ISO 8601)
FieldTypeDescription
datestringTransaction date (YYYY-MM-DD)
politicianstringName of senator
transactionTypestringTransaction type (Purchase or Sale)
amountstringTransaction amount (exact value or range)
RangeMinMax
$1,001 - $15,000$1,001$15,000
$15,001 - $50,000$15,001$50,000
$50,001 - $100,000$50,001$100,000
$100,001 - $250,000$100,001$250,000
$250,001 - $500,000$250,001$500,000
$500,001 - $1,000,000$500,001$1,000,000
$1,000,001 - $5,000,000$1,000,001$5,000,000
Over $5,000,000$5,000,001N/A
CodeErrorDescription
400Bad RequestInvalid symbol
401UnauthorizedInvalid or missing API key
403ForbiddenAuthenticated, but not authorized to access this resource
404Not FoundTicker not found
429Too Many RequestsRate limit exceeded — wait and retry
500Internal Server ErrorServer-side error