Skip to main content
Read the Notte skill and follow its setup instructions when setting up Notte or building browser automation. This is the shared source for CLI setup, authentication, and the browser-to-code workflow.
A monitor checks a target on a schedule and records a change when the result differs from what it saw before. Add a webhook to be notified.

Try it in the Console

Try this API in the playground, no code needed.

Quick start

Creating a monitor runs it once right away to record a baseline. Save the webhook secret.

Create a monitor

string
required
A label for the monitor.
object
required
What to watch. Pick a type:
A page target’s actions run before each check, in order. Each one is one of:
  • {"do": "wait", "timeMs": 1000}
  • {"do": "scroll", "direction": "down", "amount": "viewport", "maxScrolls": 3}
  • {"do": "perform", "action": "click the Load more button"}
object
required
{"type": "interval", "frequency": 1, "unit": "days"}. unit is minutes, hours or days.
object
How changes are decided:
  • {"type": "exact"}: any difference counts.
  • {"type": "semantic", "confidence_threshold": 0.75}: only meaningful differences count.
object
url, events (change.detected, run.completed) and optional retry with delays_seconds, for example [10, 60, 300].
string[]
Free-form labels.

Manage monitors

PATCH accepts the same fields as create, plus status: active or paused. POST .../run returns 202 with the run_id.

Runs and changes

Every check is a run. A run that finds a difference also creates a change. A run looks like this:
run_type is baseline for the first run and scheduled for the others.

Webhooks

When a monitor has a webhook, Notte sends a delivery to your url for each event you subscribed to.
  • change.detected: a run found a change.
  • run.completed: a run finished.
Check what happened to a delivery: A delivery’s status is pending, delivering, retrying, delivered, failed or cancelled. The list request needs "type": "monitor". Add any of monitor_id, run_id, status, created_after, limit (default 25, max 100) and cursor to filter and page:
Rotate a webhook secret with POST /data/monitors/{monitor_id}/webhook/rotate-secret.