ScreenshotNeo

BlogHow-to

Distill.io Not Detecting Changes on a Website: Fixes to Try

Find out whether Distill missed a check, failed to capture changed content, or recorded a change without sending an alert—and fix the right stage.

By the ScreenshotNeo team4 October 20267 min read

If Distill.io is not detecting changes on a website, first check whether the monitor ran and whether its check succeeded. Then compare the captured content with Change History. If Change History already contains the change, detection worked; investigate conditions and notification actions instead.

Use this sequence to locate the failure: check ran → check succeeded → changed content was selected and recorded → conditions matched → notification action ran. Changing settings before identifying the failed stage can hide the cause.

1. Check whether the monitor is running

  1. Open the monitor’s check log and find its latest entry. Confirm checks are occurring at the expected times.
  2. Open View Details for a recent check. Read the error, if any, and inspect the captured snapshot to see what Distill actually saw.
  3. If the log says the monitor is available on a device, open the local Watchlist in the Distill extension or desktop app. Confirm the monitor is on and local monitoring is enabled.
  4. For a local monitor, make sure the computer, browser, or app that runs it is available. A local monitor cannot check while its device is off or unavailable.

Distill’s overview of local and cloud monitoring explains the difference: local checks run on your device, while cloud checks run on Distill’s servers. If checks are absent, fix monitor status or availability before investigating selectors or alert conditions.

2. If a check failed, diagnose the error and snapshot

A failed check cannot detect a new change. Distill says, “If the check errors out, Distill will not detect new changes.” Use the specific error and snapshot to choose a fix; avoid changing several unrelated settings at once. See Distill’s troubleshooting errors guide.

SELECTION_EMPTY

This error can mean the selected element no longer exists, the content loads after the check starts, or the site blocks access from cloud monitoring. Compare the snapshot with the live page and address the cause you see:

  • The page structure changed: select the current element again. Distill supports CSS, XPath, JS, and XCSS selector types.
  • The content appears late: configure a delay, then check whether the snapshot includes the content. Distill documents a configurable delay from 0 to 20 seconds. Use the shortest delay that reliably captures the content.
  • The page blocks cloud access: try a local monitor, or use an appropriate proxy or dedicated cloud device where available.
  • The content is dynamic: review the dynamic setting, which controls whether dynamic webpage content is loaded. Change it only when the snapshot indicates dynamic loading is relevant.

These options are described in Distill’s configuration and advanced monitor options documentation.

Authentication or access errors

If the snapshot shows a sign-in page, access-denied page, or different content than you expect, refresh the login state and configure the monitor to access the authenticated page. For a dedicated cloud device, saved cookies can expire; Distill’s missing-alert guide recommends reconfiguring the monitor from Devices to refresh and save cookies.

3. If the check succeeded, compare its snapshot with Change History

When the check log reports success but you cannot find the visible change in Change History, use the captured snapshot to determine what was available to the monitor at check time.

  • The snapshot does not show the changed content: check whether it had loaded by the time the check ran. Add a delay only when the evidence points to late loading.
  • The snapshot shows the page but not the changed section: confirm the selected region includes that section. Re-select it if the site’s structure or the element has changed.
  • The snapshot shows a logged-out or restricted page: refresh authentication and confirm the monitor can still access the required content.
  • The page varies by location: compare what the monitor sees with what you see in your browser. Distill’s guidance on location-dependent results recommends local monitoring when appropriate; proxies or a dedicated cloud device may help with geo-restricted pages in cloud monitoring.

After correcting the selection, access, or loading issue, wait for another successful check and then inspect Change History. That confirms whether detection is recording the intended content.

4. If Change History has the change, inspect conditions

A change in Change History means the monitor detected and recorded it. If no alert followed, inspect the conditions before changing the page selection.

  1. Open the condition evaluation or debugger for the change.
  2. Test the configured conditions against the changed data and see which conditions matched.
  3. Correct conditions that are too strict or do not match the kind of change being recorded.

Conditions can suppress alerts even when a change exists. Alerts are triggered by a change: a keyword that was already present does not trigger a new alert merely by remaining on the page. See Distill’s guide to using conditions to get alerts on important changes.

5. Check notification actions and quotas

