Documentation

simplehook docs

Everything you need to receive webhooks locally with one line of code. SDKs for Node.js and Python.

Quick Start

Install the SDK and add one line to your app:

npm install @simplehook/express
import express from "express";
import { listenToWebhooks } from "@simplehook/express";

const app = express();
app.use(express.json());

listenToWebhooks(app, "ak_your_api_key");

app.post("/stripe/events", (req, res) => {
  console.log("Webhook received:", req.body);
  res.json({ received: true });
});

app.listen(3000);

Supported Frameworks

  • Node.js: Express, Fastify, Hono
  • Python: Flask, FastAPI
  • Go: net/http

AI Agent API

Pull webhook events via HTTP — no SDK needed. Supports instant poll, long-poll, and SSE streaming.

curl -H "Authorization: Bearer ak_..." \
  "https://hook.simplehook.dev/api/agent/pull?wait=true"

Listener Names & Targeted Routing

Run multiple SDK instances and route events to specific listeners. Listeners auto-register when your SDK connects with a name — no dashboard setup required.

// Pass a listener name as the third argument
listenToWebhooks(app, process.env.SIMPLEHOOK_KEY, "dev");

Assign routes to listeners via the dashboard or CLI: simplehook routes create /stripe --listener dev

Configuration

Configure delivery mode (queue vs passthrough), route patterns, listener IDs, and more via the dashboard or SDK options.

Privacy & Security

All webhook payloads are encrypted in transit. No request bodies are stored on simplehook servers — data flows through, never persisted.