Use Chrome Headless to render and capture the web page, then schedule a small script with a per-user launchd LaunchAgent. This makes recurring page screenshots without manually opening Chrome for every capture. The Mac must be available for the scheduled run; a job missed during sleep runs when the Mac wakes, while a powered-off Mac waits until its next scheduled run.
What you need and what this captures
This method needs Google Chrome installed on the Mac, a URL the Mac can reach, and a user account in which the scheduled job can run. Chrome Headless runs the browser without a visible window. Its screenshot is a rendered web page at a chosen viewport, not a capture of the Mac desktop or a guarantee of the state of a particular signed-in interactive Chrome session.
As an Amazon Associate I earn from qualifying purchases.
Chrome’s official Headless documentation describes unattended use and gives a macOS example using open -a "Google Chrome" --args --headless: Chrome Headless mode. The CLI reference documents screenshot, viewport, and timeout options: Chrome Headless command-line options.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Test a screenshot manually first
Choose the page URL, viewport dimensions, and maximum wait before capture. Run Chrome from Terminal and specify an output directory so the result is easy to find. For example, create a folder named captures in your home directory, then run:
#1 Best Overall
- AN AMAZING MAC AT A SURPRISING PRICE — With an incredibly portable and durable aluminum design, up to 16 hours of battery life,* and the A18 Pro chip, MacBook Neo is ready to go wherever school takes you.
- FOUR STUNNING COLORS. ONE DURABLE DESIGN — Choose from four beautiful colors — Silver, Blush, Citrus, or Indigo — each with a color-coordinated keyboard. And MacBook Neo is made with a durable recycled aluminum enclosure that helps it reach 60 percent recycled content by weight — the most ever in any Apple product.*
- FLY THROUGH EVERYDAY ASSIGNMENTS — Whether you’re cramming for finals, using Apple Intelligence* to summarize class notes, creating presentations, or even playing the latest Apple Arcade game,* MacBook Neo delivers the performance and AI capabilities you need to get things done.
- UP TO 16 HOURS OF BATTERY LIFE — MacBook Neo delivers all day battery life, so you can power through from early morning classes to late night study sessions without worrying about plugging in.
- A VIBRANT 13-INCH DISPLAY* — The gorgeous Liquid Retina display on MacBook Neo supports 1 billion colors, so photos and videos pop and text is crisp for easy reading.
mkdir -p "$HOME/captures"
cd "$HOME/captures"
open -a "Google Chrome" --args --headless --screenshot --window-size=1280,1000 --timeout=10000 https://example.com
Chrome’s documented default output is screenshot.png in the current working directory. Repeating this command overwrites that filename, so a recurring job needs a naming or retention plan. The --window-size value sets the capture viewport; --timeout caps how long Chrome waits before taking the shot, even if page loading continues. A 10-second timeout and 1280-by-1000 viewport are examples, not settings guaranteed to work for every site.
Choose a realistic capture condition
- Use the viewport your screenshot needs; responsive pages can look different at other widths.
- Set a wait long enough for the page’s content to appear. A timeout is a maximum wait, not proof that every image or script has finished.
- Use a stable output directory and a unique filename per run if you need a history of captures.
- Check the result manually before scheduling. Sites that require interactive sign-in, block automated traffic, or load content dynamically may not show the state you expect.
Save a reusable capture script
A wrapper script keeps the command, URL, destination, and timestamp naming together. In Terminal, create a script file:
mkdir -p "$HOME/bin" "$HOME/captures"
cat > "$HOME/bin/capture-site.sh" <<'EOF'
#!/bin/sh
set -eu
URL="https://example.com"
OUT_DIR="$HOME/captures"
CHROME="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
mkdir -p "$OUT_DIR"
STAMP=$(/bin/date '+%Y-%m-%d_%H-%M-%S')
"$CHROME" --headless --screenshot="$OUT_DIR/site-$STAMP.png"
--window-size=1280,1000 --timeout=10000 "$URL"
EOF
chmod +x "$HOME/bin/capture-site.sh"
Replace the example URL and adjust the viewport and timeout for the page. The script assumes Chrome is installed at the standard application path shown. If it is elsewhere, update CHROME to the installed Chrome executable path. Run "$HOME/bin/capture-site.sh" once from Terminal and verify that a timestamped PNG appears in ~/captures.
Rank #2
- BUILT FOR COLLEGE. AND BEYOND — MacBook Air with the M5 chip packs blazing speed and powerful AI capabilities into an incredibly portable design. And with up to 18 hours of battery life,* this thin and light powerhouse is ready to take on almost any major, just about anywhere.
- TEAR THROUGH TOUGH ASSIGNMENTS — With its faster CPU and unified memory, the M5 chip delivers even more performance and fluidity across apps, making multitasking and creative workflows smooth and responsive. A powerful Neural Engine and next-generation GPU with Neural Accelerators give you a powerful platform for AI.
- MAKE QUICK WORK OF YOUR TO-DO LIST — Apple Intelligence helps you write, express yourself, and get things done effortlessly — whether it’s for school or everyday life. With groundbreaking privacy protections, it gives you peace of mind that no one else can access your data — not even Apple.*
- UP TO 18 HOURS OF BATTERY LIFE — MacBook Air delivers incredible battery life with amazing performance, so you can power through a full day of classes without worrying about plugging in.
- A BRILLIANT 13.6-INCH DISPLAY* — The gorgeous Liquid Retina display on MacBook Air supports 1 billion colors, making photos and videos pop with rich contrast and sharp detail, and text appears supercrisp. So everything — from class presentations to movies to games — looks truly stunning.
Schedule the script with launchd
Apple recommends launchd for timed jobs and documents calendar scheduling with StartCalendarInterval. A per-user LaunchAgent runs in an individual user’s session. Apple’s developer guide is archived, so confirm exact setup details against the macOS version in use: Apple: Scheduling Timed Jobs and Apple: Creating Launchd Jobs.
Create the LaunchAgent plist
This example runs daily at 9:00 a.m. local time. Save it as ~/Library/LaunchAgents/com.example.website-screenshot.plist. Replace YOUR_MAC_USERNAME with the short account name shown by whoami; LaunchAgent paths must be absolute and plist arguments are not interpreted by an interactive shell.
mkdir -p "$HOME/Library/LaunchAgents"
cat > "$HOME/Library/LaunchAgents/com.example.website-screenshot.plist" <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.website-screenshot</string>
<key>ProgramArguments</key>
<array>
<string>/Users/YOUR_MAC_USERNAME/bin/capture-site.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>9</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/Users/YOUR_MAC_USERNAME/captures/launchd-output.log</string>
<key>StandardErrorPath</key>
<string>/Users/YOUR_MAC_USERNAME/captures/launchd-error.log</string>
</dict>
</plist>
EOF
The log paths are useful when diagnosing a scheduled run, since LaunchAgents do not run in the same interactive Terminal environment. The sample schedule uses the local system calendar; to change it, adjust the hour and minute values. Apple’s calendar interval supports additional date fields, but check the documentation for the macOS release in use before relying on a more specific schedule.
Rank #3
- AN AMAZING MAC AT A SURPRISING PRICE — With an incredibly portable and durable aluminum design, up to 16 hours of battery life,* and the A18 Pro chip, MacBook Neo is ready to go wherever school takes you.
- FOUR STUNNING COLORS. ONE DURABLE DESIGN — Choose from four beautiful colors — Silver, Blush, Citrus, or Indigo — each with a color-coordinated keyboard. And MacBook Neo is made with a durable recycled aluminum enclosure that helps it reach 60 percent recycled content by weight — the most ever in any Apple product.*
- FLY THROUGH EVERYDAY ASSIGNMENTS — Whether you’re cramming for finals, using Apple Intelligence* to summarize class notes, creating presentations, or even playing the latest Apple Arcade game,* MacBook Neo delivers the performance and AI capabilities you need to get things done.
- UP TO 16 HOURS OF BATTERY LIFE — MacBook Neo delivers all day battery life, so you can power through from early morning classes to late night study sessions without worrying about plugging in.
- A VIBRANT 13-INCH DISPLAY* — The gorgeous Liquid Retina display on MacBook Neo supports 1 billion colors, so photos and videos pop and text is crisp for easy reading.
Load and check the job
On current macOS releases, use launchctl bootstrap to load a per-user agent and launchctl kickstart to request a run for testing. Check the exact management behavior for your macOS release.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemslaunchctl bootstrap gui/$(id -u) "$HOME/Library/LaunchAgents/com.example.website-screenshot.plist"
launchctl kickstart -k gui/$(id -u)/com.example.website-screenshot
Look for a new timestamped PNG in ~/captures, then inspect launchd-error.log if it did not appear. The scheduled run uses the same wrapper, so test the script and verify its output before relying on the calendar trigger.
Mac availability and scheduling limits
A calendar-scheduled launchd job is not a cloud scheduler. Apple documents that if the Mac sleeps when the interval falls due, the job runs when the Mac wakes; if the Mac is off, it waits until the next designated run. If a screenshot must happen at an exact time regardless of whether your Mac is on, a per-user LaunchAgent is the wrong execution environment.
Rank #4
- AN AMAZING MAC AT A SURPRISING PRICE — With an incredibly portable and durable aluminum design, up to 16 hours of battery life,* and the A18 Pro chip, MacBook Neo is ready to go wherever school takes you.
- FOUR STUNNING COLORS. ONE DURABLE DESIGN — Choose from four beautiful colors — Silver, Blush, Citrus, or Indigo — each with a color-coordinated keyboard. And MacBook Neo is made with a durable recycled aluminum enclosure that helps it reach 60 percent recycled content by weight — the most ever in any Apple product.*
- FLY THROUGH EVERYDAY ASSIGNMENTS — Whether you’re cramming for finals, using Apple Intelligence* to summarize class notes, creating presentations, or even playing the latest Apple Arcade game,* MacBook Neo delivers the performance and AI capabilities you need to get things done.
- UP TO 16 HOURS OF BATTERY LIFE — MacBook Neo delivers all day battery life, so you can power through from early morning classes to late night study sessions without worrying about plugging in.
- A VIBRANT 13-INCH DISPLAY* — The gorgeous Liquid Retina display on MacBook Neo supports 1 billion colors, so photos and videos pop and text is crisp for easy reading.
The capture runs as the configured user. It should not be treated as automatically inheriting the state of a visible Chrome window, such as an interactive login or a manually opened tab. The Chrome and Apple documentation cited here does not promise that a particular site will load successfully or that the screenshot will include all site content by the timeout.
Other Mac screenshot options
| Option | Best fit | Trade-off |
|---|---|---|
Chrome Headless with launchd |
Recurring screenshots of a rendered web page with an adjustable viewport and command-line wait. | Requires script and LaunchAgent setup; runs depend on the Mac being available. |
| macOS Screenshot app | Occasional manual capture of the screen, a window, or a selected area. | Apple documents it as a user-operated screenshot tool, not a recurring Chrome webpage job: Take a screenshot on your Mac. |
| Shortcuts “Run JavaScript on Webpage” | JavaScript interaction with an active Safari webpage. | Apple’s action takes a Safari webpage as input, so it is not the direct way to automate a Chrome page: Run JavaScript on Webpage in Shortcuts. |
Troubleshooting
No screenshot file appears
- Run the wrapper directly in Terminal to reveal command errors.
- Confirm the Chrome executable path in
CHROMEand that the URL is reachable from the Mac. - Inspect
launchd-error.log; a LaunchAgent does not necessarily have the same PATH or working directory as Terminal. - Check that the destination folder exists and the user can write to it.
The file is always named screenshot.png or an older file disappears
Chrome’s default screenshot filename is screenshot.png in the current working directory. Use an explicit output path in the command and a unique filename, as the wrapper does, if runs should be retained.
Free tools Windows power users keep installed
One-click scans. No signup required.
The capture is blank, incomplete, or at the wrong size
- Increase or adjust the timeout for pages that need more time, while recognizing it only sets a maximum wait.
- Check that the chosen viewport is appropriate for the page’s responsive layout.
- Run a manual capture and inspect it before changing the schedule; a dynamic page may require a different wait or may depend on interaction not performed by this workflow.
The job does not run when expected
- Verify the plist is in the logged-in user’s
~/Library/LaunchAgentsfolder and that the script path is absolute and correct. - Confirm the LaunchAgent is loaded and its label matches the label used with
launchctl kickstart. - Remember that a sleeping Mac runs a missed calendar job on wake, while a powered-off Mac waits for its next scheduled interval.
- Check the plist syntax and update the load procedure for the macOS version installed.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request captures a URL, and the response can be a PNG, JPEG, WebP, or PDF. Its API documentation is at ScreenshotNeo docs.
Best Value
- SUPERCHARGED BY M5 — The 14-inch MacBook Pro with M5 brings next-generation speed and powerful on-device AI to personal, professional, and creative tasks. Featuring all-day battery life and a breathtaking Liquid Retina XDR display with up to 1600 nits peak brightness, it’s pro in every way.*
- HAPPILY EVER FASTER — Along with its faster CPU and unified memory, M5 features a more powerful GPU with a Neural Accelerator built into each core, delivering faster AI performance. So you can blaze through demanding workloads at mind-bending speeds.
- BUILT FOR APPLE INTELLIGENCE — Apple Intelligence is the personal intelligence system that helps you write, express yourself, and get things done effortlessly. With groundbreaking privacy protections, it gives you peace of mind that no one else can access your data — not even Apple.*
- ALL-DAY BATTERY LIFE — MacBook Pro delivers the same exceptional performance whether it’s running on battery or plugged in.
- APPS FLY WITH APPLE SILICON — All your favorites, including Microsoft 365 and Adobe Creative Cloud, run lightning fast in macOS.*
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, with response headers indicating the page verdict and whether a request was billed. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo: 1,000 free screenshots a month, no card.
Frequently Asked Questions
Does the Mac need to stay awake for a scheduled screenshot?
It can sleep; a missed calendar run is triggered when it wakes. If it is powered off, the missed run is not made up until the next scheduled interval.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC 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 & 11Can I use the same method to capture a visible Chrome window or the whole desktop?
No. Chrome Headless captures a rendered webpage. For desktop, window, or selected-area captures, use the macOS Screenshot app manually.
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.




