Skills congress-trades
Track US congress member and politician stock trades in real-time using the Quiver Quant API. Syncs trades to a local SQLite database, detects new significant trades above 15K, and sends alerts via OpenClaw messaging. Only requires Python with the requests library and a QUIVER_API_KEY environment variable. Use when setting up congressional trade monitoring, politician stock trade alerts, insider trading surveillance, or tracking what senators and representatives are buying and selling.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/armax/congress-trades" ~/.claude/skills/clawdbot-skills-congress-trades && rm -rf "$T"
skills/armax/congress-trades/SKILL.mdCongress Trades Tracker
Monitor US congressional stock trades via Quiver Quant API, store in a local SQLite database, and alert on new significant trades. Requires Python
requests library and a Quiver Quant API key.
Requirements
- Python 3.10+ with
(requests
)pip install requests - QUIVER_API_KEY environment variable (get a key at https://www.quiverquant.com/)
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
| QUIVER_API_KEY | Yes | — | Quiver Quant API token |
| CONGRESS_DB_PATH | No | data/congress_trades.db | SQLite database path |
| MIN_TRADE_AMOUNT | No | 15001 | Minimum trade amount to trigger alerts |
Set these in your shell profile,
.env file, or cron environment. Never hard-code API keys in the script.
Setup
1. Install Python dependency
pip install requests
2. Set your API key
export QUIVER_API_KEY="your-api-key-here"
3. Schedule with user cron (no sudo needed)
Add your env vars to
~/.profile or a .env file sourced by your shell, then add the cron entry:
crontab -e # Add this line (uses env vars from your profile): * * * * * . "$HOME/.profile" && /usr/bin/python3 /path/to/scripts/scraper.py >> /path/to/logs/scraper.log 2>&1
Never inline API keys directly in crontab entries.
4. Set up OpenClaw alert pickup
Add to your
HEARTBEAT.md:
## Check for congress trade alerts - Read `congress_trades/data/pending_congress_alert.txt` — if it has content, send the alert to the user, then delete the file.
Or create an OpenClaw cron job (every 5 min) to check and forward alerts.
How It Works
- Scraper runs every minute, fetches latest 200 trades from
api.quiverquant.com - Inserts into local SQLite with unique trade_key deduplication
- First run initializes DB and reports newest trade
- Subsequent runs detect new trades, filter to buys/sells above threshold
- Writes formatted alert to
for OpenClaw pickupdata/pending_congress_alert.txt - Keeps last 50 alerts in
data/new_trades.json
Network and Data
- Only outbound connection:
(Quiver Quant API)api.quiverquant.com - Storage: local SQLite file + JSON alert files in
data/ - No external endpoints besides the Quiver API
- Restrict file permissions on data directory (
)chmod 700 data/
Alert Format
🏛️ 3 new congress trade(s) detected: 🟢 PURCHASE: Nancy Pelosi (D) [Rep] $NVDA — $1,000,001 - $5,000,000 Trade: 2026-02-10 | Reported: 2026-02-14 🔴 SALE: Dan Crenshaw (R) [Rep] $MSFT — $15,001 - $50,000 Trade: 2026-02-09 | Reported: 2026-02-14
Customization
- MIN_TRADE_AMOUNT: raise/lower via env var to change alert threshold
- Fetch limit: change
inlimit=200
for broader sweepsfetch_trades() - Cron frequency: reduce to every 5 or 15 minutes if you prefer less polling