Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk7 min

How to Bulk Capture Website Screenshots with Urlbox

Urlbox bulk capture means discovering page URLs and rendering them individually. Choose CaptureDeck, an API script, or the CLI, then plan batches, concurrency, and storage.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Urlbox’s bulk-capture workflow is to discover the pages first, then submit one render job per URL—not to capture an entire website with one native request. For a small list, use CaptureDeck or a script; for a CSV and local files, use the CLI. For a large crawl, batch jobs, limit concurrency, and decide where results will be stored before starting.

How Urlbox bulk screenshot capture works

Urlbox says its service does not natively support bulk website captures in a single request. Its documented pattern is to assemble a list of page URLs and capture them individually using a dashboard workflow, CLI, or API script. The capture options and output organization depend on which route you choose.

As an Amazon Associate I earn from qualifying purchases.

1. Discover the URLs

Check the site’s XML sitemap, often at /sitemap.xml. A sitemap can contain a sitemap index that points to additional sitemap files. Urlbox’s JavaScript guide uses the sitemapper package to handle nested sitemap indexes. If no sitemap is apparent, check robots.txt, the site footer, or its help pages. Some sites do not publish a sitemap, so you may need an existing URL list or another discovery method.

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

2. Choose how to submit captures

Use CaptureDeck when you want to paste a list without writing capture code. For a custom integration, send a render request for each URL through the API. If the URLs are already in a CSV and you want files saved locally, the CLI can loop over its rows.

#1 Best Overall

3. Plan the job and storage

For a large list, split the work into batches and use bounded concurrency rather than launching every request at once. Urlbox advises spacing requests for very large sites, including lists of 1,000 or more pages, and avoiding excessive load on the target site. These are vendor recommendations, not a throughput guarantee. Plan how to retain the outputs: the quickstart says render URLs expire after 30 days, so download results or arrange cloud-bucket storage if you need them longer.

Choose a Urlbox workflow

Workflow Best for Output and considerations
CaptureDeck Capturing a URL list without writing code Organizes captures in a dashboard and supports ZIP download. Presets include social, full-page, and mobile captures. Take care with very large lists.
Urlbox API script Integrating captures into an application or processing pipeline Request-level render options; synchronous and asynchronous workflows are documented. Batch requests and bound concurrency for large jobs.
Urlbox CLI with CSV Turning a CSV into locally saved image files A shell loop can write one full-page PNG per URL. A simple loop runs sequentially; Urlbox recommends asynchronous rendering for very long lists.

Capture a URL list with the Urlbox API

Urlbox’s bulk guide demonstrates mapping URLs to requests at /v1/render/sync, with full_page: true and format: 'png'. The example below uses a bounded worker pool: it avoids starting every capture simultaneously while still allowing several requests at a time. Set URLBOX_SECRET and replace the sample pages with the URLs you want to capture.

Urlbox documents HTTP Basic authentication for its POST render API, using the secret key as the username. Its current API reference and quickstart also document Bearer-secret authentication and synchronous and asynchronous endpoints. Follow the authentication method documented for the endpoint and API flow you use; never put the secret key in browser-side code or a public repository.

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

API_URL = "https://api.urlbox.io/v1/render/sync"
SECRET = os.environ["URLBOX_SECRET"]
URLS = [
    "https://example.com/",
    "https://example.com/about",
]
CONCURRENCY = 3

async def capture(session, semaphore, index, page_url):
    async with semaphore:
        payload = {
            "url": page_url,
            "full_page": True,
            "format": "png",
        }
        # This example uses Bearer authentication. Use the authentication
        # method required by the Urlbox endpoint/account configuration.
        headers = {"Authorization": f"Bearer {SECRET}"}
        async with session.post(API_URL, json=payload, headers=headers) as response:
            response.raise_for_status()
            content_type = response.headers.get("Content-Type", "")
            if "image" not in content_type:
                raise RuntimeError(
                    f"Expected image for {page_url}; received {content_type}"
                )
            data = await response.read()
            os.makedirs("screenshots", exist_ok=True)
            path = f"screenshots/{index:04d}.png"
            with open(path, "wb") as output:
                output.write(data)
            print(f"Saved {page_url} to {path}")

async def main():
    semaphore = asyncio.Semaphore(CONCURRENCY)
    timeout = aiohttp.ClientTimeout(total=180)
    async with aiohttp.ClientSession(timeout=timeout) as session:
        tasks = [
            capture(session, semaphore, index, page_url)
            for index, page_url in enumerate(URLS, start=1)
        ]
        results = await asyncio.gather(*tasks, return_exceptions=True)
        failures = [result for result in results if isinstance(result, Exception)]
        if failures:
            for failure in failures:
                print(f"Capture failed: {failure}")
            raise SystemExit(f"{len(failures)} capture(s) failed")

asyncio.run(main())

