Website Monitoring

Watch anything. Hear only what matters.

A monitor checks a page, a whole site, or a live API on your schedule — diffs every run, filters the noise with AI, and delivers a signed alert the moment something real changes.

Pages, whole sites, or live APIsAI suppresses noise before it reaches youHMAC-signed webhooks + email

Source

HTTP/2

Validation

100% match

Country

United States

Stock change — Product #A123

Jul 10, 2026 · 10:45:32 AM

check #8829-X

latency 24 ms

10:0010:45

Original

Out of stock

New

In stock

field: inStock · specific_data

Three scopes

Point it at a page, a site, or an entire API.

01 / 03 · scope: page

One page, watched your way.

Diff the whole rendered page — as Markdown, HTML, or cleaned HTML — or define a JSON schema and track only the fields you care about.

  • Whole-page content diffs, line by line
  • Or schema-extracted fields: a price, a status, a headline
  • Rendered in a real browser when the page needs JavaScript
{ "url": "…/product/123", "watchMode": "specific_data", "intervalMinutes": 60 }
snapshot diff · run #127 → #128specific_data
"product": "Aurora ANC Headphones"
"currency": "USD"
-"price": 19.99
+"price": 14.99
"inStock": true
AI summary: "Price dropped 25% — below your alert threshold." → alerted
0 min

fastest interval

checks as often as every 15 minutes

0

pages per site run

whole-site crawls, set-diffed

0

alert channels

signed webhooks and email

0

servers to run

no cron, no infrastructure

Every check, tuned

The knobs are there when you need them.

On your schedule

Checks run every 15 minutes to weekly — you pick the interval. Give a monitor an end date and it retires itself when the job is done.

From any country

Route checks through the country you choose, so you see regional prices, inventory, and geo-gated content exactly as locals do.

Real browser rendering

JavaScript-heavy pages render in a stealth browser before diffing. Static pages stay on fast, cheap HTTP — you choose per monitor.

Behind logins

Attach a saved browser session to watch account pages and gated content. If the session expires, we pause the monitor and flag it for re-auth.

Only your fields

Define a JSON schema and every check extracts and compares just those fields. Redesigns, ads, and rotating banners can't wake you up.

AI with a goal

Write the rule in plain English — “only when the price drops” — and an LLM reads every diff, applies it, and writes a summary of what actually changed.

From change to alert

Detected, judged, delivered.

Every check ends the same way: silence when nothing moved, and a verifiable, summarized alert when something did.

01

Detect

Content hashes, extracted fields, page sets, or JSON paths — diffed against the last snapshot. Every run is kept, so you can compare any two later.

02

Judge

With AI mode on, an LLM reads the diff against your goal. Cosmetic churn is suppressed; real changes get a plain-language summary.

03

Deliver

A signed POST to your webhook and an email to your team — retried automatically, every attempt logged. Verify the HMAC and trust the payload.

what your endpoint receivesHMAC-SHA256 signed
POST /hooks/anakin                       HTTP/1.1
X-Anakin-Signature:   sha256=ab12…9f4e
X-Anakin-Timestamp:   1783012204
X-Anakin-Delivery-Id: dl_7f3k2m

{
  "type": "monitor.change",
  "url": "https://example.com/product/123",
  "watchMode": "specific_data",
  "changedFields": ["price"],
  "summary": "Price dropped from $19.99 to $14.99",
  "diff": {
    "price": { "before": 19.99, "after": 14.99 }
  }
}
delivery logevery attempt recorded
successwebhook200 · 1 attempt12:04:11
successemailyou@company.com12:04:12
retryingwebhook503 · next attempt in 60s11:03:40

What people watch

If it changes on the web, it's worth a monitor.

Prices & stock

Track price and availability fields on product pages. Alert the instant a competitor cuts prices or an item comes back in stock.

page · specific_data

Competitor moves

Watch a rival's whole site. New landing pages, pulled features, edited pricing — you hear about it on the next crawl.

site · daily

Policies & terms

Monitor terms of service, privacy policies, and compliance pages. AI summarizes exactly which clause moved.

page · full_page + AI

Listings & jobs

Crawl careers pages and marketplaces on a schedule. Added and removed listings show up as clean set-diffs.

site · patterns

Search-rank drift

Run a Wire search action every few hours and watch just the rank paths. Know the moment you slip off position one.

wire · watch paths

Your own site

Point a site monitor at production. Pages that vanish or change after a deploy trigger an alert before your users notice.

site · post-deploy

Quick start

Watching in one call.

One POST creates the monitor — page, site, or wire. We handle the schedule, the diffing, the AI, and the alerts. Flip through the tabs to see all three scopes.

1
Sign up and get your API key
2
POST a URL to /v1/monitors with an interval
3
Receive a signed webhook on every change
import requests

API_KEY = "your_api_key"

# Watch one page — alert only when the price actually drops
monitor = requests.post(
    "https://api.anakin.io/v1/monitors",
    headers={"X-API-Key": API_KEY},
    json={
        "url": "https://example.com/product/123",
        "intervalMinutes": 60,
        "watchMode": "specific_data",
        "outputSchema": {
            "type": "object",
            "properties": {
                "price": {"type": "number"},
                "inStock": {"type": "boolean"},
            },
            "required": ["price"],
        },
        "aiMode": True,
        "aiGoal": "only when the price drops or it goes out of stock",
        "alertWebhookUrl": "https://your-app.com/hooks/anakin",
        "alertEmails": "you@company.com",
    },
).json()

print("Monitoring", monitor["id"])
# Keep this secret — verify X-Anakin-Signature with it:
print("Webhook secret:", monitor["alertWebhookSecret"])
Authenticate with the X-API-Key header.Get API key

FAQ

Frequently asked questions

Website Monitoring

The web won't tell you.
We will.

Set a monitor on a page, a site, or an API. The next meaningful change lands in your webhook — signed, summarized, on time.