Build a Filing Monitor with Webhooks
Stop polling for new filings. Instead, register a webhook endpoint and create a monitor rule so the API pushes events to you the moment a filing hits EDGAR.Prerequisites
- An Omni Datastream API key (set as
OMNI_DATASTREAM_API_KEY) - A publicly accessible HTTPS endpoint to receive webhooks (use webhook.site for testing)
- (Optional) Python 3.8+ or Node.js 18+ for SDK examples
Step 1 — Register a webhook endpoint
Tell the API where to send events by creating a webhook endpoint with/v1/webhook_endpoints.
curl
Python
JavaScript
Expected output
signing_secret securely. You will use it to verify incoming webhook payloads.
Step 2 — Create a filing monitor
A monitor defines what filings trigger a webhook delivery. Use/v1/monitors to watch for specific form types and companies.
curl
Python
JavaScript
Expected output
Step 3 — Handle incoming webhooks
When a matching filing is published, the API sends a POST request to your webhook URL. Here is what the payload looks like and how to verify it.Webhook payload
Python handler (Flask)
JavaScript handler (Express)
Step 4 — List and manage monitors
curl
Next steps
- Monitor more form types: Add
10-K,10-Q,13F-HR, or any other form type to your monitors. - Route by event type: Create different webhook endpoints for different teams (e.g., compliance gets enforcement actions, research gets earnings filings).
- Audit delivery: Use the Webhook Delivery Audit page to inspect delivery logs and retry failures.