Limited Founding offer: 20% off, locked in forever Claim
Datahyena
Webhooks Signed, retried, real-time

Signals, the moment they land.

Stop polling. Subscribe an endpoint and Datahyena pushes new funding rounds, acquisitions, and executive moves as they resolve — signed, filtered to your ICP, and retried until they land.

signed payloads · retries with backoff · replay anytime

POST your endpoint
POST /hooks/datahyena  HTTP/1.1
User-Agent: Datahyena-Webhooks/1.0
X-Datahyena-Event: funding.created
X-Datahyena-Delivery: 019e7a2c-...-d41
X-Datahyena-Signature: t=1780970400,v1=8f3c…e21
Content-Type: application/json

{
  "id": "019e7a2c-4f8b-7c10-9a1d-...",
  "event": "funding.created",
  "createdAt": "2026-06-09T11:00:00.000Z",
  "data": {
    "id": "019e6a0a-...",
    "company": { "name": "Galaxea AI", "domain": "galaxea.ai", ... },
    "round": "series_b",
    "amountUsd": 145000000,
    "investors": [ { "name": "..." } ],
    "announcedAt": "2026-06-09"
  }
}
Why webhooks

The feed comes to you.

When acting first is the whole point, polling is a tax. Webhooks turn the pipeline into a push: secure, deduplicated, and delivered the instant a signal is real.

Push, not poll

Delivered the moment it lands

A new round, acquisition, or executive move is posted to your endpoint as the pipeline resolves it. No cron, no polling loop, no wasted calls checking for nothing.

real-time · server-to-server
Signed & verifiable

Every payload is signed

Each delivery carries a Stripe-style HMAC-SHA256 signature in X-Datahyena-Signature, computed over the timestamp and raw body. Verify it with your secret before you trust a byte.

X-Datahyena-Signature · HMAC-SHA256
At-least-once

Retried until it lands

A non-2xx or a timeout is retried up to six times with exponential backoff. Each event carries a stable delivery id for idempotency, and you can replay any delivery from the dashboard.

6 attempts · backoff · replay

Three events, your filters.

Subscribe to any combination and narrow each with the same filters as the API, so your endpoint only ever hears about the signals that matter to you.

funding.created

A new funding round. Filter by round, minimum amount, country, or industry.

acquisition.created

A new acquisition or merger. Filter by minimum deal value or country.

exec_move.created

A new executive move. Filter by seniority, move type, or country.

Trust the payload

Verify in a few lines.

Every delivery is signed with your endpoint secret. Recompute the HMAC over the timestamp and raw body, compare in constant time, and reject anything that does not match. No SDK required.

verify.js
import crypto from "node:crypto";

// Stripe-style: header is `t=<ts>,v1=<hmac>`,
// HMAC-SHA256 over `${ts}.${rawBody}`.
function verify(rawBody, header, secret) {
  const parts = Object.fromEntries(
    header.split(",").map((p) => p.split("="))
  );
  const expected = crypto
    .createHmac("sha256", secret)
    .update(`${parts.t}.${rawBody}`)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(parts.v1),
    Buffer.from(expected)
  );
}

Webhooks, answered.

The essentials before you subscribe.

Which events can I subscribe to?
Three: funding.created, acquisition.created, and exec_move.created. Each endpoint subscribes to any combination, and the payload data matches the same record you get from the REST API.
How do I verify a payload is really from Datahyena?
Each request includes an X-Datahyena-Signature header in the form t=<timestamp>,v1=<hmac>. Recompute HMAC-SHA256 over the timestamp joined to the raw request body with your endpoint secret, then compare. Reject anything that does not match.
What happens if my endpoint is down?
Delivery is retried up to six times with exponential backoff on any timeout or non-2xx response. You can also replay any past delivery from the dashboard once your endpoint is healthy.
Can I filter what gets sent?
Yes. Each subscription takes the same filters as the API, from round and amount to country, industry, seniority, and move type, so you only receive the signals that match your ICP.
Can I limit a webhook to specific companies?
Yes. Bind the endpoint to a watchlist and set Deliver for, and it fires only for companies on that list. Watchlists and filters combine, so you can scope to your accounts and narrow by round or amount at once.
Do webhooks cost credits?
Each delivered event costs one credit, the same as a record returned by the API. Filtering at the subscription means you only spend on signals you actually want.
How do I avoid processing the same event twice?
Every delivery includes a stable X-Datahyena-Delivery id and the event carries its own id. Dedupe on those, since at-least-once delivery means a retry can occasionally repeat.

Start pulling signals in minutes.

Create a key, claim your 50 free credits, and make your first request today. No sales call, no credit card.

50 free credits · no credit card