Utilumo
LightDarkSystem
Explainer1 min readUpdated July 1, 2026

What is a webhook?

Short answer

A webhook is an automated HTTP request a service sends to a URL you provide whenever a specific event occurs, so you receive data the moment it changes instead of repeatedly asking for it.

Webhook vs polling

With a normal API you pull data by sending requests. A webhook flips that: the provider pushes data to you. You register a URL, and when an event happens the provider sends an HTTP POST to it with the event details. That is why webhooks are also called HTTP callbacks.

How a webhook flows

Event to your endpoint
Eventsomething happens at the provider
POSTprovider sends data to your URL
Your endpointreceives and verifies it
200 OKyou acknowledge receipt
  • Payment received -> your billing system is notified
  • New commit pushed -> your CI pipeline starts
  • Form submitted -> a message is posted to chat
  • Email delivered or bounced -> your app updates status
Try it: REST Request TesterSend test POST requests to a webhook endpoint and inspect the response.Open tool
Verify every webhookBecause anyone who knows your URL can POST to it, providers sign requests (often an HMAC in a header). Always verify the signature and return quickly with 200, doing heavy work asynchronously.

References

Questions

What is the difference between a webhook and an API?

An API is something you call to pull data. A webhook is the provider calling you to push data when an event happens. Webhooks are event-driven; polling an API is request-driven.

Do webhooks use GET or POST?

Almost always POST, because the provider sends event data in the request body. Your endpoint reads that JSON body and responds with a 2xx status to acknowledge it.

How do I secure a webhook endpoint?

Verify the signature the provider sends (commonly an HMAC based on a shared secret), use HTTPS, and ignore requests that fail verification. Never trust the payload without checking it.

Does this send my data anywhere?

No. Utilumo's developer tools parse and transform input inside the browser tab. Nothing is uploaded, stored, or logged.

Keep reading