Skip to main content

API endpoint monitoring with webhooks

DiffHook is API endpoint monitoring built around webhooks: point a monitor at a JSON API, tell it which JSON path to watch, and an HMAC-signed POST fires the moment the value changes. You don't build a polling service. You don't run a cron job.

Most teams end up writing a tiny Node script that fetches a JSON endpoint every five minutes, diffs a field, and posts to Slack. That script is a liability — it silently dies, the receiver has no way to verify authenticity, and nobody remembers to bump the check frequency before a launch. DiffHook replaces it with a managed monitor, a signed webhook contract, and a REST API you can script.

Workflow

Monitor a JSON API in three steps

The whole setup is one API call. No SDK, no config file, no polling infrastructure to deploy.

01

Create a JSON API monitor

POST to /v1/monitors with type: 'json_api', the target URL, a JSON path to watch (e.g. $.plans[0].price), and a check interval. DiffHook handles fetching, caching, and diffing.

02

Pick a webhook destination

Add any HTTPS endpoint as a receiver — your backend, an n8n trigger, Slack. Webhooks ship with HMAC-SHA256 signatures, automatic retries, and a delivery log you can replay.

03

React on change

When the watched JSON path changes, DiffHook POSTs a structured payload with event type, URL, old value, new value, and timestamp. Your code verifies the signature and acts.

API example

One POST, one monitor

Create a monitor from any language. The REST API is identical to the dashboard — everything you see in the UI is available via tokens.

POST /v1/monitors
{
  "type": "json_api",
  "url":  "https://api.example.com/v1/pricing",
  "json_path": "$.plans[0].price",
  "interval_seconds": 60,
  "deliveries": [
    { "type": "webhook", "url": "https://your-app.com/hooks/pricing" }
  ]
}

FAQ

API endpoint monitoring — common questions

What JSON paths does DiffHook support?
Standard JSONPath syntax, including array index ($.items[0].price), wildcards ($.products[*].sku), and filters ($.plans[?(@.name=='pro')].price). If a field matches, DiffHook tracks it; when the value changes between checks, a webhook fires.
How is this different from uptime monitoring?
Uptime monitoring fires when an endpoint goes down. DiffHook fires when an endpoint's JSON response changes. They solve different problems: uptime for 'is the service alive', DiffHook for 'did the data I care about move'. You can run both against the same URL with no conflict.
Can DiffHook monitor authenticated APIs?
Yes. Attach request headers (Authorization, API keys, custom tokens) per monitor. DiffHook stores them encrypted and sends them on every fetch. Rotate or revoke at any time via the API.
How fast does DiffHook check?
Down to every 60 seconds on the paid plan. The free tier is hourly. For API monitoring, most teams sit at 1–5 minute intervals during launches and hourly for baseline watching — configurable per monitor.

Related tools

Related webhook workflows

Retire that polling script

3 free monitors, 60-second checks on paid, HMAC-signed webhooks, full REST API. No credit card required.