Monitor structured website data without writing custom scrapers. Add Screenshots captures HTML, converts it to JSON, and compares each run across US, Europe, and Australia / Asia Pacific regions so you can flag pricing, inventory, or compliance changes in real time—then deliver results straight to your preferred storage.
Start with a free account (data monitoring requires Pro) or Compare plans
Need visual change alerts too? Start with the track website changes tool or review the website change alert FAQ.
Add Screenshots provides businesses with the ability to monitor and track website changes over time, allowing them to stay ahead of competitors and ensure that their website is functioning properly. By converting HTML to JSON and storing and monitoring the data for changes, businesses can easily track changes, perform audits, and conduct automated testing, leading to improved decision-making and increased customer satisfaction.
There are many use cases for tracking website changes using HTML to JSON conversion and monitoring, such as:
There are two ways to evaluate a webpage for changes:
For API-first setups, see the website screenshot API overview and GET/POST parameters for data payload options.
Scheduled data monitoring is ideal when you'd like to capture and store data at regular intervals. On the other hand, track changes data monitoring is suitable when you'd like to capture and store changed data at regular intervals and receive notifications when a change is detected.
Using scheduled data monitoring, it is possible to achieve:
For example, capturing website data of your competitor's pricing page on a daily schedule may produce the following files:
pricing 2020-08-01.jsonpricing 2020-08-02.json...pricing 2020-08-31.jsonTrack changes data monitoring is great when you'd like to capture and store only changed data at a regular interval and receive an email notification when a change was detected. For example, capturing your competitor's pricing on a daily basis may produce the following files:
pricing.json (last version)pricing 2020-08-07.json (send email notification)pricing 2020-08-25.png (send email notification)Using the approach above to track slow changing website data, it is possible to achieve the following:
A comparison between scheduled and track data changes:
| Description | Scheduled | Track Changes |
|---|---|---|
| Run at scheduled intervals | ||
| Only store changed data | ||
| Track when data was changed | ||
| Track what data changed | ||
| Send an email notification when a change was detected |
The following request properties are available on the data object in the payload:
| Parameter | Required | Description |
|---|---|---|
| file | Required | The name or pattern (without the extension) of the JSON file. Daily Example: use {filepath}_{date} to save the date when the change was detected.Time Example: use {filepath}_{datetime} to save the date and time when the change was detected. |
| folder | Optional | The folder name or pattern to store JSON files to Example: use track-changes to save the JSON file in the "track-changes" folder. |
| pretty | Optional | Set to true for pretty print formatting of JSON data |
| image | Optional | Set to true to add a screenshot image |
| track_changes | Optional | Enable track changes by setting it to true |
| old_file | Required | The name or pattern (without the extension) to rename the old JSON file to. Daily Example: use {filepath}_{date} to save the date when the change was detected.Time Example: use {filepath}_{datetime} to save the date and time when the change was detected. |
| old_folder | Optional | The folder name or pattern to store old JSON files to Same Folder Example: use {domain} to save the old JSON file in the "example.com" folder.Archive Folder Example: use {domain}_{date} to save the old JSON file in the "example.com_2020-08-25" folder based on when the change was detected. |
| change_email | Optional | The email address to send change notification and the new and old JSON files to. Use a semicolon ; separated list for multiple recipients such as: bob@email.com; sam@email.com; mary@email.com |
| change_email_subject | Optional | The subject of the email. Defaults to: "Data change detected" |
The example below is using a comprehensive POST request with:
POST https://api.addscreenshots.com/screenshots/?apikey=YOUR_API_KEY
{
"url": "https://example.com/",
"azure": "https://screenshots.blob.core.windows.net/screenshotdemo?st=2020-08-10T07%...fEWvNz6fbdeUenY%3D",
"data": {
"script": "bGV0..Base64-Encoded-JavaScript...",
"image": false,
"pretty": true,
"track_changes": true,
"change_email": "user1@example.com;user2@example.com",
"change_email_subject": "The Data Changed",
"file": "current",
"folder": "json-files",
"old_file": "{date}",
"old_folder": "history"
}
}Your API key can be found on the API Keys page. Need an API Key? Sign up to get started.
For internal applications, replace YOUR_API_KEY with your own unique API Key.
For public facing websites or hotlinks, generate a signed URL.
Launch Your Monitoring Workflow
Capture HTML, convert it to JSON, and store each version in your storage destination. Add Screenshots compares snapshots and triggers alerts when fields change.
Send JSON and screenshots directly to AWS S3, Azure Blob Storage, Google Cloud Storage, Cloudflare R2, secure FTP, or email. Webhooks can notify downstream systems instantly.
No. Add Screenshots runs concurrent monitoring jobs without throttling, and you can distribute captures across US, Europe, and Australia / Asia Pacific regions for accuracy.