▪ Free plan: 3 websites with daily snapshots, no card required → ▪ ▪ Free plan: 3 websites, no card →

Diffs

Visual diffs compare consecutive snapshots pixel-by-pixel to detect changes. When a monitor captures a new screenshot, the system automatically generates a diff against the previous snapshot. Each diff includes the percentage of pixels that changed, a heat-map image highlighting the changed regions, and a significance flag based on your threshold setting. Requires Starter plan or above.

List diffs

Returns visual diffs for a monitor, with the most recent first. You can filter by date range and change percentage — for example, to find only significant changes above a certain threshold. Each diff links to its before and after snapshots, so you can download both screenshots for comparison.

GET/v1/monitors/{monitorId}/diffs

Query parameters

ParameterTypeDescription
created_afterstringFilter diffs created after this date
created_beforestringFilter diffs created before this date
min_change_percentnumberOnly diffs with at least this change %
max_change_percentnumberOnly diffs with at most this change %
is_significantbooleanFilter by significance flag
sortstringcreated_at (default), change_percent
orderstringdesc (default) or asc
per_pageintegerItems per page (default: 20)
bash
# Get significant changes only
curl "https://api.snapshotarchive.com/v1/monitors/42/diffs?is_significant=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Response

200 OK
{
  "data": [
    {
      "id": 15,
      "monitor_id": 42,
      "change_percent": "12.50",
      "pixel_count_changed": 50000,
      "pixel_count_total": 2073600,
      "is_significant": true,
      "snapshot_before": { "id": "abc-123", "captured_at": "2026-09-29T12:00:00Z" },
      "snapshot_after": { "id": "def-456", "captured_at": "2026-09-30T12:00:00Z" },
      "created_at": "2026-09-30T12:00:05Z"
    }
  ],
  "meta": { "current_page": 1, "per_page": 20, "total": 8, "last_page": 1 }
}

Get a diff

Retrieves a single diff with its heat-map image URL. The diff_image_url is a signed URL pointing to a PNG that highlights changed areas in red. The response also includes the full monitor object and both snapshot references.

GET/v1/diffs/{id}
bash
curl "https://api.snapshotarchive.com/v1/diffs/15" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Diff threshold. Set diff_threshold_percent on the monitor to control sensitivity. A value of 5 means only changes affecting 5% or more of the page are marked as significant. Lower values detect more changes but may trigger on ad rotations or timestamps.