October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

How to Screenshot Multiple URLs with a REST API and Save the Results

Send an authenticated JSON batch request with multiple URLs, follow any returned job through completion, and save the images or archive with its manifest and failures.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To screenshot several URLs through a REST API, send an authenticated POST request containing a JSON urls array and shared capture options. If the service returns a batch or job ID, poll its status endpoint or use its documented event stream, then download the images or archive and save them locally. The exact request, job lifecycle and output format depend on the provider.

How batch screenshot APIs work

A batch request gives the API a list of pages to render, usually with capture settings shared across the list, such as viewport size and image format. Some services finish during the request; others queue the work and return an ID. A job ID means the request was accepted, not that the image files are ready.

As an Amazon Associate I earn from qualifying purchases.

  1. Create an API key and store it outside your source code, such as in an environment variable.
  2. Build a JSON request with the URLs and the provider’s supported shared options.
  3. POST it to the provider’s documented batch endpoint using its required authentication method.
  4. Inspect the response. If it includes a batch or job ID, poll the status endpoint or connect to the documented event stream until the job reaches a terminal state.
  5. Download the returned image, image URLs, or archive. Save any manifest and failure report with the output files.

Example: submit a batch request

The following cURL request follows Screenshot API’s documented endpoint and bearer authentication. Its documentation describes POST /api/v1/screenshot/batch, a urls array, shared viewport and format options, and a returned batch ID. This is a provider-specific example; do not assume its endpoint, authentication, or response applies to another service. See the Screenshot API REST API documentation.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -X POST "https://api.screenshot-api.org/api/v1/screenshot/batch" 
  -H "Authorization: Bearer $SCREENSHOT_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{
    "urls": [
      "https://example.com",
      "https://example.org"
    ],
    "options": {
      "viewport": { "width": 1280, "height": 720 },
      "format": "png"
    }
  }'

Set SCREENSHOT_API_KEY in the environment before running the command. The example’s viewport and format are shared settings shown in the provider’s documentation; check the provider’s current docs for additional capture options and limits.

#1 Best Overall

Wait for completion and save the results

Read the response body and headers before writing a file. A service may return completed image bytes or URLs, or it may return a job ID that must be checked before output is available. Save each result according to its actual content type: download a screenshot URL as an image, or retrieve and extract a ZIP if the service returns an archive.

Polling and event streams

Screenshot API documents status polling at GET /api/v1/batch/:batchId and an SSE event stream at GET /api/v1/batch/:batchId/stream. Use the exact authentication and terminal-state values documented by the provider. For a polling implementation, wait between requests rather than continuously querying, and stop when the job is complete or has failed.

Archives, manifests and failed pages

url2image documents a separate lifecycle: submit JSON to /api/v1/batch, check GET /api/v1/jobs/{id}, then download with GET /api/v1/jobs/{id}/download. Its described ZIP contains one image per URL, a manifest.json with page metadata, and not-rendered.csv for failures. See url2image’s batch screenshot service. Preserve the manifest and failure list: they help associate output files with input URLs and identify pages that did not render.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Handle errors and partial results

Check HTTP status codes and the provider’s error body for both submission and retrieval requests. Screenshot API documents errors for missing or invalid authentication, invalid requests, rate limiting, quota exhaustion, rendering failures and missing selectors. Its documentation also describes rate and quota headers; the exact limits and response details depend on the account and current provider documentation.

Rank #2
Dell Latitude 5420 14" FHD Business Laptop Computer, Intel Quad-Core i5-1145G7, 16GB DDR4 RAM, 256GB SSD, Camera, HDMI, Windows 11 Pro (Renewed)
  • 256 GB SSD of storage.
  • Multitasking is easy with 16GB of RAM
  • Equipped with a blazing fast Core i5 2.00 GHz processor.
  • Authentication error: confirm that the key is present, valid and sent in the required header or parameter; check that the shell environment variable is set.
  • Invalid request: validate the JSON syntax, URL list and option names against that API’s schema.
  • Rate limit or quota error: reduce request frequency, respect any retry guidance, and check account quota or applicable limits.
  • Rendering failure: inspect per-URL status or failure output; retry only failed pages when the provider permits it.
  • Missing selector: if a capture option depends on a CSS selector, verify that the selector exists on the rendered page or remove the selector-dependent option.
  • Job never appears complete: confirm that the submitted ID and status URL belong to the same provider, and follow its documented status values rather than treating every non-error response as finished.
  • Downloaded file is not an image: inspect the response content type and body. It may be a JSON job response, an error, or an archive rather than image bytes.

