50 Screenshots.
One API Call.
Stop looping through URLs one by one. Submit a batch of up to 50 screenshot requests simultaneously. Each runs in parallel on a dedicated queue — get a callback when all are done.
Why use Batch API?
Single requests are great for one-off captures. Batch is built for pipelines.
All 50 screenshots run in parallel instead of sequentially. What takes 2.5 minutes one-by-one takes ~3 seconds in batch.
Submit all URLs in a single POST request. No loops, no rate limit juggling, no complex orchestration code.
Pass a callback_url and we'll POST the results when all screenshots are done. No polling required.
Submit a batch
POST an array of up to 50 requests. Each item can have its own URL, format, device, and options.
- Up to 50 URLs or HTML inputs per batch
- Per-item format, device, full_page options
- Optional callback_url for completion notification
- Batch runs on a dedicated low-priority queue
- Partial failures supported — completed items still returned
curl -X POST 'https://goscreenapi.com/api/v1/batch' \
-H 'Authorization: Bearer YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{
"callback_url": "https://yourapp.com/webhook",
"requests": [
{ "url": "https://stripe.com", "format": "png" },
{ "url": "https://github.com", "format": "png", "device": "mobile" },
{ "url": "https://vercel.com", "format": "jpg", "full_page": true }
]
}'
{
"status": "queued",
"batch_id": "018e1234-abcd-...",
"total_items": 3,
"poll_url": "https://goscreenapi.com/api/v1/batch/018e1234-abcd-..."
}
{
"status": "success",
"batch_id": "018e1234-...",
"batch_status": "completed",
"total_items": 3,
"completed_items": 3,
"failed_items": 0,
"items": [
{
"request_id": "uuid-1",
"url": "https://stripe.com",
"status": "completed",
"image_url": "https://cdn.goscreenapi.com/...",
"duration_ms": 1240
},
{ "request_id": "uuid-2", "status": "completed", ... },
{ "request_id": "uuid-3", "status": "completed", ... }
]
}
Poll or use callbacks
Two ways to get your results — poll the batch status endpoint, or let us POST to your callback URL when everything is done.
Polling
GET /api/v1/batch/{'{id}'} to check progress. Returns all items with their current status and image URLs.
Callback (recommended)
Pass callback_url in your request. We'll POST the full results payload when all items complete.
Understanding the API Endpoint
The batch screenshot API offers a powerful feature: it accepts arrays of up to 100 URLs per request. This capability allows developers to efficiently process bulk screenshots without manual intervention. The requests are handled asynchronously, ensuring that your application remains responsive while the work is offloaded.
How does this work? Under the hood, the API employs webhook callbacks to notify your system upon completion of processing. This setup means you don't need to poll the API for updates, saving both bandwidth and processing resources. In practice, this results in a streamlined workflow for managing large-scale screenshot tasks.
Parallel Rendering Power
The magic of the batch screenshot API lies in its parallel rendering capability. The API utilizes distributed Chromium instances to handle mass capture tasks efficiently. By spreading the load across multiple instances, it achieves an impressive average throughput of 500 screenshots per minute.
Moreover, such parallel processing ensures consistency and speed, minimizing the bottlenecks commonly seen with single-instance processing. Developers can count on this API for multiple URL screenshot tasks without sacrificing performance.
Comprehensive Output Options
Upon completion, the API provides a ZIP file containing all the processed screenshots. Users can download results in PNG or JPEG formats, offering flexibility based on project needs. Each screenshot's resolution is consistent, adhering to specified dimensions to avoid unexpected variations.
For larger datasets, file sizes remain manageable, ensuring rapid downloads and straightforward archival processes. This simplicity is crucial for projects requiring immediate and frequent screenshot analysis.
Implementing the Screenshot API
Integrating the batch screenshot API into your workflow opens up several possibilities:
- Track and archive website changes over time
- Generate screenshot queue for automated testing environments
- Provide visual reports for SEO audits
- Facilitate content moderation with visual records
- Monitor competitors' websites for UI changes
Each use case benefits from the API's design, enabling seamless integration into existing systems. With response times under 100ms for queue insertion, the speed matches the API's processing power.
Explore the batch screenshot API today to revolutionize how you handle bulk visual data.
Frequently Asked Questions
What is the batch screenshot API and how does it work?
The batch screenshot API allows users to capture multiple URLs in a single request, optimizing the process for large-scale projects. You can submit up to 100 URLs per batch, and screenshots can be delivered in formats such as PNG or JPEG.
How does bulk URL processing function in your API?
Bulk URL processing enables users to submit a list of URLs for screenshot generation simultaneously. The API processes these requests and returns the results in a JSON response, which includes URLs and corresponding screenshot links, typically within seconds.
Can I use async webhooks for screenshot notifications?
Yes, our API supports async webhooks that allow you to receive notifications when your screenshot tasks are completed. After initiating a batch request, you can set a webhook URL to get real-time updates with the status and links to the generated screenshots.
Is parallel capture supported in the screenshot API?
Absolutely, the screenshot API supports parallel capture, allowing multiple screenshot requests to be processed concurrently. This significantly reduces the overall waiting time, ensuring that large batches are completed efficiently and quickly.