Install the dependency with python -m pip install aiohttp. This illustrates the bounded-request pattern; verify the exact endpoint, authentication, response format, and options against the Urlbox API flow configured for your account. For very large jobs, use its asynchronous workflow rather than leaving a client waiting on a long sequence of synchronous renders.

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 and endpoint choices

  • POST render API: the documented POST endpoint accepts url or html as required input, with render options in JSON or form data. The POST API page describes Basic authentication, with the secret key as the username.
  • Current API flows: the API reference and quickstart also describe Bearer-secret authentication and /v1/render/sync and /v1/render/async. Use the credentials and endpoint specified for the chosen flow; do not combine examples from different flows without checking their requirements.
  • Sync versus async: sync is convenient when each response can be handled immediately. An asynchronous job is more suitable for a very long list where waiting for every render in one client session is undesirable.

Capture a CSV locally with the Urlbox CLI

Urlbox’s CLI documentation shows looping over CSV rows and saving one full-page PNG per URL. The basic shape is:

while IFS=, read -r url; do
  urlbox render "$url" --full-page --format png --output "screenshots/$(printf '%s' "$url" | sed 's#https?://##; s#[^A-Za-z0-9]#_#g').png"
done < urls.csv

Use the exact flags and authentication setup supported by your installed CLI version; the command above expresses the documented loop pattern and output intent. Ensure the CSV has the expected columns and that the output directory exists. A sequential loop is easy to understand but may take a long time for a large list; Urlbox’s CLI guidance recommends asynchronous rendering for very long lists.

Set full-page behavior and output format

Stitch or native full-page capture

Set full_page to true to capture the scrollable page rather than only its initial viewport. Urlbox’s default stitch mode scrolls through the page, triggers lazy-loaded content and animations, freezes fixed or sticky elements, captures sections, and stitches them together. Its documentation says this mode favors accuracy. The native mode uses the browser’s native full-page screenshot facility and is faster, but may be less accurate on some pages.

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

Scrolling, width, and image limits

  • skip_scroll disables the initial scrolling behavior and can reduce render time, but may prevent lazy-loaded content from appearing.
  • full_width can include the full horizontal scroll width for pages that scroll sideways.
  • Urlbox documents maximum image dimensions of 65,535 × 65,535 pixels for JPEG and 16,383 × 16,383 pixels for WebP. Its screenshot guide recommends PNG for full-page captures when image-size limits matter.

Large pages can produce large files and take longer to render. Choose the format and full-page mode based on what the screenshots need to preserve, and check outputs for clipped or missing content on pages with unusual scrolling behavior.

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 offers a single-request screenshot API; for bulk work, send one request per URL and apply the same batching approach to your URL list. Its clean-shot flow accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. One thousand screenshots a month are free with no card; paid plans start at $5 for 3,000.

Example using cURL (see the ScreenshotNeo API docs):

Rank #3
15.6 Inch Win 11 Laptop Computer, N4020, 4GB DDR4 RAM, 128GB Storage
  • 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.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

ScreenshotNeo is a website screenshot API and MCP server made by Yorker Media. See ScreenshotNeo for plan details and service information.

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

Sign up free for 1,000 screenshots a month with no card.

Troubleshoot bulk capture jobs

  • A URL is missing from the results: check that URL discovery included it and that the input row was parsed as one URL. Sites without a published sitemap require a separate URL source.
  • A request fails authentication: confirm whether the chosen endpoint expects Basic authentication or a Bearer secret, and that the secret is valid for that API flow. Keep credentials server-side.
  • A large run stalls or overloads the target: reduce concurrency, split the URL list into batches, or use an asynchronous workflow for very long lists. Avoid hammering the site being captured.
  • Lazy-loaded content is absent: avoid disabling scroll behavior with skip_scroll; full-page stitch mode is designed to scroll and trigger lazy content.
  • Sticky elements repeat or page sections look wrong: compare stitch and native modes. Stitch favors accuracy; native is faster but may work less well on some pages.
  • A full-width or very long image is truncated: check the output format’s documented dimension ceiling. Consider PNG when full-page dimensions are important.
  • A saved render link no longer works: Urlbox’s quickstart says render URLs expire after 30 days. Download the image or arrange cloud storage for durable retention.

Frequently asked questions

Can Urlbox capture every page of a site in one request?

No. The documented bulk workflow discovers URLs and submits a render for each one.

Does Urlbox require a sitemap?

No, but a sitemap can make URL discovery easier. If one is unavailable, look at robots.txt, the footer, help pages, or another URL list.

Can I keep captures after the render link expires?

Yes. Download them or save them to storage you control before the temporary render URL expires.

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

Quick Recap

Bestseller No. 1
HP 14' HD Laptop, Windows 11, Intel Celeron Dual-Core Processor Up to 2.60GHz, 4GB RAM, 64GB SSD, Webcam, Dale Pink (Renewed)
HP 14" HD Laptop, Windows 11, Intel Celeron Dual-Core Processor Up to 2.60GHz, 4GB RAM, 64GB SSD, Webcam, Dale Pink (Renewed)
14" diagonal, 1366x768 resolution, HD BrightView LED, Glossy NON-TOUCH Display
$245.99
Bestseller No. 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)
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.
$285.00

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 *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

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.