Webhooks

Create webhook endpoint

Register a URL to receive webhook notifications when new SEC filings match your alert preferences.

How It Works

  1. Create a webhook endpoint with your URL
  2. Configure alert preferences on your watchlist (form types, frequency)
  3. 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.

post/api/v1/webhooks

Request

  • Base URL: https://earningsfeed.com
  • URL: https://earningsfeed.com/api/v1/webhooks
  • Auth: HTTP bearer

Request body

urlstring uri required

The URL to deliver webhook events to (must be HTTPS or HTTP)

descriptionstring

Human-readable description of this webhook

sourcestring

Identifier for the integration source (e.g., 'manual', 'zapier', 'make')

Example request

{
  "url": "https://hooks.zapier.com/hooks/catch/123/abc",
  "description": "Zapier integration",
  "source": "manual"
}

Response

Webhook endpoint created (includes signing secret)

idnumber required
urlstring required
enabledboolean required
descriptionstring nullable required
sourcestring required
failureCountnumber required
lastDeliveredAtstring nullable required
disabledAtstring nullable required
createdAtstring required
signingSecretstring required

The signing secret for verifying webhook payloads (only shown on creation)

Changes

No recorded changes to this operation across all 1 revision of this API.