> ## Documentation Index
> Fetch the complete documentation index at: https://docs.doomberg.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Congress & Insider Skills

> Reference for congress.trades, congress.late_filings, congress.screener, insider.activity, and politician.portfolio — the archive-backed political-data skills exposed to AI agents.

Congress and insider skills surface political-trading and insider-filing data from the Ithaca archive. Congressional trades come from **Capitol Trades**; insider activity comes from **SEC Form 4** filings.

<Callout type="info">
  These skills are read-only and sourced from public filings. Every result includes the [provenance envelope](/skills/overview#the-provenance-envelope) — check `warnings` for late filings, partial disclosures, or stale pulls.
</Callout>

## Skill summary

| Skill ID                | Tool name               | Source         | Runtime     | Description                                           |
| ----------------------- | ----------------------- | -------------- | ----------- | ----------------------------------------------------- |
| `congress.trades`       | `congress_trades`       | capitol-trades | interactive | Individual congressional trade filings                |
| `congress.late_filings` | `congress_late_filings` | capitol-trades | interactive | Trades filed past the STOCK Act 45-day deadline       |
| `congress.screener`     | `congress_screener`     | capitol-trades | scan        | Filter congressional trades by ticker/party/committee |
| `insider.activity`      | `insider_activity`      | sec            | interactive | Form 4 insider buys/sells                             |
| `politician.portfolio`  | `politician_portfolio`  | capitol-trades | interactive | Aggregated holdings for a single politician           |

***

## congress.trades

Individual congressional trade filings — who bought/sold what, when, and how big.

**Arguments**

| Name               | Type     | Required | Default     | Description                                  |
| ------------------ | -------- | -------- | ----------- | -------------------------------------------- |
| `symbol`           | string   | no       | —           | Filter by ticker                             |
| `politician`       | string   | no       | —           | Politician name or ID                        |
| `chamber`          | string   | no       | —           | `house`, `senate`, or `both`                 |
| `party`            | string   | no       | —           | `D`, `R`, `I`                                |
| `committee`        | string   | no       | —           | Committee name (substring match)             |
| `transaction_type` | string   | no       | —           | `buy`, `sell`, `sell_partial`, or `exchange` |
| `min_amount`       | float    | no       | —           | Minimum transaction USD                      |
| `max_amount`       | float    | no       | —           | Maximum transaction USD                      |
| `from`             | ISO date | no       | `now - 90d` | Filing range start                           |
| `to`               | ISO date | no       | `now`       | Filing range end                             |
| `limit`            | int      | no       | `50`        | Max results (1–500)                          |

**Source**: `capitol-trades`

**Example**

```json theme={null}
congress_trades({ "symbol": "NVDA", "from": "2025-05-01", "limit": 5 })
```

```json theme={null}
{
  "skill_id": "congress.trades",
  "data": {
    "trades": [
      { "politician": "Nancy Pelosi", "chamber": "house", "party": "D", "symbol": "NVDA", "type": "buy", "amount_usd": 500000, "filed": "2025-06-12", "traded": "2025-06-02" },
      { "politician": "Tom Emmer", "chamber": "house", "party": "R", "symbol": "NVDA", "type": "sell", "amount_usd": 15000, "filed": "2025-05-22", "traded": "2025-05-15" }
    ]
  },
  "provenance": { "source": "capitol-trades", "freshness": { "as_of": "2025-06-27T16:00:00Z", "lag_seconds": 3600 }, "cost": { "credits": 2, "tier": "basic" }, "warnings": [] }
}
```

***

## congress.late\_filings

Trades filed **past the STOCK Act 45-day deadline**. These are often the most informative — late filings correlate with larger positions and weaker disclosure patterns.

**Arguments**

| Name            | Type     | Required | Default      | Description                    |
| --------------- | -------- | -------- | ------------ | ------------------------------ |
| `symbol`        | string   | no       | —            | Filter by ticker               |
| `min_late_days` | int      | no       | `45`         | Minimum days past the deadline |
| `from`          | ISO date | no       | `now - 365d` | Filing range start             |
| `to`            | ISO date | no       | `now`        | Filing range end               |
| `limit`         | int      | no       | `50`         | Max results                    |

**Source**: `capitol-trades`

**Example**

```json theme={null}
congress_late_filings({ "min_late_days": 60, "limit": 5 })
```

```json theme={null}
{
  "skill_id": "congress.late_filings",
  "data": {
    "late_filings": [
      { "politician": "Dan Crenshaw", "symbol": "LMT", "traded": "2025-03-10", "filed": "2025-06-01", "late_days": 83, "amount_usd": 100000 }
    ]
  },
  "provenance": { "source": "capitol-trades", "freshness": { "as_of": "2025-06-27T16:00:00Z", "lag_seconds": 3600 }, "cost": { "credits": 2, "tier": "basic" }, "warnings": ["late_days computed from STOCK Act 45-day deadline"] }
}
```

***

## congress.screener

Multi-filter screen across all congressional trades. Runs under the **scan** profile (900 s).

**Arguments**

| Name               | Type      | Required | Default      | Description                               |
| ------------------ | --------- | -------- | ------------ | ----------------------------------------- |
| `symbols`          | string\[] | no       | —            | Filter to a set of tickers                |
| `chamber`          | string    | no       | `both`       | `house`, `senate`, or `both`              |
| `party`            | string    | no       | —            | `D`, `R`, `I`                             |
| `committee`        | string    | no       | —            | Committee name (substring)                |
| `transaction_type` | string    | no       | —            | `buy`, `sell`, `sell_partial`             |
| `min_amount`       | float     | no       | —            | Minimum transaction USD                   |
| `min_net_buy`      | float     | no       | —            | Minimum net buy per politician per ticker |
| `from`             | ISO date  | no       | `now - 180d` | Range start                               |
| `to`               | ISO date  | no       | `now`        | Range end                                 |
| `group_by`         | string    | no       | `symbol`     | `symbol`, `politician`, or `committee`    |
| `sort_by`          | string    | no       | `total_usd`  | Sort field                                |
| `limit`            | int       | no       | `100`        | Max results                               |

**Source**: `capitol-trades`

**Example**

```json theme={null}
congress_screener({ "chamber": "senate", "transaction_type": "buy", "min_amount": 50000, "group_by": "symbol", "limit": 10 })
```

```json theme={null}
{
  "skill_id": "congress.screener",
  "data": {
    "groups": [
      { "symbol": "MSFT", "n_trades": 8, "n_politicians": 5, "total_usd": 1200000, "net_buy_usd": 1100000 },
      { "symbol": "AAPL", "n_trades": 6, "n_politicians": 4, "total_usd": 850000, "net_buy_usd": 720000 }
    ]
  },
  "provenance": { "source": "capitol-trades", "freshness": { "as_of": "2025-06-27T16:00:00Z", "lag_seconds": 3600 }, "cost": { "credits": 5, "tier": "basic" }, "warnings": [] }
}
```

***

## insider.activity

SEC **Form 4** insider transactions — officers, directors, and 10%+ owners buying or selling their own company's stock.

**Arguments**

| Name               | Type     | Required | Default     | Description                                                         |
| ------------------ | -------- | -------- | ----------- | ------------------------------------------------------------------- |
| `symbol`           | string   | no       | —           | Filter by ticker                                                    |
| `insider`          | string   | no       | —           | Insider name (substring)                                            |
| `title`            | string   | no       | —           | Officer title (e.g. `CEO`, `CFO`, `Director`)                       |
| `transaction_code` | string   | no       | —           | `P` (purchase), `S` (sale), `A` (award), `G` (gift), `M` (exercise) |
| `min_shares`       | int      | no       | —           | Minimum share count                                                 |
| `min_value`        | float    | no       | —           | Minimum USD value                                                   |
| `from`             | ISO date | no       | `now - 90d` | Range start                                                         |
| `to`               | ISO date | no       | `now`       | Range end                                                           |
| `limit`            | int      | no       | `50`        | Max results                                                         |

**Source**: `sec`

**Example**

```json theme={null}
insider_activity({ "symbol": "META", "transaction_code": "S", "min_value": 1000000, "limit": 5 })
```

```json theme={null}
{
  "skill_id": "insider.activity",
  "data": {
    "transactions": [
      { "insider": "Mark Zuckerberg", "title": "CEO", "symbol": "META", "code": "S", "shares": 30000, "price": 498.20, "value_usd": 14946000, "filed": "2025-06-20", "remaining_shares": 350000000 }
    ]
  },
  "provenance": { "source": "sec", "freshness": { "as_of": "2025-06-27T22:00:00Z", "lag_seconds": 86400 }, "cost": { "credits": 2, "tier": "basic" }, "warnings": [] }
}
```

***

## politician.portfolio

Aggregated holdings for a single politician — useful for "what does X own?" queries.

**Arguments**

| Name              | Type     | Required | Default | Description                 |
| ----------------- | -------- | -------- | ------- | --------------------------- |
| `politician`      | string   | yes      | —       | Politician name or ID       |
| `as_of`           | ISO date | no       | latest  | Snapshot date               |
| `include_history` | bool     | no       | `false` | Include transaction history |
| `limit`           | int      | no       | `50`    | Max holdings                |

**Source**: `capitol-trades`

**Example**

```json theme={null}
politician_portfolio({ "politician": "Nancy Pelosi", "include_history": true })
```

```json theme={null}
{
  "skill_id": "politician.portfolio",
  "data": {
    "politician": "Nancy Pelosi",
    "as_of": "2025-06-27",
    "holdings": [
      { "symbol": "NVDA", "estimated_value_usd": 5200000, "last_trade": "2025-06-12" },
      { "symbol": "AAPL", "estimated_value_usd": 1800000, "last_trade": "2025-04-02" }
    ],
    "history": [
      { "date": "2025-06-12", "symbol": "NVDA", "type": "buy", "amount_usd": 500000 }
    ]
  },
  "provenance": { "source": "capitol-trades", "freshness": { "as_of": "2025-06-27T16:00:00Z", "lag_seconds": 3600 }, "cost": { "credits": 3, "tier": "basic" }, "warnings": ["holdings estimated from disclosed transaction ranges, not actual positions"] }
}
```

## Next steps

<Card title="Institutional & ETF Skills" icon="building-columns" href="/skills/institutional">
  13F holdings, institutional flows, ETF constituents, and ETF factor exposure.
</Card>

<Card title="Short Interest Skills" icon="arrow-down" href="/skills/short-interest">
  Short interest, short volume, failures to deliver, and short screens.
</Card>
