Use Case

Automated Competitor Change Detection

Build an automated change-detection pipeline with scheduled screenshots and visual diffs. Get Slack or email alerts when competitor sites change.

Overview

This is not a one-time analysis — it is a continuous, automated pipeline. Screenshotly captures competitor pages on a schedule, and your pipeline diffs each new capture against the previous one to detect meaningful changes in real time.

The technical workflow: a cron job or serverless function calls the Screenshotly API on a cadence (hourly, daily, weekly). Each capture is stored with a timestamp. An image-diff library like pixelmatch or resemble.js compares the new capture against the baseline, producing a diff score (0-100%). When the score exceeds your threshold — say 5% to ignore ad rotations and minor layout shifts — the pipeline fires an alert via Slack webhook, email, or PagerDuty.

E-commerce teams use this to detect competitor price drops within hours. SaaS product managers catch new feature launches before the press release. Agencies run monitoring across dozens of competitor domains for their clients — all hands-free. The key difference from competitive analysis is that this runs autonomously and continuously, while analysis is a deliberate, point-in-time exercise.

Key Benefits

Continuous automated monitoring on any cadence
Pixel-level visual diff with configurable thresholds
Instant Slack or email alerts on meaningful changes
Historical timeline of competitor page evolution

Results You Can Expect

24/7
automated monitoring
Minutes
to detect changes
100+
competitor pages tracked

How It Works

1

Register competitor URLs and set a capture cadence (hourly/daily)

2

Deploy a cron job or serverless function to call the Screenshotly API

3

Store each capture with a timestamp in S3, R2, or a database

4

Run pixelmatch or resemble.js to diff new vs previous capture

5

Fire Slack webhook or email when diff score exceeds your threshold

Code Example

// Scheduled competitor monitoring
const monitorCompetitor = async (competitorUrl) => {
  const screenshot = await fetch('https://api.screenshotly.app/screenshot', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      url: competitorUrl,
      device: 'desktop',
      format: 'png',
      fullPage: true,
    }),
  });
  
  // Save with timestamp for comparison
  const timestamp = new Date().toISOString();
  await saveToStorage(`competitors/${timestamp}.png`, screenshot);
  
  // Run visual diff against yesterday's capture
  const changes = await detectChanges(screenshot, yesterdayCapture);
  if (changes.significant) {
    await sendAlert(changes);
  }
};

Frequently Asked Questions

How do I detect changes between competitor screenshots?

Use image comparison libraries like pixelmatch or resemble.js to compute a pixel-level diff. Set a threshold (e.g. 5% change) to filter out noise like ad rotations and focus on meaningful updates like pricing or layout changes.

Can I monitor competitor pages behind login walls?

If you have legitimate access to competitor portals (e.g. public pricing after signup), you can pass session cookies via the API. Never use this to access content you are not authorized to view.

What's the best schedule for competitor monitoring?

Monitor pricing pages daily, feature and landing pages weekly, and blog/content pages monthly. Adjust frequency based on how often competitors update — fast-moving SaaS companies may warrant more frequent checks.

How many competitor pages can I monitor at scale?

The API handles thousands of captures per day depending on your plan. Batch URLs and process them sequentially with small delays to stay within rate limits. The Growth plan supports up to 10,000 captures per month.

Want a step-by-step walkthrough?

Read: Website Monitoring Screenshots Guide

Ready to automate competitor monitoring?

Get started with 100 free screenshots. No credit card required.

Related Use Cases