# Congress Stock Trades - Politician Financial Disclosures (`pink_comic/congress-stock-trading-disclosures`) Actor

Track US Congress stock trades and financial disclosures. Search House and Senate periodic transaction reports (PTRs) by member name, state, or filing type. Essential for journalists, researchers, compliance teams, and transparency advocates. Official data from House Clerk and Senate eFD.

- **URL**: https://apify.com/pink\_comic/congress-stock-trading-disclosures.md
- **Developed by:** [Ava Torres](https://apify.com/pink_comic) (community)
- **Categories:** News, AI, Automation
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, NaN 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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Stock Trading & Financial Disclosures

Search US Congressional financial disclosure records covering both the **House of Representatives** and **Senate**. Extract actual stock trades -- ticker symbol, buy/sell, amount, transaction date -- directly from PTR filing PDFs.

### What data is included?

- **Stock trades parsed from PTR PDFs** -- individual transactions with ticker, type (Purchase/Sale), amount range, and dates
- **Periodic Transaction Reports (PTRs)** -- stock trades that members must disclose within 45 days
- **Annual Financial Disclosures** -- yearly reports of all assets, income, liabilities, and transactions
- **Amendments** -- corrections and updates to prior filings

Data comes directly from official government sources:
- [House Clerk Financial Disclosures](https://disclosures-clerk.house.gov/FinancialDisclosure)
- [Senate Electronic Financial Disclosures (eFD)](https://efdsearch.senate.gov/search/)

### Output fields

#### Filing-level fields

| Field | Description |
|-------|-------------|
| `memberName` | Name of the Congress member |
| `chamber` | House or Senate |
| `state` | Two-letter state code |
| `district` | Congressional district (House only) |
| `filingYear` | Year of the disclosure |
| `filingType` | P (PTR), O (Original), A (Amendment), etc. |
| `documentUrl` | Direct link to the disclosure PDF |
| `transactions` | Array of individual stock trades (PTR filings only) |

#### Transaction fields (when Parse Stock Trades is enabled)

| Field | Description |
|-------|-------------|
| `ticker` | Stock ticker symbol (e.g., AAPL, MSFT, PANW) |
| `assetName` | Full company/asset name |
| `transactionType` | Purchase, Sale, or Exchange |
| `owner` | Self, Spouse, Joint, or Dependent Child |
| `transactionDate` | Date of the trade (MM/DD/YYYY) |
| `amount` | Dollar range (e.g., "$1,001 - $15,000") |
| `assetType` | ST (Stock), OP (Option), etc. |
| `description` | Additional notes (e.g., option strike price, expiration) |

### Use cases

- **Financial research** -- analyze Congressional trading patterns for market signals
- **Journalist investigations** -- track politician stock trading and potential conflicts of interest
- **Transparency advocacy** -- monitor compliance with the STOCK Act
- **Quant trading** -- build strategies around Congressional insider activity
- **Academic research** -- study the relationship between legislation and personal investments

### Example output

```json
{
  "memberName": "Nancy Pelosi",
  "chamber": "House",
  "state": "CA",
  "filingType": "P",
  "filingTypeLabel": "Periodic Transaction Report",
  "filingDate": "2/23/2024",
  "documentUrl": "https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2024/20024542.pdf",
  "transactions": [
    {
      "owner": "Spouse",
      "assetName": "Palo Alto Networks, Inc.",
      "ticker": "PANW",
      "transactionType": "Purchase",
      "transactionDate": "02/12/2024",
      "amount": "$500,001 - $1,000,000",
      "description": "Purchased 50 call options with a strike price of $200"
    }
  ]
}
````

### Input options

- **Member Last Name** -- search by specific member (e.g., "Pelosi", "Tuberville")
- **Chamber** -- House, Senate, or both
- **Filing Year** -- 2012 through current year
- **State** -- filter by state (e.g., "CA", "AL")
- **Filing Type Filter** -- filter to PTRs only, originals, or amendments
- **Parse Stock Trades from PTRs** -- extract individual trades from PDF filings (enabled by default)

### Notes

- The Senate eFD system occasionally undergoes maintenance. If Senate results are unavailable, House results are still returned.
- Transaction parsing works for House PTR filings. Senate PTRs link to external documents that may not be parseable.
- Data availability varies by year. Most complete data is from 2013 onward.

# Actor input Schema

## `query` (type: `string`):

Last name of the Congress member to search (e.g. "Pelosi", "Tuberville"). Leave empty to search all members.

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

Which chamber to search: House, Senate, or both.

## `filingYear` (type: `integer`):

Year of the financial disclosure filing.

## `state` (type: `string`):

Two-letter state code to filter results (e.g. "CA", "TX"). Leave empty for all states.

## `filingType` (type: `string`):

Filter by filing type. Use "P" for Periodic Transaction Reports (stock trades) only.

## `fetchTransactions` (type: `boolean`):

Extract individual stock trades (ticker, buy/sell, amount, date) from PTR filing PDFs. Returns structured transaction data instead of just filing metadata.

## `maxResults` (type: `integer`):

Maximum number of disclosure records to return.

## Actor input object example

```json
{
  "query": "Pelosi",
  "chamber": "both",
  "filingYear": 2024,
  "state": "",
  "filingType": "",
  "fetchTransactions": true,
  "maxResults": 100
}
```

# 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 = {
    "query": "Pelosi",
    "chamber": "both",
    "filingYear": 2024,
    "state": "",
    "filingType": "",
    "fetchTransactions": true,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("pink_comic/congress-stock-trading-disclosures").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 = {
    "query": "Pelosi",
    "chamber": "both",
    "filingYear": 2024,
    "state": "",
    "filingType": "",
    "fetchTransactions": True,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("pink_comic/congress-stock-trading-disclosures").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 '{
  "query": "Pelosi",
  "chamber": "both",
  "filingYear": 2024,
  "state": "",
  "filingType": "",
  "fetchTransactions": true,
  "maxResults": 100
}' |
apify call pink_comic/congress-stock-trading-disclosures --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Congress Stock Trades - Politician Financial Disclosures",
        "description": "Track US Congress stock trades and financial disclosures. Search House and Senate periodic transaction reports (PTRs) by member name, state, or filing type. Essential for journalists, researchers, compliance teams, and transparency advocates. Official data from House Clerk and Senate eFD.",
        "version": "0.1",
        "x-build-id": "4RJcyuY2TEVhO7o8A"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/pink_comic~congress-stock-trading-disclosures/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-pink_comic-congress-stock-trading-disclosures",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/pink_comic~congress-stock-trading-disclosures/runs": {
            "post": {
                "operationId": "runs-sync-pink_comic-congress-stock-trading-disclosures",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/pink_comic~congress-stock-trading-disclosures/run-sync": {
            "post": {
                "operationId": "run-sync-pink_comic-congress-stock-trading-disclosures",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "query": {
                        "title": "Member Last Name",
                        "type": "string",
                        "description": "Last name of the Congress member to search (e.g. \"Pelosi\", \"Tuberville\"). Leave empty to search all members.",
                        "default": "Pelosi"
                    },
                    "chamber": {
                        "title": "Chamber",
                        "enum": [
                            "both",
                            "house",
                            "senate"
                        ],
                        "type": "string",
                        "description": "Which chamber to search: House, Senate, or both.",
                        "default": "both"
                    },
                    "filingYear": {
                        "title": "Filing Year",
                        "minimum": 2012,
                        "maximum": 2026,
                        "type": "integer",
                        "description": "Year of the financial disclosure filing.",
                        "default": 2024
                    },
                    "state": {
                        "title": "State Filter",
                        "type": "string",
                        "description": "Two-letter state code to filter results (e.g. \"CA\", \"TX\"). Leave empty for all states.",
                        "default": ""
                    },
                    "filingType": {
                        "title": "Filing Type Filter",
                        "enum": [
                            "",
                            "P",
                            "O",
                            "A"
                        ],
                        "type": "string",
                        "description": "Filter by filing type. Use \"P\" for Periodic Transaction Reports (stock trades) only.",
                        "default": ""
                    },
                    "fetchTransactions": {
                        "title": "Parse Stock Trades from PTRs",
                        "type": "boolean",
                        "description": "Extract individual stock trades (ticker, buy/sell, amount, date) from PTR filing PDFs. Returns structured transaction data instead of just filing metadata.",
                        "default": true
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of disclosure records to return.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