Once the change appears in Change History and the conditions behave as intended, check the delivery path:

  • Confirm the monitor has the notification action you expect configured.
  • Check that the relevant notification channel is enabled and configured correctly.
  • Review usage statistics and any applicable quota. Distill documents that an exhausted cloud-check quota can halt checks. Depending on your setup, its suggested options include switching to local monitoring, upgrading, or waiting for the monthly reset.

Do not treat a missing message as proof that detection failed. The log, Change History, condition evaluation, and action configuration show which stage needs attention. Consult Distill’s missing-alert troubleshooting guide for its current interface-specific steps.

Quick diagnostic table

What you find Likely stage Next step
No recent check in the log Monitor did not run Check monitor status, local device availability, and whether local monitoring is enabled.
A check entry has an error Check failed Open View Details and inspect the error and snapshot; fix the evidenced access, selection, loading, or authentication problem.
Successful snapshot omits the changed content Content not captured Review selection, loading time, login state, and access restrictions.
Change appears in Change History but no alert arrives Alerting stage Inspect condition evaluation, notification actions, channel settings, and quotas.

Common errors and fixes

Symptom or error Possible cause Fix to try
SELECTION_EMPTY Selected element disappeared, content loads late, or cloud access is blocked. Inspect the snapshot; reselect the element, add an evidence-based delay, or try local monitoring or an appropriate proxy/dedicated cloud device.
Snapshot shows a sign-in or access-denied page Authentication expired or the site denied the monitor. Refresh login state and confirm the monitor is configured for authenticated content. For dedicated cloud devices, refresh saved cookies if they expired.
Snapshot is missing content that appears later The content loads after the check begins. Review dynamic loading and set a delay between 0 and 20 seconds, based on what the snapshot shows.
Change is in history but no notification arrived Condition did not match, action is absent or misconfigured, channel is disabled, or quota is exhausted. Debug conditions first, then verify the action, channel, and usage.
Cloud monitor has stopped checking Cloud-check quota may be exhausted. Check usage statistics and the applicable quota; consider local monitoring, a plan change, or the monthly reset.

Performance, reliability, and cost considerations

  • Delay: a delay can capture late-loading content, but it also adds time to each check. Use it only when the snapshot shows that the target content was not ready.
  • Local availability: local monitoring depends on the device and browser or app being available. Cloud monitoring runs on Distill’s servers, but access restrictions, authentication, and location-dependent pages can affect its view.
  • Reliable diagnosis: snapshots and check details provide evidence about what the monitor saw. Use them before changing configuration, then confirm the result in a later check and Change History.
  • Quota: check current usage and quota in Distill. Quota exhaustion can stop cloud checks; consult Distill for current plan terms rather than relying on stale prices or limits.

Or skip the browser setup

If your goal is to save a webpage as an image or PDF as part of your workflow, ScreenshotNeo provides a website screenshot API and MCP server. It does not replace Distill’s change monitoring or alert conditions; it can capture a page when you need a screenshot. One GET request returns a PNG, JPEG, WebP, or PDF. See the ScreenshotNeo API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', res);
  • Cookie banners are accepted and removed before capture; 60+ known consent platforms, newsletter popups, and chat widgets can be removed, and each step can be turned off.
  • Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed. Responses indicate the page verdict and billing status in headers.
  • An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
  • The free plan includes 1,000 screenshots a month with no card. Paid plans start at $5 for 3,000 screenshots; every feature is on every plan.

Sign up free for 1,000 screenshots a month, with no card required.

FAQ

Does a successful check mean Distill should have sent an alert?

No. A successful check can record a change without an alert if conditions do not match or the notification action or channel is not configured as expected.

Should I switch from cloud monitoring to local monitoring?

Consider it when the snapshot shows cloud access is blocked, the page varies by location, or the site requires a session that cloud monitoring cannot maintain. Local monitoring depends on its device being available.

How much delay should I add?

Use the snapshot to establish that the content arrives late, then choose the smallest delay that captures it. Distill documents a range of 0 to 20 seconds.

Will ScreenshotNeo tell me when a page changes?

No. ScreenshotNeo captures pages as images or PDFs; Distill is the product in this guide for monitoring changes and sending alerts.