API RabbitsAPIs multiply like rabbits

API FAN-OUT, WITHOUT THE WORKFLOW SPAGHETTI

One POST in. Everywhere it needs to go.

API Rabbits receives your data once and delivers it to every API, webhook, or app that needs it — with routing, field mapping, retries, and delivery logs built in.

No workflow canvas. No glue code. Just fan-out.

Where APIs multiply like rabbits.

Diagram: a single incoming request is accepted by API Rabbits, then delivered independently to four Rabbits — CRM (200 OK), Slack (200 OK), Analytics (202 Accepted), and a Custom API (201 Created).

Send a request down the rabbit hole.

This is a marketing simulation — no real requests leave your browser. It shows exactly what happens inside a live Project.

  • CRM
  • Slack
  • Analytics
  • Webhook

API fan-out without building the fan-out.

API Rabbits is an API fan-out and webhook routing service. Send one HTTP request or webhook to a Project, and API Rabbits can map, route, and deliver that event to multiple APIs or webhook endpoints independently.

Instead of writing and maintaining separate integrations, retry logic, queues, logs, authentication handling, and delivery monitoring for every destination, you configure Rabbits once and send the original event once.

One endpoint. Many rabbits.

01

Create a Project

Every Project gets its own inbound endpoint and API credential. Send it JSON from your app, form, vendor, webhook, or existing system.

POST api.apirabbits.com/v1/p/abc123
02

Add Rabbits

A Rabbit is a destination. Connect an API, choose a template, map fields, and decide when it should receive events.

CRMSlackAnalyticsCustom API
03

Send once

API Rabbits queues the event and independently delivers it to every Rabbit that matches your rules.

ReceivedQueued4 Rabbits4 delivered

You can build this yourself.

You probably shouldn't have to.

WITHOUT API RABBITS

  • Build endpoint
  • Build integrations
  • Store credentials
  • Transform payloads
  • Handle timeouts
  • Build retries
  • Handle 429s
  • Track failures
  • Build replay
  • Store logs
  • Monitor queues
  • Maintain all of it

WITH API RABBITS

POST once.

We handle the fan-out.

The parts that matter when a webhook actually depends on it

Nothing exotic. Just the pieces that turn "it usually works" into "it works."

API-key auth, not OAuth mazes

Every Rabbit connects with the API key, Bearer token, or Basic auth credential you already have. No app review, no redirect URIs, no waiting on a platform to approve you.

Per-Rabbit routing rules

Send everything, only during business hours, only after hours, or only when a field matches a condition you set. Rules run before delivery, per Rabbit, per project.

Automatic retries with backoff

A timeout or 5xx gets retried automatically with exponential backoff. A 4xx is treated as final and surfaced immediately — no silent retries against a request that will never succeed.

Full delivery history

Every attempt is logged: status code, latency, response body, and which rule matched or skipped. Replay a whole event or retry a single Rabbit from the same record.

SSRF-checked outbound requests

Destination URLs are resolved and validated before every call. Private, loopback, and metadata address ranges are rejected outright, on every request, every time.

Built for fan-out, not one hop

Each Rabbit fires independently and in parallel. One slow or broken destination never blocks or delays the others on the same event.

Nine templates. One engine underneath.

Every template is a pre-filled Custom HTTP config — the right base URL, auth type, and field-mapping hints already in place. Paste your own API key, Bearer token, or Basic auth credential and it sends live requests. No OAuth screens, no app review.

See all integrations
Custom HTTPSend to any HTTP/HTTPS endpoint you control.open endpoint
Generic WebhookDeliver the raw or mapped payload to a webhook receiver.open endpoint
HubSpotCreate or update a contact in HubSpot CRM.bearer
SalesforceCreate a Lead record via the Salesforce REST API.bearer
GoHighLevelCreate or update a contact in GoHighLevel.bearer
SlackPost a message to a Slack channel via Incoming Webhook.open endpoint
CalendlyTrigger a Calendly-related workflow endpoint.bearer
CallinglyTrigger an outbound call routing event in Callingly.api key_header
Tuco.aiSend a lead event into Tuco.ai.bearer

Every Rabbit decides for itself whether to run.

Rules are set per Rabbit, not globally. Send everything to Slack but only send after-hours alerts to on-call paging. Route enterprise leads to Salesforce and everyone else to a spreadsheet webhook.

always

Always

Deliver on every matching event, no conditions.

business_hours

Business hours

Only Mon–Fri, 9am–6pm, in the timezone you set.

after_hours

After hours

The inverse — nights, weekends, holidays covered.

conditions

Field conditions

plan equals "pro" and country not_equals "US", for example.

A dead destination doesn't mean a dead event.

Timeouts and 5xx responses get retried automatically with exponential backoff, up to three attempts. A 4xx is treated as final immediately — we don't retry a request that will never succeed. Every attempt, successful or not, is written to a permanent delivery record.

When something still fails, replay the whole event or retry a single Rabbit from its exact delivery record — same payload, same mapping, a fresh attempt.

Delivery timeline — CRM Rabbit

  1. 200Delivered on the first attempt.
  2. 503Destination times out — queued for retry.
  3. 503Retry #1 fails — backing off.
  4. 200Retry #2 succeeds. Delivery marked complete.

See every event, not just the ones that failed.

Activity is a live, reverse-chronological log of every event your Projects receive — which Rabbits it matched, what each one returned, and how long it took. Click into any event to see the exact outbound body that was sent.

TimeEndpointRabbitsStatus
14:32:08/v1/p/product-signups44/4 delivered
14:31:52/v1/p/support-tickets22/2 delivered
14:31:40/v1/p/order-events32/3 delivered
14:31:19/v1/p/product-signups44/4 delivered

It's one endpoint. It always has been.

Every Project gets a single inbound URL and an API key. POST JSON to it from anything that can make an HTTP request — a form handler, a webhook receiver, a backend job. No SDK required.

curl -X POST https://api.apirabbits.com/v1/p/product-signups \
  -H "Authorization: Bearer arb_live_ab12cd34_••••••••" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "sam@acme.com",
    "plan": "pro",
    "source": "product-hunt"
  }'

# 202 Accepted
{ "eventId": "evt_01M0H0G3F8K7YQ" }

Straightforward pricing, no per-Rabbit surcharge.

Pick a plan by event volume. Every plan includes retries, rules, field mapping, and delivery history.

Starter

For a single project finding its first integrations.

$49/ month

  • 10,000 events / month
  • 2 projects
  • 5 Rabbits per project
  • 7-day activity retention
  • Email support
Start with Starter
Recommended for launch

Growth

For teams fanning out production traffic to multiple systems.

$99/ month

  • 100,000 events / month
  • 10 projects
  • 20 Rabbits per project
  • 30-day activity retention
  • Delivery replay
  • Priority support
Start with Growth

Pro

For high-volume infrastructure with strict reliability needs.

$249/ month

  • 1,000,000 events / month
  • 50 projects
  • 100 Rabbits per project
  • 90-day activity retention
  • Delivery replay
  • Audit log export
  • Priority support
Start with Pro

Need more volume or dedicated support? See full plan details.

FAQ

Questions you probably have

One endpoint. Every destination.

Stop writing retry logic for webhooks.

Point one endpoint at API Rabbits, add your destinations, and let every request fan out — reliably, with retries, and a full record of what happened.

Plans start at $49/month. Cancel anytime.