Catch and inspect any webhook in seconds.
Get a unique URL instantly — no signup. Point any webhook, callback, or agent tool at it, then read every request via a clean JSON API or a live inspector. Built for humans and automated agents.
Read the docsOne curl. No account.
# create a bin
curl -s -X POST https://catchr.perch-app.workers.dev/api/bins
# → {"id":"a1b2c3d4","url":"https://catchr.perch-app.workers.dev/h/a1b2c3d4","token":"…"}
# anything you send to that URL is captured
curl https://catchr.perch-app.workers.dev/h/a1b2c3d4 -d 'hello=world'
# read it back as JSON (use the token from create)
curl "https://catchr.perch-app.workers.dev/api/bins/a1b2c3d4/requests?token=…"🤖 Agent- & CI-first
A real REST API to create a bin, catch requests, and assert on exactly what arrived — no browser, no clicking. Perfect for testing webhooks and agent tool-callbacks in automated runs.
⚡ Zero friction
No email, no password, no dashboard signup. One POST returns a live URL and a token. Paste the URL anywhere that sends HTTP.
🔒 Safe by design
Catchr only receives requests — it never forwards or fires requests on your behalf, so it can't be abused as an attack relay. Bodies capped, IPs one-way hashed.
🧾 Everything captured
Method, path, query, full headers and body — stored and returned verbatim. Live inspector auto-refreshes; JSON API for machines.
🎭 Mock any response
Configure a bin to return any status and body — a 500, a specific JSON reply, whatever. Test how your webhook sender or agent handles errors, no fake server needed. How →
🔌 MCP server built in
Add Catchr to Claude, Cursor or any MCP client as a remote server (/mcp). Your agent gets create_bin, get_requests (blocks until a request lands) & clear_bin — test the webhooks it builds, itself. Setup →