FILING EVENTS API · v1

Stop parsing EDGAR.
Get structured filing events in real time.

Register a rule once. The moment an 8-K, Form 4 (insider), or S-3 (dilution) hits SEC EDGAR for the tickers and forms you care about, we push you a clean, ticker-mapped, item-coded JSON event — by webhook or poll. No XML. No scraping. No maintenance.

Get a free key →

Base URL · https://catalystedgescanner.com/api/v1/filing

Why

Real-timeEvents fire within seconds of a filing appearing on EDGAR — off the same pipeline that powers our live scanner.
StructuredTicker-resolved, form-labeled, with the canonical SEC URL. Drop it straight into your app, bot, or AI agent.
Zero plumbingSkip weeks of EDGAR ingestion + the constant breakage. One POST to register, one webhook to receive.

1 · Get a key

Free tier, self-serve. Save the key — it is shown only once.

curl -X POST https://catalystedgescanner.com/api/v1/filing/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]"}'

# → {"api_key":"ce_F_...", "tier":"filing", ...}

2 · Register a rule

Match by form, ticker, or both. Add a webhook_url (https) to get pushed events, or omit it and poll.

# Every insider Form 4 for NVDA → your webhook
curl -X POST https://catalystedgescanner.com/api/v1/filing/rules \
  -H "X-API-Key: ce_F_..." -H "Content-Type: application/json" \
  -d '{"form":"4","ticker":"NVDA","webhook_url":"https://your.app/hook"}'

# Every 8-K, any ticker (poll mode — no webhook)
curl -X POST https://catalystedgescanner.com/api/v1/filing/rules \
  -H "X-API-Key: ce_F_..." -H "Content-Type: application/json" \
  -d '{"form":"8-K"}'

Manage rules: GET /api/v1/filing/rules · DELETE /api/v1/filing/rules/{id}

3 · Receive events

Webhook (push)

We POST each match to your webhook_url:

{
  "type": "filing.event",
  "data": {
    "ticker": "NVDA",
    "form": "4",
    "form_label": "Insider transaction (Form 4)",
    "filed_utc": "2026-06-26T17:46:26-04:00",
    "sec_url": "https://www.sec.gov/Archives/edgar/data/.../index.htm",
    "detected_utc": "2026-06-26T17:46:31+00:00"
  }
}

Poll

curl https://catalystedgescanner.com/api/v1/filing/events?limit=50 \
  -H "X-API-Key: ce_F_..."
# → {"events":[ { ...same shape as data above... } ]}

Form types

formmeaning
4Insider buy/sell (Form 4)
8-KMaterial event (item-coded)
S-3Shelf registration — dilution risk
S-1Registration statement
13D / 13GActivist / passive stake
424B5Prospectus supplement (ATM/offering)

Tiers

tierpricelimits
Free$0Up to 5 rules · poll + webhook · best-effort latency
Pro$49/mo50 rules · priority webhook dispatch · higher event volume — upgrade
Scaleusage-basedUnlimited rules · SLA · bulk + historical

Upgrade to Pro

Hit the 5-rule free cap? Upgrade to Pro (50 rules, $49/mo) — returns a Stripe Checkout link:

curl -X POST https://catalystedgescanner.com/api/v1/filing/upgrade \
  -H "Content-Type: application/json" -d '{"api_key":"$KEY"}'
# → {"checkout_url":"https://checkout.stripe.com/..."}  (open it to pay; your key flips to Pro on success)

Get your free key →

You are one page deep in a scanner that grades its own picks in public, wins and losses alike.

$99 once — the full ranked console, before the open.

Tier 1 setups touched +2% intraday 48.1% of the time across 343 tracked calls. Baseline for everything else: 40.2%. That is a +7.9 point edge, measured from the NEXT OPEN — the first price you could actually pay, not the prior close. We publish the misses too: https://catalystedgescanner.com/trust/

  1. Click Become a Founding Member below.
  2. Pay $99 once — not monthly, not ever again.
  3. You keep every future release at that price. Tomorrow's ranked list lands at 3:30 AM ET, before the open.

29 of 30 founding seats left. The price goes up when they are gone.

Become a Founding Member — $99 once

One payment, access for as long as we run the service. The free daily picks stay free — this is for people who want the full console. Not buying today? Get tomorrow's ranked list free →