Webhook Inspector

Get a disposable URL you can point any webhook or integration at, then inspect exactly what arrived - method, headers, query string and raw body.

Create an endpoint, point a webhook at it, and see exactly what arrives - headers, body and all. Nothing to install, no account.

How to use the Webhook Inspector

  1. Create a bin

    Generate a unique URL. It is live immediately and needs no configuration or account.

  2. Point your webhook at it

    Paste the URL into whichever service is sending the webhook, or use it as the callback URL in your own code.

  3. Read what actually arrived

    Every request is captured in full - method, headers, query parameters and raw body - so you can compare it against what you expected.

Debugging a webhook you cannot see

Webhook integrations fail in a frustrating way: the sender reports success, your handler never runs, and there is nothing in between to inspect. The request went somewhere, but you have no visibility into what it contained or whether it arrived at all.

A request bin gives you that missing middle. Point the sender at a URL that records everything and returns 200, and the question changes from "why is my handler broken" to "here is exactly what was sent" - which is usually enough to spot the problem immediately.

What the captured request tells you

The content type is the most frequent culprit. A sender posting form-encoded data to a handler expecting JSON produces an empty parsed body and no error anywhere. Seeing the actual header settles it in seconds.

Signature headers are the second. Most webhook providers sign their payloads, and verification fails if you hash the parsed body rather than the raw bytes, or if you have the wrong secret. Having the raw body alongside the signature header lets you reproduce the calculation by hand.

Then there are the mundane ones that are invisible from the sending side: the method is POST where you expected PUT, the payload is nested one level deeper than the documentation showed, or a required field arrives as an empty string rather than being absent.

Also useful for local development

A bin gives you a public URL without tunnelling anything out of your machine. Use it as a callback URL while building an OAuth flow, as a placeholder endpoint while a colleague develops the sending side, or as a way to confirm your outbound requests look right before pointing them at a real API.

Frequently asked questions

Do I need an account to use the webhook tester?
No. Create a bin and it works immediately. Bins you create are remembered in your browser so you can find them again.
What does the bin return to the sender?
A 200 response, so senders treat the delivery as successful and do not enter a retry loop while you are inspecting.
Can I see the raw request body?
Yes. The raw body is captured alongside the parsed view, which is what you need to reproduce a webhook signature calculation.
How long are requests kept?
Bins are temporary and expire after a period of inactivity. They are for debugging, not for archiving production traffic.
Should I send production data to a bin?
Avoid it. Anyone with the bin URL can read what arrived, so use test payloads rather than live customer data.