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.
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 /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"
}
} 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.
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.
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.
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.
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.
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.
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)
);
} The essentials before you subscribe.
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