Capture, Inspect, and Replay Webhooks Instantly

A developer-first, permanent webhook ledger. Connect any third-party service or custom API in seconds. Built-in tunnel, zero lost events, infinite one-click replays.

live_webhook_stream
connected: http://localhost:3000
Payload DetailsPOST
✓ Delivered to Local Destination14ms
Headers
{
"content-type":"application/json",
"x-signature-256":"sha256=9f8e7d6c5b4a...",
"user-agent":"WebhookGateway/v1"
}
Payload Body
{
"event":"user.signup",
"user_id":"usr_99182",
"email":"alex@company.com",
"plan":"pro_tier"
}

How It Works

From zero to capturing webhooks in under two minutes.

1

Create a Project

Sign in with GitHub, click "New Project", and get your unique ingest URL instantly.

Your Ingest URL
https://your-domain.vercel.app/api/ingest/{projectId}
2

Point Your Webhook

Copy your Latch ingest URL and paste it into your provider's webhook settings: Stripe, GitHub, Shopify, or any service that sends webhooks.

Provider Setup
Stripe → Developers → Webhooks → Add endpoint → Paste URL
3

Inspect, Search & Replay

Webhooks appear live on the dashboard. Explore payloads with the JSON tree, diff schemas side-by-side, or forward events to localhost with the CLI.

CLI (Optional)
npx @ayomidedaniel/latch-cli listen <projectId> --forward-to http://localhost:3000/api/webhook

Features

Everything you need to capture, debug, and replay webhooks.

Interactive JSON Tree Viewer

Fold nodes, expand nested objects, and copy specific payload path keys (e.g. body.data.customer) instantly instead of scanning monolithic text.

Side-by-Side Payload Diffing

Select any two events to compare payload schemas side-by-side with visual Git-style additions and deletions. Instantly spot breaking changes from webhook updates.

Structured JSONB Search

Query transaction logs by values nested deep inside headers or payloads. Search for email targets, IDs, or error codes without scanning the whole database.

Latch CLI Proxy Tunnel

Sign in, create a project, and run a single line terminal command to forward webhooks straight to localhost:3000.

Frequently Asked Questions

Quick answers to the most common questions about Latch.

Anything that sends an HTTP POST to a URL. Stripe, GitHub, Shopify, Twilio, Clerk, custom backends. If it sends webhooks, Latch can capture them.
No. The CLI is optional. It forwards webhooks to your localhost in real time, like a lightweight ngrok. If you just want to capture and inspect events, the dashboard handles everything on its own.
Latch uses GitHub OAuth (public profile + email only) and scopes every query to your user ID. Your projects, events, and CLI tokens are isolated. Latch does not store your provider's signing secrets.
Yes. You can replay any captured event as many times as you want. Each replay sends the original headers and body to whatever destination URL you choose.
Yes. It's a standard Next.js app backed by PostgreSQL and Redis — both run locally, no cloud accounts needed. Check the self-hosting docs for the full setup.