Website Screenshot + Change Detection — Full Page, Mobile, PDF avatar

Website Screenshot + Change Detection — Full Page, Mobile, PDF

Pricing

from $0.70 / 1,000 screenshots

Go to Apify Store
Website Screenshot + Change Detection — Full Page, Mobile, PDF

Website Screenshot + Change Detection — Full Page, Mobile, PDF

Bulk website screenshots on desktop, tablet and mobile: full page or visible area, PNG, JPEG or PDF, cookie banners hidden. Website change monitor: each run is compared with the last for website monitoring and visual regression, with changed % and a diff image. From $1 per 1,000 screenshots.

Pricing

from $0.70 / 1,000 screenshots

Rating

0.0

(0)

Developer

Salih Küçükkayış

Salih Küçükkayış

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

Take website screenshots in bulk (visible area or full page) of many web pages on desktop, tablet and mobile in one run, and monitor websites for visual changes: find out which pages changed since the last run.

$1 per 1,000 screenshots of the visible area ($0.90, $0.80 and $0.70 on the Starter, Scale and Business plans), $4 per 1,000 full-page screenshots (and PDFs). You pay only for screenshots that were captured. Failed pages are free. Change detection is included. No platform usage fees. (Plus a tiny start fee of $0.00005 per GB of run memory: $0.0002 per run at the default 4 GB.)

Quick start

Press Start with the example input. It captures two pages on desktop and mobile:

{
"urls": ["https://example.com", "https://www.wikipedia.org"],
"devices": ["desktop", "mobile"]
}

You get one dataset row per URL and device (trimmed here):

{
"url": "https://example.com",
"finalUrl": "https://example.com/",
"device": "desktop",
"format": "png",
"statusCode": 200,
"title": "Example Domain",
"width": 1920,
"height": 1080,
"fullPage": false,
"imageUrl": "https://api.apify.com/v2/key-value-stores/…/records/…png",
"tookMs": 2140,
"attempts": 1,
"error": null
}

To monitor pages for changes, add a monitor name and turn on change detection, then schedule the run (for example daily):

{
"urls": ["https://example.com/pricing"],
"devices": ["desktop"],
"fullPage": true,
"detectChanges": true,
"monitorName": "competitor-pricing",
"minChangePercent": 0.5
}

From the second run on, each row also has changed, diffPercent and, when something changed, diffImageUrl.

What you get

  • Many URLs × many devices in one run. Pick desktop, laptop, tablet, mobile and Android. Every URL is captured on each.
  • Visible area or real full page. For full-page captures the Actor scrolls once so lazy-loaded images appear, then captures the whole page. Pages too long for one capture (long articles, docs, feeds) are captured one screen at a time and joined, up to 50,000 px, with fixed headers shown once. Pages whose layout is exactly one screen tall with the content overflowing it (Wikipedia, many web apps) are captured in full, and a scroll lock left by a cookie banner is undone. Pages longer than the height you choose are cut there and marked truncated.
  • Visual change detection. Turn on Detect visual changes and schedule the Actor. Every screenshot is compared with the one from the previous run, and you get:
    • changed: true or false
    • diffPercent: how much of the page changed (% of pixels)
    • diffImageUrl: an image with the changes highlighted in red
  • Clean shots. Cookie and consent pop-ups (OneTrust, Cookiebot, Usercentrics, Didomi, Quantcast and more) are hidden. You can hide any other element with a CSS selector.
  • PNG, JPEG or PDF. Light or dark theme, locale, time zone, custom headers and cookies for your own staging sites.

Typical uses

  • Monitor competitors' pricing or landing pages every day and get only the pages that changed.
  • Check a release on desktop and mobile before and after a deploy.
  • Archive pages as PNG or PDF for compliance or evidence.
  • Give an AI agent eyes through the Apify MCP server: "take a screenshot of these pages on mobile".

