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.