Congress Financial Disclosures API
US congressional financial disclosure and stock trading data, searchable by member name, exact report date, date range or ticker symbol. Each record is one disclosed transaction, filed under the STOCK Act and published by the House and Senate.
RECORDS17
MEDIAN LAGon demand
PARAMETERS7
TOTAL USERS209
MONTHLY ACTIVE50
TOTAL RUNS4,898
SUCCESS (30D)100.0%
RATINGno ratings yet
LAST MODIFIED2026-07-31
PUBLISHED2025-09
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| First_Name | string | no | — | Member's first name; case-insensitive partial match |
| Last_Name | string | no | — | Member's last name; case-insensitive partial match |
| Stock_Symbol | string | no | — | Ticker, e.g. AAPL, MSFT, NVDA; case-insensitive partial match |
| Start_Date | date | no | — | Earliest transaction date, inclusive, YYYY-MM-DD |
| End_Date | date | no | — | Latest transaction date, inclusive, YYYY-MM-DD |
| Date_Reported | date | no | — | Exact transaction date. Use Start_Date and End_Date for a range instead. |
| Max_Results | integer | no | 100 | 1–1000 records per run — drives your bill |
Worked examples
{ "Max_Results": 100 }
{
"Last_Name": "Pelosi",
"Start_Date": "2024-01-01",
"End_Date": "2024-12-31"
}
{
"Stock_Symbol": "NVDA",
"Start_Date": "2024-01-01"
}
{
"Start_Date": "2024-03-01",
"End_Date": "2024-03-31",
"Max_Results": 1000
}
POWER-USER TIP
Filing date and transaction date are not the same — Members have up to 45 days to disclose, so a transaction dated in March may not surface until May. Date filters here run on the transaction date — if you are studying disclosure lag, pull a wide range and compare the two dates rather than assuming recency.
Coverage
4
search axes — member name · ticker · exact date · date range
2
chambers — House and Senate
1,000
max records per run — paginate with date ranges for more
Tasks
Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.
Code
curl
curl -X POST "https://api.apify.com/v2/acts/johnvc~us-congress-financial-disclosures-and-stock-trading-data/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"Stock_Symbol":"NVDA","Start_Date":"2024-01-01","Max_Results":500}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/us-congress-financial-disclosures-and-stock-trading-data").call(
run_input={"Last_Name": "Pelosi", "Start_Date": "2024-01-01", "End_Date": "2024-12-31"}
)
for tx in client.dataset(run.default_dataset_id).iterate_items():
print(tx.get("date_reported"), tx.get("ticker"), tx.get("transaction_type"))
What people use it for
- Tracking congressional trades around legislation
- Building a political-trading signal feed
- Journalism and transparency reporting
- Conflict-of-interest research
- Backtesting disclosure-driven strategies
- Monitoring a specific ticker for political activity