track_changes
Track content changes on web pages with baseline capture, intelligent comparison, and scheduled monitoring with webhook alerts. Perfect for monitoring competitors, legal policies, and breaking news.
Use Cases
Monitor Competitor Pricing Pages
Get instant alerts when competitors change prices, features, or product offerings
Track Legal/Policy Document Changes
Monitor Terms of Service, Privacy Policies, or regulatory compliance documents
Watch News Sites for Updates
Detect breaking news or article updates on specific pages in real-time
Detect Website Outages or Defacements
Get alerts when significant structural changes indicate errors or attacks
Monitor API Documentation for Breaking Changes
Track API reference pages to catch deprecations and breaking changes early
Endpoint
/api/v1/tools/track_changesParameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Required | - | The URL to monitor for changes Example: https://competitor.com/pricing |
operation | string | Optional | compare | Operation type: "create_baseline" | "compare" | "monitor" | "get_history" | "get_stats" Example: compare |
trackingOptions | object | Optional | - | Options for what to track and how Example: {"granularity": "high", "ignoreWhitespace": true} |
monitoringOptions | object | Optional | - | Options for scheduled monitoring Example: {"enabled": true, "interval": "1h"} |
storageOptions | object | Optional | - | Options for change history storage Example: {"retainHistory": true, "maxHistoryEntries": 100} |
Operations Guide
Different operations for various monitoring workflows
Webhook Notification Format
When changes are detected above threshold, this payload is sent to your webhook
Request Examples
Response Example
{ "success": true, "data": { "comparison": { "changeScore": 0.35, "significance": "medium", "changes": [ { "type": "text", "description": "Pricing changed from $99/mo to $79/mo", "location": "div.pricing-card > span.price", "oldValue": "$99", "newValue": "$79", "impact": "high" }, { "type": "link", "description": "New \"Enterprise\" link added", "location": "nav.pricing-tiers", "action": "added", "url": "/pricing/enterprise", "impact": "medium" }, { "type": "structure", "description": "New section added: \"Compare Plans\"", "location": "main > section:nth-child(3)", "action": "added", "impact": "low" } ], "summary": "3 changes detected: 1 high impact, 1 medium impact, 1 low impact", "timestamp": "2025-10-15T14:30:00Z" }, "baseline": { "url": "https://competitor.com/pricing", "captured_at": "2025-10-15T12:00:00Z", "hash": "a1b2c3d4e5f6", "metrics": { "textLength": 4567, "linkCount": 23, "elementCount": 145 } }, "history": { "totalChecks": 48, "changesDetected": 5, "lastCheck": "2025-10-15T14:30:00Z", "nextCheck": "2025-10-15T15:30:00Z" } }, "credits_used": 3, "credits_remaining": 997, "processing_time": 2340}data.comparison.changeScoreOverall change score (0-1, where 1 is completely different)data.comparison.significancelow, medium, or high based on changeScoredata.comparison.changesArray of detected changes with detailsdata.baseline.hashUnique hash of the baseline content for comparisondata.history.nextCheckNext scheduled check (if monitoring enabled)credits_usedFixed 3 credits per operation (baseline, compare, monitor, etc.)processing_timeTypically 2-4 seconds for comparison operationsError Handling
No Baseline Found (400 Bad Request)
Must run create_baseline operation first before comparison. Each URL needs its own baseline.
Invalid Monitoring Interval (400 Bad Request)
Interval must be one of: 15m, 30m, 1h, 6h, 24h. Shorter intervals require higher plans.
URL Not Accessible (400 Bad Request)
Target URL returned error or is blocked. Check URL accessibility and authentication.
Webhook Failed (500 Internal Server Error)
Webhook URL returned error or timeout. Ensure endpoint is accessible and returns 200 OK.
Credit Cost
Cost Breakdown:
create_baseline: 3 credits (one-time per URL)
compare: 3 credits per check
monitor (setup): 3 credits (one-time)
Scheduled checks: 3 credits per execution
get_history: 3 credits per retrieval
get_stats: 3 credits per retrieval
Monitoring Cost Example:
1-hour monitoring interval: 24 checks/day × 3 credits = 72 credits/day/URL
6-hour monitoring interval: 4 checks/day × 3 credits = 12 credits/day/URL
24-hour monitoring interval: 1 check/day × 3 credits = 3 credits/day/URL
Plan Recommendations:
Free Plan: 1,000 one-time trial credits = Monitor 5 URLs at 6h intervals for 1 month
Hobby Plan: 5,000 credits = Monitor 25 URLs at 6h intervals ($19/mo)
Professional Plan: 50,000 credits = Monitor 250 URLs at 6h intervals ($99/mo)