Stop writing webhook retry logic yourself.

Receiving servers crash, networks stall, and exactly-once delivery is a myth. Point your outbound webhooks at Harepost and we queue them, retry with backoff when the target fails, and keep a full history of every attempt.

Built on Cloudflare's edge. One endpoint to call, no queue infrastructure for you to run or pay for.

Get your free key How it works
POST // api.harepost.com/v1/send
$ curl -X POST https://api.harepost.com/v1/send \
  -H "Authorization: Bearer hp_live_..." \
  -H "Content-Type: application/json" \
  -d '{"target":"https://your-app.com/webhook","body":{"event":"order.paid"}}'

➔ 202 ACCEPTED
{
  "queue_id": "hr_9f2a81k2",
  "status": "queued",
  "created_at": "2026-06-09T14:22:10Z"
}

Delivery you don't have to babysit

Hand off the retries, the backoff math, and the dead-letter handling to an endpoint built for it.

Performance

⚡ Edge Ingestion

Your requests hit a Cloudflare Worker at the nearest edge location and get acknowledged in single-digit milliseconds. Traffic spikes scale out automatically with no cold starts.

Resilience

⏳ Exponential Backoff

Failed deliveries retry on an exponential schedule with full jitter, which spreads them out so a recovering endpoint receives a gentle ramp of traffic. We also honor the Retry-After header your server sends back.

Observability

🔍 Full Delivery Logs

See every attempt with its status code, latency, and response body. When a target stays down, the payload lands in a dead-letter queue you can inspect rather than losing it.


Stop reinventing the background queue

The same delivery guarantees you would build by hand, without building or running any of it.

What you deal with Rolling your own (Redis + cron) Harepost
Initial build Days of scaffolding, a queue, a worker, and tests. One endpoint. Change your destination URL.
Retry and backoff Hand-written timers, jitter, and Retry-After handling. Built in, tuned per request.
Failed deliveries Manual scripts to find and isolate dead jobs. Automatic dead-letter queue with a full attempt history.
Running it Patching, monitoring, and paying for always-on servers. Nothing. It runs on serverless edge infrastructure.

Start free

Get a key, verify your domain, and start sending. No card required.

Free

Everything you need to put reliable delivery in front of your app.

$0 / forever
  • Delivery to your verified domains
  • Retries with exponential backoff
  • Dead-letter queue
  • Full delivery and attempt history
  • 60 requests per minute
Get your free key

Pro Coming soon

Higher limits and recovery tools for production workloads.

Soon
  • Higher rate limits
  • Longer history retention
  • Replay failed deliveries from the dashboard
  • Priority support
Start free, upgrade later

Questions

The things developers ask before sending us their first request.

How do you keep this from being abused?

A key can only deliver to domains its account has verified by adding a DNS record. You cannot point Harepost at a domain you do not control, and every key is rate limited.

What happens if my endpoint stays down?

The delivery retries on a backoff schedule, and once it runs out of attempts the payload moves into a dead-letter queue. It is held there for you to inspect rather than dropped.

How do I know a request really came from Harepost?

Opt into signing and each delivery carries an HMAC signature your endpoint can verify. We also forward your idempotency key so your app can safely dedupe.

Can I control retries and timeouts per request?

Yes. Set the attempt count, base delay, timeout, and jitter on the request itself, or rely on sensible defaults.


Get your free key

Create an account, verify a domain, and send your first webhook.