A screenshot API turns a webpage into an image or PDF through an HTTP request: send a URL and capture options, authenticate with an API key, then save the returned file or retrieve it from a URL. For a first test, use a page you can access publicly, request a PNG, and write the response to a file. Keep your API key on a server or in a local environment variable—not in browser code.
What a screenshot API does
A screenshot API opens a target URL in a browser-like rendering environment, waits for the page to load, and returns a capture. Depending on the provider, the response may contain image or PDF bytes directly, JSON containing a download URL, or a redirect to a file. Some services also accept supplied HTML rather than a URL.
This removes the need to install and operate a browser automation stack for every capture. It does not remove the need to decide what should be captured: viewport size, full-page behavior, output format, when the page is ready, and whether the target requires authentication all affect the result.
Make a first request
Before copying an example, check the selected provider’s current documentation for its endpoint, authentication method, accepted parameter names, and response format. The generic endpoint below is illustrative only; replace it with the provider’s actual endpoint and request shape. Screenshot API’s getting-started guide, for example, describes obtaining a key, making a request, then using a returned URL or redirect to access the file (Screenshot API documentation).
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Generic cURL example
export SCREENSHOT_API_KEY="YOUR_API_KEY"
curl --request POST 'https://api.example.com/v1/screenshot'
--header "Authorization: Bearer $SCREENSHOT_API_KEY"
--header 'Content-Type: application/json'
--data '{"url":"https://example.com","format":"png"}'
--output screenshot.png
This pattern assumes the provider accepts a POST with a Bearer token and returns image bytes in the response. If it instead returns JSON or redirects to a file, save and handle that response accordingly; an output filename does not transform JSON into a PNG.
Generic Python example
import os
import requests
api_key = os.environ["SCREENSHOT_API_KEY"]
response = requests.post(
"https://api.example.com/v1/screenshot",
headers={"Authorization": f"Bearer {api_key}"},
json={"url": "https://example.com", "format": "png"},
timeout=90,
)
response.raise_for_status()
with open("screenshot.png", "wb") as image_file:
image_file.write(response.content)
Use this binary-save pattern only when the endpoint returns image bytes. If the response is JSON, parse it and download the provided file URL instead.
Generic Node.js example
const apiKey = process.env.SCREENSHOT_API_KEY;
if (!apiKey) throw new Error("Set SCREENSHOT_API_KEY first");
const response = await fetch("https://api.example.com/v1/screenshot", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ url: "https://example.com", format: "png" }),
});
if (!response.ok) {
throw new Error(`Screenshot request failed: HTTP ${response.status}`);
}
const bytes = Buffer.from(await response.arrayBuffer());
await import("node:fs/promises").then(({ writeFile }) =>
writeFile("screenshot.png", bytes)
);
Node.js provides fetch in current releases. If your runtime does not provide it, use an HTTP client supported by your project. As with the other examples, adapt the handling if the provider returns a URL or metadata rather than file bytes.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
ScreenshotNeo one-call example
ScreenshotNeo uses a GET request to its documented endpoint and returns an image or PDF. Its API parameter names also work with those used by other screenshot APIs to ease migration. The following cURL example saves a WebP capture of a public page; see the ScreenshotNeo API documentation for options and response details.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Keep the access key out of public webpages and repositories. The example uses a placeholder: obtain and store your own key according to the service documentation.
Or skip the browser setup
ScreenshotNeo is a screenshot API and MCP server for developers. Its clean-shot options accept cookie or consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. AI agents using Claude, Cursor, or another MCP client can use take_screenshot, get_page_info, and capture_pdf. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.
Try the request above, replace the sample URL with your target, and save the response using the requested format. Sign up for 1,000 free screenshots a month with no card.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
Choose the right request and response pattern
GET or POST
GET is convenient for a simple capture with a URL and a few options. Its query string can be recorded in server logs, browser history, monitoring systems, or proxy logs, so avoid putting secrets in it. POST with a JSON body is generally preferable for integrations with richer settings and for keeping credentials out of the URL. The provider decides which methods and authentication headers it supports; do not assume one endpoint behaves like another.
Binary, URL, redirect, or job
Read the response contract before writing file-handling code. A successful request might return bytes immediately, return JSON containing a CDN URL, or redirect to the output. For large or asynchronous captures, a provider may offer a job workflow. In each case, account for HTTP status codes, content type, and provider-specific errors before treating the response as an image. ScreenshotEngine’s quickstart, for example, says successful requests return HTTP 200 and file bytes directly (ScreenshotEngine quickstart).
Set capture options deliberately
Start with the smallest set of options needed for the task. Option names and availability are provider-specific; check the selected API’s reference before sending them.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
- Viewport and full page: Set width and height for a viewport capture. A full-page capture may extend beyond the initial viewport, but long pages can take longer and produce larger files.
- Readiness: A delay is a blunt wait. Where supported, waiting for a selector or network idle can better match application behavior, though network idle may never occur on pages with continuous requests.
- Format and quality: PNG is lossless and useful for text or interface comparisons; JPEG and WebP can reduce file size, with quality settings affecting detail and compression.
- Element capture: A CSS selector can focus a capture on one element rather than the whole page. Confirm what happens if the selector is absent or matches multiple elements.
- Device scale and dark mode: These settings change pixel density or page appearance. Use consistent values for repeatable visual tests.
- Cache and freshness: Caching can reduce duplicate work, but specify how a cached result should be treated when content changes. A fresh-capture option, when available, is useful when current state matters.
- PDF: Verify PDF-specific settings such as page size, margins, orientation, and page ranges; image-format options do not necessarily apply.
GetScreenshot documents GET and POST capture calls with options including URL, dimensions, full-page mode, format, quality, delay, selector, dark mode, device scale, caching, and fresh capture, and exposes a separate PDF endpoint (GetScreenshot documentation). These examples illustrate why the provider’s own reference matters: similar concepts do not guarantee identical parameter names or defaults.
Keep API credentials and captured data safe
An API key authorizes use of the screenshot service. It is separate from credentials needed to access the website being captured. If the target page requires a session or login, use the provider’s documented mechanism for target-site cookies or headers, and consider whether the resulting image contains private information.
Recommended Free Tools
- Store the API key in a server-side environment variable or deployment secret store.
- Do not put it in React components, public environment variables, client-side requests, public image URLs, or source control.
- Avoid logging full request URLs or sensitive target URLs where query strings contain private information.
- Use HTTPS, limit who can access generated files, and apply access controls to any returned CDN links.
- If a key is exposed, revoke or replace it in the provider dashboard and update the server-side secret.
ScreenshotEngine explicitly advises storing keys in environment variables or deployment secrets and warns that keys exposed in client code, public URLs, or logs can be read by visitors; it also distinguishes the API credential from credentials for the captured site (ScreenshotEngine API key guidance).
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Compare providers against your workload
There is no universal best endpoint for every capture job. Compare the current documentation and plans against the pages, formats, and operating constraints you actually have.
| What to compare | Questions to answer |
|---|---|
| Request and response | Does it accept GET, POST, or both? Are the results bytes, metadata with a URL, a redirect, or an asynchronous job? |
| Rendering control | Can you set viewport, full-page behavior, readiness, selectors, dark mode, device scale, headers, cookies, or browser behavior? |
| Formats and scale | Does it produce PNG, JPEG, WebP, or PDF? Is batch capture available, and what are its limits? |
| Operations | What quotas, rate limits, cache rules, regional or browser options, error details, and support terms apply to your plan? |
| Security | How is the API key sent? How long are generated files accessible, and what controls protect them? |
| Cost | Which captures are billable? Check plan quotas, overages, failed-request handling, and whether caching affects charges. |
ScreenshotNeo is a practical first option to try: it removes common consent banners, popups, and chat widgets before capture, bills only clean shots, and has a $5 paid plan for 3,000 shots. For teams already using Cloudflare, Browser Run accepts either a URL or HTML and offers REST API and Workers Binding access. Its documentation says the /screenshot endpoint renders webpage HTML and JavaScript before capturing the rendered page (Cloudflare Browser Run documentation; marked last updated Sep 26, 2026). Test actual representative pages yourself: the cited provider documentation does not establish a comparable independent speed or reliability ranking.
Use cases and operating considerations
Screenshot APIs are useful for website, dashboard, and report previews; automated QA and visual regression; social-card or image generation; and PDF rendering. The right setup differs by job. A visual regression test needs consistent viewport, device scale, state, and timing. A report export needs predictable page breaks and readable typography. A social image workflow may prioritize dimensions and file size.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Performance depends on the target page and the provider’s rendering path: JavaScript-heavy applications, slow third-party resources, long pages, and large full-page images can all add time or size. Start with one representative page, record status, output dimensions, content type, and elapsed time in your own environment, then test more pages and failure cases before setting production timeouts or service-level expectations. Do not infer provider-wide latency or uptime from a successful single request.
For recurring jobs, decide how to retry safely. Distinguish transient transport or server errors from invalid URLs, unsupported options, and target-site failures. Use bounded retries with backoff for transient errors, but avoid retry loops that multiply charges or hammer a target. Check whether the provider bills failed captures or cache hits, and inspect its response headers or job status rather than assuming every HTTP 200 means the page rendered correctly.
Troubleshoot common failures
- 401 or 403: Verify the key, expected header or query parameter, account access, and whether the key has been revoked. Do not send a website login password as the screenshot API key.
- 400 or validation error: Check endpoint path, JSON syntax, parameter spelling, supported format, and whether the method matches the endpoint. Provider APIs are not interchangeable.
- HTML or JSON saved as an image: Inspect HTTP status and
Content-Type. The service may have returned an error document or metadata URL rather than image bytes. - Blank or incomplete page: Check whether the target redirects, requires a session, loads content after an interaction, or needs a readiness condition. Try a selector wait or an appropriate delay if supported.
- Timeout: Test a lighter page and inspect its scripts and network activity. Increase the timeout only within provider limits; a permanent network-idle condition can be a poor readiness rule.
- Wrong dimensions or clipped content: Distinguish viewport capture from full-page capture, verify width and height units, and confirm the target element is within the rendered page.
- Stale result: Check cache settings and request freshness according to provider behavior. A repeated URL may return a cached capture.
- Key appears in logs or client bundle: Remove it from exposed code, revoke or rotate it, and move future requests behind a server-side boundary.
Build a small, reliable integration
- Choose one real target page. Confirm that your service is allowed to capture it and that it does not expose data you should not store.
- Make one authenticated request. Start with only URL and format, using a server-side key.
- Validate the response. Check status, content type, response body shape, and any page-verdict or billing metadata offered by the provider.
- Add capture controls one at a time. Introduce full-page mode, selector waits, PDF settings, or headers only when the first capture shows they are needed.
- Exercise failure paths. Test a slow page, a redirect, a missing selector, invalid input, and a request that exceeds your timeout.
- Set production policies. Bound retries, protect output links, monitor quota and rate limits, and track capture outcomes separately from transport success.
Frequently Asked Questions
Can I call a screenshot API directly from a browser?
Only if the provider explicitly supports a safe client-side flow that does not expose a reusable secret. For a private API key, send requests through a server-side endpoint.
Does a screenshot API sign in to a target website automatically?
No. The API key authenticates your call to the screenshot service. Access to the target site requires whatever supported cookies, headers, or access mechanism that site needs.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallQuick 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.