How change detection works

  1. Set a monitor name (for example competitor-pricing) and turn on Detect visual changes.
  2. The first run saves each screenshot as the baseline in a key-value store named screenshot-baselines-<monitor name> in your account.
  3. Every later run compares the new screenshot with the baseline for the same URL and device, then saves the new one as the next baseline. Choose Fixed first capture to always compare with the first one instead.
  4. Use Minimum change to report to ignore tiny changes such as a clock or a rotating banner.

Tip: add an Apify integration (Slack, email, webhook) on the run and filter the dataset for changed = true.

Output

One dataset row per URL and device:

FieldMeaning
imageUrlLink to the screenshot (PNG, JPEG or PDF)
url, finalUrlRequested URL and the URL after redirects
deviceDevice profile used
statusCode, titleHTTP status and page title
width, height, bytesImage size in pixels and bytes
truncatedtrue if the page was taller than the maximum height
tiledtrue if the full page was captured one screen at a time and joined
changed, diffPercent, diffImageUrlChange detection results (when on)
previousCapturedAtWhen the compared screenshot was taken
noteFor example "first capture, saved as the baseline"
tookMs, attempts, errorTiming, tries and why it failed, if it did

The image files are also in the run's key-value store.

Good to know

  • A page that returns an error (for example 404) is still captured and charged, because you get the image of what the page shows. Pages that do not load at all are free.
  • Private and internal addresses (localhost, 10.x, 192.168.x, cloud metadata) are blocked: the page itself, every redirect, iframes and other resources. Custom proxy URLs must be http:// and must not point to such addresses.
  • Sites with strong bot protection may show a challenge page instead of the content. Use the proxy option, or the result will show what the browser saw.
  • You are responsible for capturing sites you are allowed to access and for respecting their terms.
  • Pricing: $0.001 per visible-area screenshot, $0.004 per full-page screenshot or PDF, plus $0.00005 per GB of memory when a run starts ($0.0002 at the default 4 GB). Change detection is included. Platform usage is included.
  • Full-page captures cost more because rendering and encoding a very tall image takes about 10 times the compute of the visible area.

What it costs

RunPrice (no discount)
100 pages × 2 devices, visible area$0.20
1,000 pages, visible area$1.00
1,000 pages, full page or PDF$4.00
Daily change check of 20 full pages for 30 days$2.40

FAQ

How do I get an alert when a page changes? Schedule the Actor with change detection on, and add an Apify integration (Slack, email or webhook) to the schedule. Filter the dataset for changed = true.

Am I charged for pages that fail? No. Pages that do not load at all are free. A page that loads with an error status (for example 404) is captured and charged, because you get the image of what it shows.

Can I capture pages behind a login or on a staging site? Yes: pass headers or cookies. Private network addresses (localhost, 10.x, 192.168.x) are blocked.

Can I get a PDF instead of an image? Yes: set format to pdf. PDFs are charged like full-page screenshots.

Can I run it from Make, Zapier, n8n, my own code or an AI agent? Yes, like any Apify Actor: through Apify's integrations, the Apify API or the Apify MCP server.

More from this developer

  • Bulk HTTP Requests: call any API once for every row of a CSV, JSON list or Apify dataset.
  • Keyword Search Volume: Google search volume, CPC and trends for a keyword list, in up to 20 countries in one run.
  • Document to Markdown: PDF, Word, PowerPoint, Excel and scanned images to clean Markdown with tables and RAG chunks, $2 per 1,000 pages.
  • Audio to Text: audio, video and podcast feeds to timestamped text, SRT/VTT subtitles and RAG chunks with Whisper, $5 per 1,000 audio minutes.
  • Video to Scenes: scene cuts, one keyframe per scene, a contact sheet and the transcript of each scene, $2 per 1,000 frames.
  • Career Site Jobs: open jobs from Greenhouse, Lever, Ashby, Workable, Recruitee and Workday career sites, with a new-jobs monitor and a hiring summary per company, $1 per 1,000 jobs.

Questions or a missing feature: open an issue on the Actor page.