Datahyena

New signals, pushed to your server.

Subscribe an endpoint and every new round, acquisition, executive move or hiring signal that matches your filters arrives as a signed POST. No polling loop, no cron.

Growth and Scale plans · 1 credit per delivered event

  • Signed with HMAC-SHA256
  • Retried up to 6 times
  • Replay from the dashboard
Activehttps://api.acme.com/hooks/datahyena
Recent deliveriesclick one to inspect
115 ms
{ "id": "01a102d4-700a-7454-8e08-0e26219a5e7c", "event": "hiring.created", "createdAt": "2026-10-29T14:39:06.248Z", "data": { "success": true, "data": { "id": "01a13577-6b44-74c6-8fad-99a619d6c387", "eventType": "leadership_opening", "company": { "id": "01a11a1e-3a77-7bd7-9b3a-493dddf8d8d8", "name": "Turba Labs", "domain": "turbalabs.com", "description": "GPU performance platform optimizing AI infrastructure across the entire stack.", "linkedinHandle": "company/turbalabs", "linkedinUrl": "https://www.linkedin.com/company/turbalabs", "linkedinGeoId": "103644278", "linkedinIndustryId": "4", "naicsCode": "5132", "naicsLevel": 4, "hqCity": null, "hqCountry": { "code": "US", "name": "United States" }, "industryGroup": "Software Development", "industrySubTags": [ "gpu-optimization", "ai-infrastructure", "performance-platform" ], "verticals": [ "ai" ], …

Only hear about what you would act on.

Pick events and narrow them with filters. Filters run before delivery, so you are never charged for an event you would have thrown away. Try it on recent records.

Events and filters
  • RoundCountryIndustryVerticalCompany size
  • Move typeCountry
Endpoint settings
{  "url": "https://api.acme.com/hooks/datahyena",  "events": [    "funding.created",    "exec_move.created"  ],  "filters": {    "funding": {      "minAmountUsdCents": 10000000000    }  }}
Would have fired recently15 of 32 recent records
  • OpenAIOpenAI Kevin Weil left as Chief Product Officer
  • ReplitReplit Michael Greenwald joined as President of Corporate Affairs
  • LegoraLegora raised $550M Series E
  • Platform Accounting GroupPlatform Accounting Group raised $355M growth round
  • Mach IndustriesMach Industries Zach Kirkman joined as Chief Financial Officer
  • NeolixNeolix raised $400M Series E

Every request is signed. Check it in a few lines.

Hash the timestamp and the raw body with your endpoint's secret and compare. Change a single byte of the body below and watch the check fail.

Try the check
X-Datahyena-Signature
t=1761292800,v1=…
HMAC-SHA256(secret, t + "." + body)
v1=computing…
Computing the signature…
import crypto from "node:crypto";

export function verify(rawBody, header, secret) {
  const { t, v1 } = Object.fromEntries(
    header.split(",").map((part) => part.split("="))
  );
  const expected = crypto
    .createHmac("sha256", secret)
    .update(`${t}.${rawBody}`)
    .digest("hex");
  return crypto.timingSafeEqual(Buffer.from(v1), Buffer.from(expected));
}

Answer with a 2xx within 10 seconds and do the heavy work on a queue. Anything else is retried.

Down for a deploy? Nothing is lost.

A timeout or a non-2xx response is retried with a doubling wait. Each event keeps the same id across attempts, so it is safe to dedupe on.

  1. 1 Attempt 1 now
  2. 2 Attempt 2 +30s
  3. 3 Attempt 3 +1m
  4. 4 Attempt 4 +2m
  5. 5 Attempt 5 +4m
  6. 6 Attempt 6 +8m
  7. Replay any time

Still failing after attempt 6? The delivery stays in your log, ready to replay with one click.

Send a test

Fire a sample event at your endpoint from the dashboard before going live. Test deliveries carry test: true.

Replay anything

Resend one delivery after a fix, or replay an endpoint's recent history to backfill a new system.

Rotate the secret

Issue a new signing secret whenever you need to. Each endpoint has its own.

Only care about some companies? Point an endpoint at a watchlist and it fires only for the accounts on it. See watchlists →

Webhooks, answered.

What to know before you point us at production.

Which events can I subscribe to?
Four: funding.created, acquisition.created, exec_move.created and hiring.created. An endpoint can subscribe to any combination, and the record inside each payload is the same record the REST API returns.
When does an event fire?
Once the record is confirmed and has settled, so you receive the finished record with its company resolved rather than a first draft that changes a minute later.
How do I verify a payload came from Datahyena?
Every request has an X-Datahyena-Signature header in the form t=<timestamp>,v1=<hmac>. Compute HMAC-SHA256 over the timestamp, a dot and the raw request body with your endpoint secret, then compare in constant time.
What happens if my endpoint is down?
A timeout or any non-2xx response is retried, up to 6 attempts in all, with the wait doubling from 30 seconds. Once you are back up you can replay any delivery from the dashboard.
How do I avoid processing an event twice?
Delivery is at least once, so a retry can repeat an event. Store the X-Datahyena-Event-Id header (or the payload id) and skip ones you have already handled.
Can I limit a webhook to specific companies?
Yes. Point the endpoint at a watchlist with Deliver for, and it fires only for companies on that list. Filters still apply on top, so you can scope to your accounts and still ask for Series A and up.
Do webhooks cost credits?
Each delivered event costs one credit, the same as one record from the API. Filters are applied before delivery, so you only pay for events you asked for. Webhooks are on the Growth and Scale plans.

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.

Get your API key

50 free credits · no credit card