Create webhook endpoint
Register a URL to receive webhook notifications when new SEC filings match your alert preferences.
How It Works
- Create a webhook endpoint with your URL
- Configure alert preferences on your watchlist (form types, frequency)
- When a matching filing is ingested, a signed POST request is sent to your URL
Signing Secret
The response includes a signingSecret — save it immediately. It is only returned once at creation time and cannot be retrieved later. Use it to verify that incoming webhooks are authentic.
Payload Format
Webhook payloads are JSON matching the WebhookEventPayload schema. The data field uses the same filing shape as items returned by GET /api/v1/filings (the FeedFiling schema).
Signature Verification
Each delivery includes two headers for verification:
- X-EarningsFeed-Signature: sha256=<hex>
- X-EarningsFeed-Timestamp: Unix seconds
To verify, compute HMAC-SHA256(signingSecret, "{timestamp}.{body}") and compare to the signature hex. Example in Node.js:
const crypto = require("crypto");
const expected = crypto
.createHmac("sha256", signingSecret)
.update(`${timestamp}.${rawBody}`)
.digest("hex");
const actual = signature.replace("sha256=", "");
if (actual !== expected) throw new Error("Invalid signature");
Auto-Disable
Endpoints are automatically disabled after 10 consecutive delivery failures. A successful delivery resets the failure counter.
Request
- Base URL: https://earningsfeed.com
- URL: https://earningsfeed.com/api/v1/webhooks
- Auth: HTTP bearer
Request body
Example request
{
"url": "https://hooks.zapier.com/hooks/catch/123/abc",
"description": "Zapier integration",
"source": "manual"
}Response
Webhook endpoint created (includes signing secret)
Changes
No recorded changes to this operation across all 1 revision of this API.