# Congress Trades API (`russet_flea/congress-trades-api`) Actor

Every disclosed U.S. House and Senate stock trade from official STOCK Act filings, exported to a structured dataset. Includes per-trade performance: price at the trade versus latest, and percent move since. Filter by ticker, member, chamber, transaction type, and date.

- **URL**: https://apify.com/russet\_flea/congress-trades-api.md
- **Developed by:** [Ankur Arora](https://apify.com/russet_flea) (community)
- **Categories:** News
- **Stats:** 1 total users, 1 monthly users, 57.1% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Congress Trades API

Every disclosed U.S. House and Senate stock trade from official STOCK Act filings, exported to an Apify dataset. Unlike other free trackers, each row carries **per-trade performance**: the price at the trade versus the latest price, and the percent move since. Filter Periodic Transaction Reports by ticker, member, chamber, transaction type, and transaction date, then download the results as JSON, CSV, Excel, XML, or RSS.

Data is provided by the [Bargo Congress Trades API](https://www.bargo.ai/free-apis/congress), a free JSON REST and MCP service built from official House Clerk and Senate eFD disclosures.

This is an independent, unofficial data service. It is not affiliated with or endorsed by the U.S. House of Representatives, the U.S. Senate, or any member of Congress.

### What this Actor returns

Each dataset row can include:

- Member, chamber, state, and party
- Ticker and asset description
- Purchase, sale, or exchange classification
- Disclosed transaction-value range
- Transaction and disclosure dates
- Estimated transaction price and latest tracked price
- Performance since the disclosed transaction, when available

### Input

| Field | Description | Default |
| --- | --- | --- |
| `apiKey` | Free Bargo API key. Raises the daily row budget from 100 to 1,000 | None |
| `ticker` | One stock symbol such as `NVDA` | All tickers |
| `member` | Partial member-name match such as `Pelosi` | All members |
| `chamber` | `all`, `house`, or `senate` | `all` |
| `transactionType` | `all`, `purchase`, `sale`, or `exchange` | `all` |
| `fromDate` | Earliest transaction date (`YYYY-MM-DD`) | No lower bound |
| `toDate` | Latest transaction date (`YYYY-MM-DD`) | No upper bound |
| `maxItems` | Maximum dataset rows, clamped to the daily row budget | `100` |

Example:

```json
{
  "apiKey": "your-free-key",
  "ticker": "NVDA",
  "chamber": "all",
  "transactionType": "purchase",
  "fromDate": "2026-01-01",
  "maxItems": 500
}
```

### Rate limits and the free API key

The upstream Bargo Congress Trades API is free, with two tiers:

| Tier | Requests/day | Rows/day |
| --- | --- | --- |
| Keyless | 30 | 100, shared per IP |
| Free key | 100 | 1,000, yours alone |

Actor runs leave from shared Apify datacenter addresses, so a keyless run draws on a
budget it shares with every other keyless caller on that address and is frequently
truncated. Get a free key at [bargo.ai/free-apis/dash](https://www.bargo.ai/free-apis/dash)
and pass it as `apiKey`.

When the budget runs out mid-run, the Actor stops cleanly and keeps the rows it already
collected; the run's `SUMMARY` record reports `rateLimited` and `stopReason`. Budgets
reset at 00:00 UTC.

### Important timing caveat

This is disclosure data, not a real-time trade feed. Members of Congress may report securities transactions weeks after execution, with a legal reporting window of up to approximately 45 days. Use `disclosure_date` to track newly filed reports and `transaction_date` to understand when the reported transaction occurred.

### API and data provenance

The Actor calls Bargo's Congress Trades API. The canonical REST endpoint is `GET https://www.bargo.ai/free-apis/congress/v1/trades`; Actor runs use Bargo's direct Cloudflare Worker route for reliable server-to-server access. Bargo normalizes U.S. House and Senate Periodic Transaction Reports, maps symbols where possible, and calculates optional price-performance fields. Missing values are omitted rather than estimated.

Every output row includes a visible link to the Bargo source page and the relevant official House or Senate filing portal.

This Actor is read-only and does not place trades. The data is informational and is not investment advice.

### Privacy

The Actor requires no account credentials. The optional `apiKey` is stored as a secret
input and is sent only to the Bargo Congress Trades API. Input filters and output rows are stored in the Apify run's standard storages according to the retention and access settings on your Apify account.

# Actor input Schema

## `apiKey` (type: `string`):

Optional free API key from https://www.bargo.ai/free-apis/dash. Without a key the upstream quota is 100 rows/day shared across every keyless caller on the same IP, so runs are often truncated. A free key raises the budget to 1,000 rows/day for you alone.

## `ticker` (type: `string`):

Optional stock symbol, for example NVDA. Leave empty for all tickers.

## `member` (type: `string`):

Optional partial name match, for example Pelosi or Tuberville.

## `chamber` (type: `string`):

Return disclosures from both chambers, the House, or the Senate.

## `transactionType` (type: `string`):

Filter purchases, sales, exchanges, or return every transaction type.

## `fromDate` (type: `string`):

Optional earliest transaction date in YYYY-MM-DD format.

## `toDate` (type: `string`):

Optional latest transaction date in YYYY-MM-DD format.

## `maxItems` (type: `integer`):

Maximum number of disclosure rows to save to the dataset. Clamped to the daily row budget: 100 without an API key, 1,000 with one.

## Actor input object example

```json
{
  "ticker": "",
  "member": "",
  "chamber": "all",
  "transactionType": "all",
  "fromDate": "",
  "toDate": "",
  "maxItems": 100
}
```

# Actor output Schema

## `results` (type: `string`):

Matching U.S. House and Senate securities transactions.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("russet_flea/congress-trades-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("russet_flea/congress-trades-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call russet_flea/congress-trades-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=russet_flea/congress-trades-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/paYS32d8gPzzfH5Gu/builds/WzcNeVgiXhHFSQsVJ/openapi.json
