POST /v1/diff

Track what changed between two snapshots.

Compare a page against an earlier snapshot and get a clean diff of what moved.

Give your agent a way to watch the web for change. Send a URL plus a previous extraction result and get back a unified text diff, metadata changes, added and removed links, and a word count delta. Built in Rust, with JS rendering and bot protection handled automatically.

View docs
What you get

Everything in one call.

Unified text diff

A line-by-line diff of the page content, so you see exactly what was added, removed, or rewritten.

Metadata changes

Each changed metadata field comes back with its old and new value, plus the word count delta.

Link tracking

Separate lists of links added and links removed tell you when new pages appear or old ones drop off.

Snapshot-based, stateless

You hold the baseline and pass it back in, so you control the cadence and never store state on us.

How it works

From URL to output in four steps.

01

Send URL and baseline

POST the target URL along with a previous extraction result from an earlier /v1/scrape call.

02

We re-fetch the page

The current version is scraped fresh, handling JS rendering and bot protection on the way.

03

Diff the two versions

Content, metadata, and links are compared against your baseline to find every change.

04

Get the change report

The response returns a Changed or Unchanged status with the full diff and link deltas.

API

One request, structured back.

Change detected

Status: Changed · +70 words

- Starter: $9/mo
- Pro: $29/mo
+ Starter: $12/mo
+ Pro: $39/mo
+ Enterprise: $99/mo

Links added: https://webclaw.io/enterprise

Common questions

Frequently asked questions

how to detect when a web page changes

Save the JSON output of a /v1/scrape call as your baseline, then POST that URL plus the saved result to /v1/diff. You get back a Changed or Unchanged status with a unified text diff, metadata changes, and the links added or removed since the snapshot.

how to monitor a competitor pricing page for changes

Scrape the pricing page once and keep the result as your baseline. On each check, call /v1/diff with the same URL and that baseline. The text_diff shows exact price line changes and word_count_delta flags whether content grew or shrank.

does the diff API store my previous snapshots

No. The endpoint is stateless. You hold the previous extraction result and pass it in the previous field on each request, so you stay in full control of the cadence and history.

can the change monitoring API see content behind JavaScript or bot protection

Yes. The current version is fetched through the same engine as /v1/scrape, so JS rendering and bot protection are handled automatically before the diff is computed.

Am I billed for failed requests?

No. Credits are only consumed on successful responses. A standard page is 1 credit; heavier work like JS rendering or protected-site access costs a few extra credits.

Ship an agent that actually sees the web.

One credit pool, every endpoint. Cancel anytime, or self-host the open-source core for free.

API docs