Change-Detect API API
The Change-Detect API returns website content-monitoring and change-detection data as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary snapshot endpoint returns a page's content hash, structural hash, text hash, title, meta description, main content, normalized text, word count and links — a fingerprint you can compare over time. You can also diff two snapshots, run a monitor_check, extract structured content and batch multiple URLs. It is built for change monitoring, compliance and competitive-intelligence workflows that need to detect when a page changes without building a diffing pipeline. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, snapshot, on .
{
"method": "POST",
"url": "https://api.reefapi.com/change-detect/v1/snapshot",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"url": "https://example.com"
}
}{
"ok": true,
"meta": {
"api": "change-detect",
"endpoint": "snapshot",
"mode": "live",
"latency_ms": 679.4,
"record_count": 1,
"bytes": 559,
"cache_hit": false,
"method": "fetch_normalize_fingerprint_bare_dc_curl_cffi",
"ssrf_guarded": true,
"noise_resistant": true,
"final_url": "https://example.com",
"content_hash": "feb057ddba5ac313",
"likely_js_app": false
},
"data": {
"content_hash": "feb057ddba5ac[redacted-phone]af05c17370808a81030f[redacted-phone]d045c25534dbf",
"structural_hash": "512c91013abc5671902f6fa2f0575d0f64927e8bd61885798eb04655a048b68f",
"text_hash": "feb057ddba5ac[redacted-phone]af05c17370808a81030f[redacted-phone]d045c25534dbf",
"title": "Example Domain",
"meta_description": null,
"main_content": "Example Domain\nThis domain is for use in documentation examples without needing permission. Avoid use in operations.\nLearn more",
"normalized_text": "Example Domain\nThis domain is for use in documentation examples without needing permission. Avoid use in operations.\nLearn more",
"word_count": 19,
"links": [
"https://iana.org/domains/example"
],
"link_count": 1,
"content_type": "text/html",
"status": 206,
"fetched_at": "[redacted-phone]T17:19:28Z",
"byte_size": 559,
"likely_js_app": false,
"final_url": "https://example.com",
"selector": null,
"selector_matched": null
}
}What the Change-Detect API API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| snapshot | Fetch a URL and return a noise-resistant fingerprint: content_hash (normalised main content, rotating-token-stripped), structural_hash (DOM skeleton), text_hash, title, meta_description, main_content (boilerplate-stripped), word_count, links[]. Store the returned snapshot/hash and feed it back to diff/monitor_check later. | Ops teams call snapshot to fetch a URL and. | url, selector, follow_redirects |
| diff | Diff a page against a prior baseline (snapshot object OR content_hash OR raw text), or compare two live URLs (url + url2). Returns changed(bool), change_ratio(0..1), change_type(text|structural|both|none), added[]/removed[]/modified[] blocks, and a human summary — all on the NOISE-RESISTANT normalised content. | Developer tools call diff to get diff a page against a prior baseline (snapshot object OR content_hash OR raw text), or compar…. | url, baseline, url2, selector, mode, ... |
| monitor_check | The stateless half of monitoring: re-fetch the URL and tell you FAST whether it changed since a known hash. Pass baseline_hash (+ optional selector/mode). Returns changed(bool) + current_hash + a short diff_summary — the cheap 'did it change?' path. | Validation workflows call monitor_check to get the stateless half of monitoring. | url, baseline_hash, selector, mode, follow_redirects |
| extract | Main-content extraction only — boilerplate (nav/header/footer/ads/cookie/comments) stripped → clean text + structured blocks + links. Useful to feed clean diffs or to get just the article. No fingerprint comparison. | Data-quality teams call extract to get main-content extraction only. | url, selector, follow_redirects |
| batch | Snapshot up to 20 URLs concurrently in one call (each independently SSRF-guarded, shared concurrency). Returns a compact fingerprint per URL. | Ops teams call batch to get snapshot up to 20 URLs concurrently in one call (each independently SSRF-guarded, shared conc…. | urls, selector |
Call snapshot from your stack
curl -X POST https://api.reefapi.com/change-detect/v1/snapshot \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"url":"https://example.com"}'import requests
r = requests.post(
"https://api.reefapi.com/change-detect/v1/snapshot",
headers={"x-api-key": REEF_KEY},
json={
"url": "https://example.com"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/change-detect/v1/snapshot", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"url": "https://example.com"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.change-detect.snapshot with {"url":"https://example.com"}.Who uses this API and why
- Competitive-intelligence tools call snapshot then diff to detect when a competitor changes pricing or copy.
- Compliance teams use monitor_check to alert when a terms or policy page is updated.
- Content pipelines use extract and batch to normalize and track many pages at once.
Questions developers ask before integrating
What is the Change-Detect API API?
Change-Detect API API is a ReefAPI endpoint group for change-detect api It returns live JSON through POST requests under /change-detect/v1.
Is the Change-Detect API API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Change-Detect API calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Change-Detect API login or account?
No login to Change-Detect API is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Change-Detect API data?
The page example is captured from a live snapshot call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Change-Detect API API use?
Change-Detect API actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Change-Detect API from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call change-detect actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Change-Detect API API a Change-Detect API scraper?
It is the managed alternative to a DIY Change-Detect API scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same change-detect api back as clean JSON.
Why does my Change-Detect API scraper keep getting blocked?
Most Change-Detect API scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.