How to Take Multiple Screenshots at Once
Learn the fastest way to capture several screenshots, full webpages, or repeatable batches on Windows, macOS, Edge, and the command line.
“Multiple screenshots at once” can mean three different jobs:
- Several separate captures: repeated regions, windows, or screens during one session.
- One long capture: an entire webpage that extends below the viewport.
- A repeatable batch: screenshots from many URLs, devices, or page states.
Choose the matching workflow below. Windows Snipping Tool is quickest for manual captures, macOS Screenshot is built in, Microsoft Edge can capture a full page, and shot-scraper is suited to repeatable command-line batches.
Choose the right screenshot workflow
| Goal | Best method | Output |
|---|---|---|
| Several regions or windows | Windows Snipping Tool | Clipboard, saved image, or shared capture |
| Several captures on a Mac | macOS Screenshot | Files saved to the desktop by default |
| One page taller than the screen | Microsoft Edge Capture full page | One long webpage image |
| Many URLs or repeatable states | shot-scraper YAML | Named files in a scriptable batch |
| API-driven capture from an application | ScreenshotNeo | PNG, JPEG, WebP, or PDF response |
Take several separate screenshots on Windows
- Arrange the first target on screen.
- Press Windows+Shift+S to open the capture overlay.
- Choose Rectangle, Freeform, Window, or Full screen.
- Select the target. The capture is copied to the clipboard and appears in Snipping Tool, where you can save or share it.
- Repeat for each target. Press Alt+N to create another snip in the same mode.
Capture a delayed state
Use a delay when a menu, tooltip, or other temporary state must open before the screenshot. Press Alt+D, then choose a delay from 1 to 5 seconds. Open the state during the countdown and complete the snip.
Keep a manual batch organized
- Use a consistent naming pattern such as
page-01.png,page-02.png. - Save each capture immediately if you need to preserve the sequence.
- Use Window mode for application comparisons so browser chrome and neighboring windows do not enter the image.
- Use Full screen only when the complete desktop is the intended subject.
Take several screenshots on macOS
macOS Mojave 10.14 and later include the built-in Screenshot app. Open it from Applications > Utilities or with Shift+Command+5, then choose a full screen, window, or selected portion capture.
By default, screenshots are saved to the desktop with date-and-time filenames such as “Screen Shot [date] at [time]”. Capture each target, then sort the files by name or creation time. If you need a sequence, rename the files after the session or move them into a dedicated folder.
Capture one long webpage in Microsoft Edge
- Open the page in Edge and wait for the content you need to appear.
- Press Ctrl+Shift+S.
- Select Capture full page.
- Review the resulting long image, then save or copy it.
This is the efficient choice when “multiple screenshots” really means content below the visible viewport. Edge captures the page without manual scrolling. The feature name and availability can vary by device, market, and browser version.
When full-page capture is not reliable
- Lazy-loaded sections may not exist until you scroll or interact with them.
- Infinite-scroll pages may have no stable end.
- Fixed headers can repeat or overlap content in a long image.
- Animations and rapidly changing ads can produce inconsistent frames.
For a stable result, wait for the page to finish loading, scroll through important lazy sections first, and disable motion where the site allows it.
Batch screenshots with shot-scraper
Use shot-scraper when the same capture must be repeated across many URLs or on a schedule. Its YAML configuration describes multiple screenshots. The exact options depend on the installed version; the examples below follow the documented 0.14.2 syntax, so check your installed version before adapting them.
1. Install and verify
pip install shot-scraper
shot-scraper --version
2. Create a YAML batch
screenshots:
- url: https://example.com
output: captures/example-home.png
- url: https://example.com/pricing
output: captures/example-pricing.png
- url: https://example.org
output: captures/example-org.png
3. Run the batch
shot-scraper multi captures.yml
Use --no-clobber to skip files that already exist, which makes reruns safer:
shot-scraper multi captures.yml --no-clobber
Add --retina when you need higher-density output:
shot-scraper multi captures.yml --retina
Batch design checklist
- Give every URL a unique output filename.
- Create the output directory before running in automation.
- Use
--no-clobberfor incremental jobs. - Record the URL, viewport, timestamp, and tool version beside the files when captures are used as evidence.
- Retry only transient failures; investigate authentication, robots, and bot-check pages instead of retrying forever.
Capture many URLs through an API
For application code, an API avoids maintaining a browser installation, viewport process, and queue yourself. ScreenshotNeo accepts one GET request with a URL and returns PNG, JPEG, WebP, or PDF. Its options cover full-page capture, element selectors, device presets, custom viewports, retina scale, waiting, cookies, headers, JavaScript, hiding selectors, blocking resources, caching, asynchronous jobs, bulk capture, and signed webhooks. See the ScreenshotNeo documentation for parameter details.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" \
-d access_key=YOUR_API_KEY \
--data-urlencode url=https://stripe.com \
-o shot.webp
Python
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)
Node.js
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 failed: ${res.status}`);
const data = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', data));
Useful options for a multi-page batch
| Need | ScreenshotNeo capability |
|---|---|
| Long pages | Full-page capture with lazy images loaded |
| One component | Capture an element by CSS selector |
| Consistent visuals | Dark mode, 12 device presets, any viewport, retina scale, timezone, and geolocation |
| Dynamic apps | Wait for a selector, delay, or network idle; run custom JavaScript or click an element |
| Private pages | Custom headers, cookies, user agent, and Authorization |
| Noise removal | Hide selectors and block ads, trackers, requests, or resource types |
| Repeat runs | Choose a cache TTL; use signed links for public image tags |
| Large batches | Bulk capture supports up to 100 URLs per call; asynchronous jobs support signed webhooks |
| Documents | PDF paper size, margins, landscape mode, and page ranges |
Or skip the browser setup
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and whether the shot was billed. 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 shots. Every feature is available on every plan. Create a free ScreenshotNeo account.
Troubleshooting
The screenshot is blank
Cause: the page failed to load, requires authentication, or is blocked by a bot check. Fix: verify the URL, provide required cookies or headers, wait for a selector or network idle, and inspect the response verdict. With ScreenshotNeo, blank pages and failed loads are identified in the response and are not billed.
Only the visible viewport was captured
Cause: a region or viewport mode was selected. Fix: use Edge’s Capture full page, shot-scraper’s full-page configuration, or ScreenshotNeo full-page capture.
Lazy images are missing
Cause: images load only after scrolling or an intersection event. Fix: scroll the page before a manual capture, wait for the relevant selector, or use a capture service that loads lazy images during full-page capture.
A popup or consent banner covers the content
Cause: the overlay appeared after navigation. Fix: dismiss it manually, hide its selector, or use ScreenshotNeo’s consent and cleanup steps.
Batch files were overwritten
Cause: output names were reused. Fix: include a page or run identifier in each filename and use shot-scraper’s --no-clobber.
Captures differ between runs
Cause: animations, ads, time zones, responsive breakpoints, or changing data. Fix: set a fixed viewport and timezone, wait for a stable selector, hide animated elements, block unnecessary requests, and use a cache TTL where appropriate.
Performance, reliability, and cost
- Manual tools: fastest for a handful of one-off images, but they depend on the current desktop state and are difficult to reproduce.
- Edge full page: convenient for one long page, but browser availability and page behavior can vary.
- shot-scraper: repeatable and scriptable; runtime grows with URL count and page load time, so use no-clobber runs and bounded retries.
- ScreenshotNeo: use bulk capture for up to 100 URLs, asynchronous jobs and signed webhooks for longer batches, and caching with a TTL for repeated URLs. Only clean shots are billed; bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing.
For predictable spend, set explicit output formats and viewports, cache stable pages, avoid unnecessary retries, and read the X-Page-Verdict and X-Billed headers in your job logs.
FAQ
Can I take several screenshots with one keyboard shortcut?
On Windows, Windows+Shift+S opens Snipping Tool and Alt+N repeats the current snip mode. macOS Screenshot can capture repeated targets, but each capture is a separate action.
What is the difference between multiple screenshots and a full-page screenshot?
Multiple screenshots are separate files or captures. A full-page screenshot is one image containing content beyond the visible viewport.
Which method is best for nightly website monitoring?
Use a scripted batch such as shot-scraper or an API workflow. Store deterministic filenames, wait for stable selectors, and record failures separately from successful images.
Can screenshots include authenticated pages?
Yes, when the tool supports the required session. ScreenshotNeo accepts custom cookies, headers, user agents, and Authorization values.
How many URLs can ScreenshotNeo capture in one bulk call?
Bulk capture supports up to 100 URLs per call. Asynchronous jobs and signed webhooks are available for longer-running work.


