sec-filing-watcher

Review·Scanned 2/18/2026

Monitors SEC EDGAR feeds for ticker filings and notifies Clawdbot/Telegram. Contains a hard-coded webhook token 9150a681e056a67677b64dfe1c0da97d, performs outbound requests to https://www.sec.gov/cgi-bin/browse-edgar and http://localhost:18789/hooks/agent, and instructs execution of curl -s -A "SEC-Filing-Watcher/1.0" "${filing.url}".

from clawhub.ai·v6067a20·13.5 KB·0 installs
Scanned from 1.0.0 at 6067a20 · Transparency log ↗
$ vett add clawhub.ai/in-liberty420/sec-filing-watcherReview findings below

SEC Filing Watcher

Monitors SEC EDGAR for new filings from a watchlist of tickers. When a new filing appears, notifies Clawdbot which fetches, summarizes, and sends to Telegram.

Quick Setup

1. Create watchlist

cp assets/watchlist.example.json watchlist.json
# Edit watchlist.json with your tickers

2. Configure webhook

Edit scripts/watcher.js CONFIG section:

  • webhookUrl: Your Clawdbot hooks URL (default: http://localhost:18789/hooks/agent)
  • webhookToken: Your hook token (find in clawdbot.json under hooks.token)

3. Test run

node scripts/watcher.js

First run seeds existing filings (no notifications). Second run checks for new filings.

4. Schedule (every 15 min)

macOS:

cp assets/com.sec-watcher.plist ~/Library/LaunchAgents/
# Edit the plist to set correct paths
launchctl load ~/Library/LaunchAgents/com.sec-watcher.plist

Linux:

crontab -e
# Add: */15 * * * * /usr/bin/node /path/to/scripts/watcher.js >> /path/to/watcher.log 2>&1

Managing Tickers

Add or remove tickers in watchlist.json:

{
  "tickers": ["AAPL", "MSFT", "TSLA"],
  "formTypes": ["10-K", "10-Q", "8-K", "4"]
}

New tickers are auto-seeded (existing filings won't spam you).

See references/form-types.md for common SEC form types.

Commands

Check status:

launchctl list | grep sec-watcher

View logs:

cat ~/clawd/sec-filing-watcher/watcher.log

Stop:

launchctl unload ~/Library/LaunchAgents/com.sec-watcher.plist

Start:

launchctl load ~/Library/LaunchAgents/com.sec-watcher.plist

Manual run:

node scripts/watcher.js

Files

FilePurpose
scripts/watcher.jsMain watcher script
watchlist.jsonYour tickers and form types
state.jsonTracks seen filings (auto-created)
watcher.logOutput log (if configured)

Troubleshooting

No notifications:

  • Check state.json exists (first run seeds, second run notifies)
  • Verify webhook URL and token in watcher.js CONFIG
  • Check Clawdbot is running: clawdbot status

SEC blocking requests:

  • Script uses proper User-Agent header
  • If blocked, wait 10 minutes (SEC rate limit cooldown)

Duplicate notifications:

  • Check state.json isn't corrupted
  • Delete state.json to re-seed (will seed all existing filings again)