Detect changes
Snapshot Archive automatically compares consecutive snapshots and generates visual diffs. Use the diffs API to find pages that changed, filter by change magnitude, and build automated monitoring pipelines.
Find significant changes this week
bash
# Significant diffs in the past 7 days, sorted by change %
curl "https://api.snapshotarchive.com/v1/monitors/42/diffs?created_after=2026-09-24&is_significant=true&sort=change_percent&order=desc" \
-H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json"
# Only large changes (>10%)
curl "https://api.snapshotarchive.com/v1/monitors/42/diffs?min_change_percent=10" \
-H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json"// Significant diffs in the past 7 days
$response = Http::withToken('YOUR_API_KEY')
->get('https://api.snapshotarchive.com/v1/monitors/42/diffs', [
'created_after' => '2026-09-24',
'is_significant' => true,
'sort' => 'change_percent',
'order' => 'desc',
]);
// Only large changes (>10%)
$response = Http::withToken('YOUR_API_KEY')
->get('https://api.snapshotarchive.com/v1/monitors/42/diffs', [
'min_change_percent' => 10,
]);import requests
headers = {'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'application/json'}
# Significant diffs in the past 7 days
resp = requests.get('https://api.snapshotarchive.com/v1/monitors/42/diffs',
headers=headers, params={'created_after': '2026-09-24', 'is_significant': True,
'sort': 'change_percent', 'order': 'desc'})
# Only large changes (>10%)
resp = requests.get('https://api.snapshotarchive.com/v1/monitors/42/diffs',
headers=headers, params={'min_change_percent': 10})const headers = { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'application/json' };
// Significant diffs in the past 7 days
const resp = await fetch(
'https://api.snapshotarchive.com/v1/monitors/42/diffs?created_after=2026-09-24&is_significant=true&sort=change_percent&order=desc',
{ headers });
// Only large changes (>10%)
const resp2 = await fetch(
'https://api.snapshotarchive.com/v1/monitors/42/diffs?min_change_percent=10',
{ headers });require 'net/http'
require 'json'
# Significant diffs in the past 7 days
uri = URI('https://api.snapshotarchive.com/v1/monitors/42/diffs?created_after=2026-09-24&is_significant=true&sort=change_percent&order=desc')
req = Net::HTTP::Get.new(uri, 'Authorization' => "Bearer #{API_KEY}",
'Accept' => 'application/json')
resp = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
diffs = JSON.parse(resp.body)['data']// Significant diffs in the past 7 days
req, _ := http.NewRequest("GET",
"https://api.snapshotarchive.com/v1/monitors/42/diffs?created_after=2026-09-24&is_significant=true&sort=change_percent&order=desc", nil)
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Accept", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
Tip: Minor changes like timestamp updates or ad rotations often register as 0.1–2% change. For meaningful content changes, filter with
min_change_percent=3 or use is_significant=true.