Choose an approach for the batch size and workflow

Compare providers on the actual requirements: URLs allowed per request or job, synchronous versus queued work, polling versus events or webhooks, output delivery, capture controls, failure reporting, retries, authentication, quota behavior and current pricing. Limits below are claims from each provider’s own documentation, not general API standards.

Option Documented batch details What to verify for your workflow
ScreenshotNeo Its bulk capture feature supports 100 URLs per call. A GET request to the screenshot endpoint returns a screenshot or PDF; API keys and parameter names are documented at ScreenshotNeo’s API docs. Whether its capture and delivery options suit your batch; each response reports page verdict and billing status.
Screenshot API Documents a POST batch endpoint, shared viewport/format options, a batch ID, status polling and an SSE stream. Current batch capacity, job states, returned output format, account limits and pricing.
url2image Documents a job status and archive-download flow; its service page states support for up to 500 URLs per batch. Confirm the current capacity and archive behavior for your account and use case.
Browshot Its documentation says the multiple endpoint accepts up to 10 URLs and up to 10 instances, for up to 100 combinations per call. Confirm how instances map to requested captures and check current API limits and pricing.
shot-scraper A local command-line alternative that uses URL/output pairs in YAML with shot-scraper multi. Install and run the tool and its browser dependencies in your own environment; it is not a hosted REST batch API.
ScreenshotCenter Its feature page describes batch jobs, progress tracking, ZIP downloads, and cloud-storage and automation integrations. Check its full API documentation for current limits and supported destinations.

Sources: Screenshot API documentation, url2image, Browshot API documentation, shot-scraper documentation and ScreenshotCenter batch screenshot feature page. Confirm operational limits and prices on the relevant provider’s current documentation before building around them.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server for developers. It supports bulk capture of 100 URLs per call, but a single URL is captured with one GET request. For a simple call, replace the URL with the page you want and put your API key in place of the example value; the response is saved as WebP:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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 the batch and capture options. ScreenshotNeo accepts cookie or consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and responses include X-Page-Verdict and X-Billed headers. 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 a month with no card; paid plans start at $5 for 3,000 screenshots.

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

Rank #3
15.6 Inch Win 11 Laptop Computer, N4020, 4GB DDR4 RAM, 128GB Storage | LPDDR4 RAM, 180° Lay-Flat, Dual-Band WiFi, Type-C PD Fast Charging, Thin & Lightweight for Students, Home & Office, Gray
  • WINDOWS 11 | STABLE PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 system, this laptop delivers stable performance for everyday computing tasks. It supports web browsing, online learning, document editing, email communication, and basic office work with optimized power efficiency, providing a practical and reliable experience for essential daily use for daily use.
  • 15.6” FHD IPS DISPLAY: Features a 15.6-inch Full HD IPS display with narrow bezels, offering wider viewing angles and clearer image details compared to standard panels. The improved screen-to-body ratio enhances visual experience for study, reading, document work, and video playback, making it suitable for both productivity and entertainment use.
  • 4GB DDR4 + 128GB eMMC STORAGE: Equipped with 4GB DDR4 memory and 128GB eMMC storage for everyday basics such as browsing, documents, email, and online learning platforms. The built-in TF card slot supports storage expansion up to 1TB, giving you more flexibility for files, photos, videos, and daily documents. TF card not included.
  • CONNECTIVITY & PORTS: Includes 1× TF card slot, 2× USB 3.2 Gen1 ports, and 2× full-featured Type-C ports (USB 3.2 Gen1). The Type-C ports support data transfer, charging, and video output, enabling flexible connection with external devices such as monitors, storage, and peripherals for daily work and study use.
  • LIGHTWEIGHT DESIGN | ONLINE COMMUNICATION: Designed with a slim, portable profile, this laptop is easy to carry for school, commuting, and travel. A built-in 1MP front camera supports online classes, video meetings, remote communication, and everyday conferencing. The 3300mAh battery works with the low-power system design to support practical daily use, while thermal optimization helps maintain quieter operation during extended tasks.

Frequently Asked Questions

Can one REST request screenshot a list of URLs?

Yes. A batch endpoint can accept a URL array in one request; the supported batch size and whether it queues a job depend on the provider.

Why did my batch return an ID instead of image files?

Some APIs enqueue the captures. Use the provider’s status endpoint or event stream, then download the output when the job is complete.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How can I tell which screenshot belongs to each URL?

Use the provider’s manifest or equivalent metadata when available, and retain the input URL-to-output mapping alongside the files.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.