Alert recipe
SEC API Slack Filing Alerts
A self-serve alert recipe for operators who want SEC filing watchlist updates in a Slack channel without building or hosting their own EDGAR parser.
GET /v1/sec/watchlist/changes?tickers=AAPL,MSFT&since=2026-07-01&limit=10
import json
import os
import urllib.parse
import urllib.request
rapidapi_key = os.environ["RAPIDAPI_KEY"]
slack_webhook_url = os.environ["SLACK_WEBHOOK_URL"]
query = urllib.parse.urlencode({
"tickers": "AAPL,MSFT",
"since": "2026-07-01",
"limit": "10",
})
sec_request = urllib.request.Request(
f"https://sec-event-intelligence.p.rapidapi.com/v1/sec/watchlist/changes?{query}",
headers={
"x-rapidapi-host": "sec-event-intelligence.p.rapidapi.com",
"x-rapidapi-key": rapidapi_key,
},
)
with urllib.request.urlopen(sec_request, timeout=20) as response:
payload = json.loads(response.read().decode("utf-8"))
for group in payload["data"]:
for change in group.get("changes", []):
filing = change.get("filing", {})
message = {
"text": (
f"{group['ticker']} {filing.get('form', 'filing')} "
f"from {filing.get('companyName', 'unknown company')}: "
f"{filing.get('filingUrl', '')}"
)
}
slack_request = urllib.request.Request(
slack_webhook_url,
data=json.dumps(message).encode("utf-8"),
headers={"Content-Type": "application/json"},
method="POST",
)
urllib.request.urlopen(slack_request, timeout=20).read()
Workflow Setup
This recipe validates whether buyers want SEC filing data inside automation tools before we build deeper app-specific support.
- Subscribe on RapidAPI and copy the generated RapidAPI key.
- Create a Slack incoming webhook for the channel; webhook URLs start with https://hooks.slack.com/services/...
- Store RAPIDAPI_KEY and SLACK_WEBHOOK_URL as environment variables in the worker or scheduler.
- Run the script on a schedule and persist delivered accession numbers in your own storage.
Endpoints Used
The integration uses live SEC Event Intelligence endpoints available through RapidAPI subscriptions.
GET /v1/sec/watchlist/changesGET /v1/sec/changesGET /v1/sec/forms/{accessionNo}/summary
Integration FAQ
Is this an official Slack app?
No. It is a copy-ready webhook recipe that sends selected SEC filing changes to a Slack channel.
Should the Slack webhook URL be committed to source control?
No. Treat the webhook URL as a secret and store it in environment variables or a secret manager.