To schedule website screenshots on Google Cloud, build a worker that opens the page in headless Chrome, captures the rendered page, and saves or delivers the image. Then use Cloud Scheduler to invoke it on a recurring schedule. Google now calls its function product Cloud Run functions; for a containerized batch worker, a Cloud Run job is another option.
Choose how the screenshot worker will run
Pick the execution pattern that matches how you package the browser and handle each run. Google documents scheduling for Cloud Run services and jobs, as well as a Pub/Sub-triggered function pattern.
| Pattern | Use it when | Tradeoff |
|---|---|---|
| Cloud Scheduler → HTTP Cloud Run function | The worker handles a direct request and each screenshot run is short and straightforward. | A simple HTTP flow, but authentication and request handling must be configured correctly. |
| Cloud Scheduler → Cloud Run job | You package the screenshot worker as a containerized batch task. | A clear batch execution shape, with the job and Scheduler configured as separate resources. |
| Cloud Scheduler → Pub/Sub → event-driven function | You want a message boundary between scheduling and screenshot processing. | Adds messaging and event-trigger configuration. |
Compare deployment packaging, direct-request versus message-trigger behavior, execution duration and worker needs, operational complexity, and cost inputs. The documentation does not establish which pattern is faster; measure with your workload before choosing on performance grounds.
Build the screenshot worker
Use headless Chrome through a browser automation library such as Puppeteer or Playwright. Google’s Cloud Run browser guidance lists webpage screenshots as a headless Chrome use case. The worker should load the target page, wait for the content your capture needs, take the screenshot, and send it to a durable destination or downstream consumer chosen for your application.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11#1 Best Overall
The official guidance establishes browser capture and scheduling, but does not prescribe a storage design for screenshots. Decide whether your application needs an object store, another durable destination, or immediate delivery to a downstream process; ensure the worker can report whether capture and delivery succeeded.
Create a recurring schedule
- Deploy the target. Deploy an HTTP Cloud Run function for a direct request handler, or create a Cloud Run job for a containerized batch task.
- Create a Cloud Scheduler job. Select the appropriate target type and enter a five-field Unix-cron-style schedule. For example,
30 16 * * 7runs at 16:30 every Sunday in the timezone selected for the job. - Set the timezone deliberately. Choose the timezone that matches the intended schedule, especially if the requirement is a local human time. Record the timezone alongside the cron expression so the schedule can be understood and maintained.
- Configure authentication. Keep the HTTP target authenticated. Set Scheduler to send an OIDC token for a service account that has permission to invoke the target, and verify that the OIDC audience matches the deployed function or service URL.
- Test and inspect. Force-run the job during setup, then inspect Scheduler execution status and Cloud Run logs to confirm the invocation, capture outcome, and output delivery.
Cloud Scheduler can target HTTP endpoints, Pub/Sub topics, and App Engine services. A one-time task is different from a recurring cron schedule: Google’s job-management guidance points to Cloud Tasks for tasks scheduled up to 30 days ahead.
Rank #2
Secure and operate scheduled captures
- Grant only the necessary access. Keep the target private where possible and give the Scheduler service account only the invoker permission it needs.
- Make repeated runs safe. Google notes that if the Cloud Scheduler API is disabled and later re-enabled, jobs that failed during the gap run immediately. Design the handler to tolerate retries or repeated invocations if duplicate captures or deliveries would be costly.
- Keep logs useful and safe. Log the target URL as appropriate for your privacy requirements, execution outcome, and output destination. Do not expose credentials or sensitive page content in logs.
- Check the whole delivery path. A successful browser capture is not enough if storing or forwarding the output fails. Record or surface delivery failures so a scheduled run does not silently lose its result.
Estimate cost from your workload
Google’s scheduled HTTP function tutorial identifies Cloud Run and Cloud Scheduler as billable components and directs readers to the pricing calculator. Cloud Run jobs have their own applicable costs. Do not estimate from the cron expression alone: frequency, browser runtime, memory, region, storage and retention, retries, and current pricing all affect the total. Check current official pricing for the design and region you intend to use; the documentation does not provide a defensible screenshot throughput, latency, or workload-cost benchmark.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If you need scheduled website captures without building and operating the browser worker, ScreenshotNeo is a website screenshot API and MCP server. It returns an image or PDF from a GET request; you can call it from your own scheduled Cloud Run function or job. Its clean-shot process accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides screenshot tools for AI agents.
For example, call the API from the worker you already schedule:
Rank #3
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. ScreenshotNeo includes 1,000 screenshots per month free with no card; paid plans start at $5 for 3,000 screenshots. Sign up for the free plan.
Frequently Asked Questions
Can Cloud Scheduler invoke a screenshot worker without making it public?
Yes. Keep the HTTP target authenticated and configure Scheduler to send an OIDC token from a service account authorized to invoke it.
What is the difference between a recurring screenshot schedule and a one-time task?
Cloud Scheduler is for recurring cron-style schedules. Google’s guidance points to Cloud Tasks for a one-time task scheduled up to 30 days ahead.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




