The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →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.
- Create an API key and store it outside your source code, such as in an environment variable.
- Build a JSON request with the URLs and the provider’s supported shared options.
- POST it to the provider’s documented batch endpoint using its required authentication method.
- 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.
- 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.
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
- 14" diagonal, 1366x768 resolution, HD BrightView LED, Glossy NON-TOUCH Display
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.
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
- 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.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:
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
- 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.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsHow 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.
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.




