Skip to content
Back to skills

capitoltrades-cli

ASecurity

Use cli-web-capitoltrades to query US congressional stock trades, politicians,

  • 215 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 27, 2026
developmentpythongobashawsgitapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add ItamarZand88/CLI-Anything-WEB --skill skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of capitoltrades-cli?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for capitoltrades-cli
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/itamarzand88-capitoltrades-cli/badge)](https://www.skillsdirectory.com/skills/itamarzand88-capitoltrades-cli)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: capitoltrades-cli
description: Use cli-web-capitoltrades to query US congressional stock trades, politicians,
  issuers, and insight articles from capitoltrades.com. Invoke this skill whenever the
  user asks about congressional trading, senator/representative stock trades, STOCK Act
  filings, insider trades by politicians, specific tickers (e.g. "what did Pelosi buy"),
  or US Capitol Trades data. Always prefer cli-web-capitoltrades over manually fetching
  the website — no auth is required and the CLI returns structured JSON.
---

# cli-web-capitoltrades

Browse US congressional stock trades tracked on capitoltrades.com (by 2iQ Research).
Installed at: `cli-web-capitoltrades`.

The site is a fully public data aggregator covering STOCK Act disclosures: ~35,000
trades, ~200 politicians, ~3,000 issuers. No authentication required.

## Quick Start

```bash
# Latest trades across Congress
cli-web-capitoltrades --json trades list --page-size 20

# Trades by a specific politician (bioguide ID)
cli-web-capitoltrades --json trades list --politician P000197

# Trades for a ticker (auto-resolves via BFF)
cli-web-capitoltrades --json trades by-ticker NVDA --page-size 20

# Only large-size trades ($1M-$5M)
cli-web-capitoltrades --json trades list --size 1M-5M

# Top politicians by trade volume
cli-web-capitoltrades --json politicians top --by volume --page-size 10

# Aggregate stats (total trades, volume, politicians)
cli-web-capitoltrades --json trades stats

# Rich issuer data (sector, market cap, 1-year price history, #politicians holding)
cli-web-capitoltrades --json issuers search nvidia
```

Always pass `--json` when parsing output programmatically.

---

## Commands

### `trades list`
List trades, paginated and filterable.

```bash
cli-web-capitoltrades trades list [options] --json
```

**Key options:**
- `--page N` / `--page-size N` — pagination (default 1, 12)
- `--politician <bioguide_id>` — e.g. `P000197` (Pelosi)
- `--issuer <issuer_id>` — e.g. `429725` (Amgen)
- `--party republican|democrat|independent`
- `--chamber house|senate`
- `--tx-type buy|sell|exchange`
- `--sector <name>` (e.g. `health-care`, `information-technology`)
- `--size <bracket>` — one of `<1K`, `1K-15K`, `15K-50K`, `50K-100K`, `100K-250K`, `250K-500K`, `500K-1M`, `1M-5M`, `5M-25M`, `25M-50M`
- `--sort traded|pubDate|filedAfter|tradeSize` — sort column
- `--sort-direction asc|desc` (default `desc`)

**Output fields:** `trade_id`, `politician_id`, `politician_name`, `politician_party`,
`politician_chamber`, `politician_state`, `issuer_id`, `issuer_name`, `ticker`,
`tx_type`, `size`, `price`, `traded`, `published`, `filed_after_days`, `owner`.

### `trades get <trade_id>`
Get full detail for a single trade (adds `price`, `shares`, `filing_url`, `comment`, `reporting_gap`).

### `trades by-ticker <SYM>`
Convenience: resolve a ticker (e.g. `NVDA`, `AMGN`) via BFF search, then list trades for
that issuer. Accepts `--party`, `--tx-type`, `--page`, `--page-size`. Returned `meta.resolved_issuer`
includes name, ticker, sector, issuer_id.

### `trades stats`
Overview stats from the `/trades` landing page. Returns `trades`, `filings`, `volume`,
`politicians`, `issuers`.

### `politicians list`
List politicians with filters.

**Key options:** `--party republican|democrat|independent`, `--chamber house|senate`, `--state <ST>`.

**Output fields:** `politician_id` (bioguide), `name`, `party`, `state`, `trades_count`,
`issuers_count`, `volume`, `last_traded`.

### `politicians top`
Leaderboard of politicians ranked by recent activity.

**Key options:** `--by trades|volume` (default `trades`), `--page-size N`, `--party`, `--chamber`.

### `politicians get <bioguide_id>`
Politician detail + recent trades table. Example: `cli-web-capitoltrades politicians get Y000067`.

### `issuers list`
List issuers (companies, funds, treasuries). Output: `issuer_id`, `name`, `ticker`.

### `issuers get <issuer_id>`
Issuer detail + recent trades. Example: `cli-web-capitoltrades issuers get 435544` (US Treasury Bills).

### `issuers search <query>`
**Richest endpoint.** Uses the BFF JSON API — returns sector, market cap, 1-year price
history (`performance.eodPrices`), trailing returns, and `stats.countPoliticians` /
`countTrades` / `volume` / `dateFirstTraded`. Use `--full` to include the full `eodPrices` array.

### `articles list` / `articles get <slug>`
List or view insight articles. Slug format: `kebab-title-YYYY-MM-DD`.

### `buzz list` / `buzz get <slug>`
Third-party news snippets curated by Capitol Trades (Twitter, external articles about
companies and politicians). Same slug format as articles.

### `press list` / `press get <slug>`
Press coverage about Capitol Trades data and congressional trading news (articles
published by external publications like CNN, Forbes, Politico).

---

## Agent Patterns

```bash
# Find all buys of NVIDIA this year by Republicans
cli-web-capitoltrades --json issuers search nvidia | \
  python -c "import json, sys; d=json.load(sys.stdin); print(d['data'][0]['_issuerId'])"
# → take the issuer_id, then:
cli-web-capitoltrades --json trades list --issuer 433382 --party republican --tx-type buy --page-size 50

# Summary of a politician's most active tickers
cli-web-capitoltrades --json politicians get P000197 | \
  python -c "import json, sys, collections; d=json.load(sys.stdin); \
    trades=d['data']['recent_trades']; \
    print(collections.Counter(t['ticker'] for t in trades).most_common(5))"

# Today's biggest trades
cli-web-capitoltrades --json trades list --page-size 50 | \
  python -c "import json, sys; d=json.load(sys.stdin); \
    for t in d['data'][:10]: print(f\"{t['traded']}  {t['tx_type']:<5} {t['politician_name']:<25} {t['ticker']:<10} {t['size']}\")"
```

---

## Data Model Notes

- **Bioguide IDs** (`politician_id`): 7 chars, `[A-Z]\d{6}`, the same ID used by bioguide.congress.gov
- **Issuer IDs**: numeric strings assigned by 2iQ Research
- **Trade IDs**: 11-digit numeric strings
- **Trade sizes** are ranges (`1K–15K`, `15K–50K`, `50K–100K`, `100K–250K`, `250K–500K`, `500K–1M`, `1M–5M`, `5M–25M`, `25M–50M`, `>50M`) — the STOCK Act only requires range disclosure, not exact amounts
- **`owner`** = `Self`, `Spouse`, `Child`, `Joint`, `Undisclosed`, `Dependent`, etc.
- **`filed_after_days`** = days between trade and disclosure (45 days = late, per STOCK Act)

## Notes

- **Auth:** None — fully public site
- **Rate limits:** Site is served via AWS CloudFront; the CLI uses `curl_cffi` with Chrome 136 TLS
  fingerprinting, which is what makes the BFF accessible. No observed rate limits in normal use.
- **Freshness:** Data is typically <24h behind actual filings. Politician disclosures may lag up
  to 45 days (legal requirement) after the trade date.
- **Exit codes:** 0 success, 1 user error (not found / invalid arg), 2 system error (network / 5xx).
- **BFF quirks:** Only `/issuers?search=...` is exposed publicly. Other endpoints on bff.capitoltrades.com return 503.

## Known limitations

- **No full politician search** in the BFF — use `politicians list` with filters, or browse the
  paginated list.
- **No trades search by ticker directly** — search the issuer by ticker first, take its `_issuerId`,
  then filter trades by `--issuer <id>`.
- Reading large result sets (`--page-size 100`) may take a few seconds per page (HTML scraping).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.