Bulk Screenshot API – Capture Multiple Pages with a Single Click

Our Bulk Screenshot API allows you to capture screenshots of multiple webpages simultaneously, saving you time and effort. Instead of manually capturing each page one by one, you can batch process URLs and receive high-quality screenshots in the format you choose.

Whether you need to capture multiple pages for testing, monitoring, or content sharing, our API makes it simple, efficient and on the go.

10K Free Credits, No Credit Card Required

Features

Input Multiple URLs in One Request

No loops. No files. Just give us your URLs and configure the response that you need. The API handles every page individually in the background, then returns each screenshot’s output link. With this tool, you can capture up to 50 pages at once.

Works Like the Regular Screenshot API

By configuration, it means setting Device simulation, Custom browser width/height, Inject CSS or JavaScript and selecting to Block ads or cookie banners.With this bunch of features, you take screenshots in bulk with minimal effort and the highest precision.

Individual Output URLs

For every URL you submit, you’ll get back a separate screenshot URL. Easy to reference, easy to download, easy to map to your original inputs.

Documentation

API Endpoint

POST

https://api.apifreaks.com/v1.0/screenshot

Test
LANGUAGE
Python
PHP
Java
Node
Ruby
$ pip install requests

API Request

Send a POST request with a JSON body containing a urls array—each object defines a webpage and its screenshot settings. This enables bulk screenshot capture with consistent quality and reduced manual effort

For complete documentation of each Request Parameter, Click here

POST curl --location 'https://api.apifreaks.com/v1.0/screenshot'--header 'Content-Type: application/json'--header 'X-apiKey: API_KEY'--data '{ "urls": [ { "url": "https://whoisfreaks.com/", "file_type": "gif", "width": 3840, "height": 2160, "fresh": true, "image_quality": 100, "scrolling_screenshot": true, "duration": 10 } ] }'

API Response

For a comprehensive view of the API response structure and detailed field descriptions, explore the interactive Response Table by clicking here.

HTTP Status Codes

HTTP StatusReasons
400
(1) Invalid parameter combination: For example, passing 'sizes' without enabling 'multiple_screenshot', or enabling 'multiple_screenshot' without specifying 'sizes'. (2) Invalid request body: Please provide data in required format in request body.
413
Payload too large: Maximum request body size limit exceeded.

How-To-Guides

How to Use the Bulk Screenshot API

First of all, you need to paste your URLs and then configure regular screenshot settings (like scroll, size, and injection). Set custom parameters for each URL, including file format, dimensions, image quality, and additional options like blocking ads or removing elements. Tailor each screenshot to fit your specific needs.

  1. Receive output for each URL
  2. Once processed, each screenshot will be available via its own output link.
  3. Download or manage your screenshots
  4. Grab your images directly, or manage them via your own workflow.
POST curl --location 'https://api.apifreaks.com/v1.0/screenshot'--header 'Content-Type: application/json'--header 'X-apiKey: API_KEY'--data '{ "urls": [ { "url": "https://ipgeolocation.io/", "file_type": "jpg", "width": 3840, "height": 2160, "fresh": true, "image_quality": 100 }, { "url": "https://apifreaks.com/", "extract_html": true, "file_type": "png", "width": 3840, "height": 2160, "fresh": true, "image_quality": 100 } ] }' #Response { "status": "success", "meta_data": { "total_urls": 3, "successful_urls": 2, "failed_urls": 1 }, "results": [ { "url": { "screenshot": "https://s3.eu-central-2.wasabisys.com/w.storage.apifreaks.com/ipgeolocation_io__03a9ef85d3a5.jpeg", "url": "https://ipgeolocation.io/", "created_at": "2025-06-20T13:52:58.517Z", "file_type": "jpg", "width": 3840, "height": 2160, "fresh": true, "image_quality": 100, "output": "json", "ttl": "2025-07-20T13:52:54.775Z", "sizes": null }, "status": "fulfilled", "error_message": null }, { "url": { "screenshot": "https://s3.eu-central-2.wasabisys.com/w.storage.apifreaks.com/apifreaks_com__7a3cb4d8abf6.png", "extracted_html": "https://s3.eu-central-2.wasabisys.com/w.storage.apifreaks.com/apifreaks_com__7a3cb4d8abf6.html", "url": "https://apifreaks.com/", "created_at": "2025-06-20T13:52:59.712Z", "extract_html": true, "file_type": "png", "width": 3840, "height": 2160, "fresh": true, "image_quality": 100, "output": "json", "ttl": "2025-07-20T13:52:54.801Z", "sizes": null }, "status": "fulfilled", "error_message": null } ] }

Pricing

To use the Screenshot API, API credits are required. Charges apply only for successful queries, defined by a 2xx status code. If a request results in a 4xx or 5xx status code, no credits will be deducted, and any credits already charged will be refunded.

For each successful request, 35 credit will be charged per requested domain.

Utilize the Credits Usage API to efficiently monitor your recent consumption of both one-off and subscription credits. This API provides a streamlined way to track and manage your credit usage, ensuring you stay informed about your remaining balance and can optimize your resource allocation effectively.

Price Estimation Calculator