API v2p95 84 ms in 6 regions

Signed, retried, replayable event delivery

Send an event with one API call. Harbor Hooks signs it, delivers it to every subscribed endpoint, retries with exponential backoff for up to 72 hours, and keeps a searchable log you can replay from.

Delivering for 2,400+ engineering teams

Sending events in production at

The platform

A delivery team you don't have to hire

Queueing, signing, observability and SDKs, run by people who care about the 0.01%.

One call, every endpoint

Send once. We fan it out to every subscriber.

Uptime SLA on Scale and Enterprise.

8 typed SDKs

Generated from one OpenAPI spec.

Signed and scoped

HMAC signatures, rotating secrets, regional data.

Retried, not dropped

A 503 at 2 a.m. becomes a 200 at 2:04 a.m.

Shared debug log

Support and engineering see the same delivery history.

How it works

From first event to production in an afternoon

No queue to run, no cron jobs, no retry table to migrate.

  1. 1

    Send your events

    Install the SDK and call send() wherever your app emits an event. Existing JSON payloads work as they are.

  2. 2

    Set delivery rules

    Pick a region, a retry policy and rate limits per endpoint. Defaults are sensible; every knob is optional.

  3. 3

    Watch them land

    Each delivery shows up in the log with status, latency and the response body. Replay anything that failed.

Pricing

Pay for events, not for retries

Retries, replays and signature checks are always free. You only pay for events you send.

Compare plans
Compare plansHobby$0per monthFor side projects and prototypes.Start freeScaleMost popular$49per monthFor production apps with real customers.Choose ScaleEnterpriseCustomannualFor regulated teams and high volume.Talk to sales
Events per month50k1M + $20/MCustom
Endpoints3UnlimitedUnlimited
Delivery log7 days30 days90 days
Regionsus-eastAll 6All 6 + dedicated
Event replay
Uptime SLA99.99%99.99% + credits
SSO and SCIM
SupportCommunityEmail, 1 business daySlack, 1 hour

Prices in USD, billed monthly. Overage on Scale is $20 per additional million events. Cancel any time.

Testimonials

Engineers who stopped babysitting a queue

Sample reviews written for this template. Replace them with your own.

  • “A customer's endpoint was down for six hours over a weekend. Every event arrived when it came back, in order. I found out on Monday from the log.”
    Placeholder portrait of Grace LiuGrace LiuBackend Engineer
  • “Signature verification took me ten minutes in Go. Our old setup had a shared secret nobody remembered how to rotate.”
    Placeholder portrait of Marcus BellMarcus BellPlatform Lead
  • “Support can search the delivery log by customer ID and replay events themselves. That used to be an engineering ticket every day.”
    Placeholder portrait of Amara NwosuAmara NwosuHead of Support
  • “We needed EU data residency for a bank customer. Switching the workspace to eu-central was a dropdown, not a quarter.”
    Placeholder portrait of Jonas LindqvistJonas LindqvistCTO
  • Placeholder portrait of Priya Shah (illustration)
    “The typed Python SDK caught a renamed field in CI before it reached 1,200 integrations. That alone paid for the year.”
    Placeholder portrait of Priya ShahPriya ShahSenior Developer
  • “Per-endpoint rate limits saved us. One customer's tiny server kept falling over; now we cap them at 5 a second and move on.”
    Placeholder portrait of Kenji WatanabeKenji WatanabeSRE

FAQ

Questions from developers

Something missing? Email us; an engineer answers, usually within a few hours.

What counts as an event?

One API call to send, regardless of how many endpoints it fans out to or how many retries it takes. An event delivered to five subscribers and retried twice is still one event on your bill.

How do retries work?

Any non-2xx response or a timeout after 30 seconds triggers a retry. The default schedule is 12 attempts over 72 hours with jittered exponential backoff. You can shorten it per endpoint, and after the last attempt the event moves to a dead-letter queue you can replay.

How do my customers verify payloads?

Each request includes a signature header with an HMAC-SHA256 of the timestamp and body. Every SDK ships a verify() helper, and the docs include copy-paste snippets for frameworks that don't have an SDK yet.

Where is my data stored, and for how long?

Payloads are stored in the region you choose when you create a workspace and are deleted when your log retention ends: 7, 30 or 90 days depending on plan. We never move data between regions.

We already have an in-house system. How do we migrate?

Most teams dual-send for a week: keep the old worker running, send the same events through Harbor Hooks with delivery paused, compare the logs, then flip endpoints over one customer at a time. Our team will review your plan for free.

What happens if I go over my plan?

We never drop or throttle events because of billing. On Hobby we email you at 80% and 100% and ask you to upgrade; on Scale additional events are billed at $20 per million at the end of the month.

What does the SLA cover?

The 99.99% SLA covers the send API accepting events and our workers attempting delivery. If we miss it in a calendar month, you get service credits of 10 to 50% of that month's bill, applied automatically.

Can I cancel at any time?

Yes. Downgrade to Hobby or close the workspace from settings. Paid plans are billed monthly with no annual commitment, and you can export your delivery log as JSON before you go.

Send your first signed event in five minutes

Free up to 50,000 events a month. No credit card, no sales call.

Retries and replays never count toward your bill

Live demo · Harbor Hooks— View template →