October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk7 min

How to Use ScreenshotAPI.net in a Node.js App

A practical Node.js guide to ScreenshotAPI.net: make a v3 screenshot request, save image output, protect your token, and handle formats, caching, errors, and plan limits.

Free tools Windows power users keep installed

One-click scans. No signup required.

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

To capture a website with ScreenshotAPI.net from Node.js, send a server-side GET request to its current v3 endpoint, https://shot.screenshotapi.net/v3/screenshot, with your API token and the target URL. Request the response in the format your app needs, then save or stream the returned bytes—or parse JSON if you selected JSON output. Keep the token out of browser code and source control.

What you need before making a request

  • A ScreenshotAPI.net account and API token from its dashboard. The token authenticates requests; treat it as a secret. ScreenshotAPI.net render documentation and its Terms of Service describe API authentication and credential responsibility.
  • A Node.js server environment. Do not put the token in frontend JavaScript: anything sent to a browser can be inspected by users.
  • A target page that the API can access. Its URL should be supplied as a query parameter and encoded by the HTTP client rather than concatenated into a raw request string.

The current render documentation and Playground use the v3 route. An older getting-started example shows a legacy /screenshot path; use the v3 endpoint below, and check the current API documentation if the service changes its routes or parameters. The ScreenshotAPI.net Playground demonstrates request construction.

Make and save a screenshot with Node.js

This example uses Axios, as in the vendor’s current render documentation. Axios is an example HTTP client, not a requirement; the same request can be made with Node’s built-in fetch. The example expects an image response and writes its bytes to shot.png.

  1. Install Axios in your project:

    npm install axios
  2. Store the API token in a server-side environment variable named SCREENSHOTAPI_TOKEN. For local development, use your normal untracked environment configuration; for deployed services, use the platform’s secret configuration.

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
    #1 Best Overall
    Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
    • 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.
  3. Save this as screenshot.mjs and replace the sample target URL as needed:

    import axios from 'axios';
    import { writeFile } from 'node:fs/promises';
    
    const token = process.env.SCREENSHOTAPI_TOKEN;
    if (!token) {
      throw new Error('Set SCREENSHOTAPI_TOKEN in the server environment.');
    }
    
    const response = await axios.get(
      'https://shot.screenshotapi.net/v3/screenshot',
      {
        params: {
          token,
          url: 'https://stripe.com',
          output: 'image',
          file_type: 'png'
        },
        responseType: 'arraybuffer',
        timeout: 90000
      }
    );
    
    if (response.status < 200 || response.status >= 300) {
      throw new Error(`Screenshot request failed with HTTP ${response.status}`);
    }
    
    await writeFile('shot.png', Buffer.from(response.data));
    console.log('Saved shot.png');
  4. Run it from the server environment where the token is configured:

    node screenshot.mjs

The render docs show image or JSON output and formats including PNG, JPG/JPEG, WebP, and PDF. Confirm exact parameter names and accepted values in the live render documentation before adding options; the API’s available parameters may change.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 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.

Using Node.js fetch instead of Axios

Recent Node.js versions include fetch. A URLSearchParams object safely encodes both token and target URL. This example also saves an image response:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
import { writeFile } from 'node:fs/promises';

const token = process.env.SCREENSHOTAPI_TOKEN;
if (!token) throw new Error('Set SCREENSHOTAPI_TOKEN in the server environment.');

const query = new URLSearchParams({
  token,
  url: 'https://stripe.com',
  output: 'image',
  file_type: 'png'
});

const response = await fetch(
  `https://shot.screenshotapi.net/v3/screenshot?${query}`,
  { signal: AbortSignal.timeout(90000) }
);

if (!response.ok) {
  const detail = await response.text();
  throw new Error(`ScreenshotAPI.net returned HTTP ${response.status}: ${detail}`);
}

const bytes = Buffer.from(await response.arrayBuffer());
await writeFile('shot.png', bytes);
console.log('Saved shot.png');

Return the image from an application endpoint

If your application needs to serve a screenshot to another client, keep the API call on the server and stream or return the image bytes from your own route. Set your route’s content type to match the requested format, and avoid returning the token or a request URL containing it. For a JSON response mode, parse the response as JSON instead of treating it as image bytes; the documented response mode determines how the body should be handled.

Choose output and capture settings

Choose the smallest set of options that meets the use case. The official materials describe these relevant choices; consult the current docs for the precise parameter names and accepted values.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • 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.
Decision Options described by ScreenshotAPI.net Implementation consequence
Response mode Image or JSON Use binary handling such as Axios responseType: 'arraybuffer' for an image. Parse JSON when requesting JSON output.
File format PNG, JPG/JPEG, WebP, or PDF Use a matching extension and content type. PDF is a document response, not an image file.
Page area Viewport, full-page, or scrolling capture options Use the capture mode that includes the content your application needs; full-page output can be larger and take longer than a viewport capture.
Freshness fresh=true is documented for requesting a current capture rather than a prior cached result Use it when stale cached output is unacceptable; otherwise caching may avoid repeated capture work.

The older getting-started documentation says to include fresh=true when a current screenshot is required. Check the current docs for the option’s availability and behavior before relying on it. Getting-started documentation.

Protect the token and handle errors

Credential handling

  • Read the token from an environment variable or secret manager on the server. Do not hard-code it into a repository, HTML, client-side bundle, or public URL.
  • Restrict access to deployment secrets to the services and people that need them.
  • If the token is exposed, rotate it in Dashboard settings. The terms state that rolling the API key issues a new key and revokes the old one; then update the server’s secret configuration. Terms of Service.

Common failures and fixes

Symptom Likely cause What to do
Missing-token error or authentication rejection The environment variable is unset, misspelled, or contains a revoked token. Check the server process environment and token configuration. If the credential may have leaked, rotate it in the dashboard and replace the deployed secret.
Invalid request or parameter response A misspelled option, unsupported value, or incorrectly encoded target URL. Pass parameters through Axios params or URLSearchParams; compare option names and allowed values with the current render docs.
Request times out or the page does not load The API call or target page took longer than the configured timeout, or the target failed to load. Set a suitable client timeout, handle the rejected promise, and retry only when appropriate. Avoid unlimited retries; they can consume request quota and amplify load.
Usage-limit or rate-limit response The account reached a monthly screenshot allowance or its per-minute request rate. Handle non-success HTTP responses, monitor usage, and compare the active plan limits with expected traffic on the pricing page.
Unexpected or stale screenshot A prior result may have been returned from cache, or the capture mode may not include the intended page area. Use the documented freshness option if a current capture is needed and verify viewport, full-page, or scrolling settings against the current docs.
Corrupt output file or unreadable response The response was an error body or JSON but the app wrote it as image bytes, or the file extension does not match the requested format. Check HTTP status before writing, use the correct response handling mode, and match filename and content type to the requested output.

Plan for quotas, rate limits, caching, and cost

ScreenshotAPI.net’s pricing page lists monthly screenshot allowances and requests-per-minute limits, while the terms say unused monthly calls do not carry over. The pricing page currently displays Essential at 1,000 screenshots and 20 requests per minute, Startup at 10,000 and 40 per minute, and Business at 100,000 and 80 per minute. These are service-published plan figures and can change; verify the current plan and any promotions directly on the pricing page before budgeting.

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

According to the terms, over-limit calls may be blocked for the rest of the term or may incur a per-screenshot charge, depending on applicable plan terms. Add status/error handling and usage monitoring before production traffic reaches the account limit. Terms of Service.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • 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

The getting-started material documents cached results and the fresh=true option for requesting a new capture. Official Help describes screenshot retention as up to 30 days on the free tier and six months on paid tiers; these retention details are policy-dependent and should be checked in the current Help information. Decide whether cached output is acceptable for your application rather than requesting fresh captures by default.

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 is a website screenshot API and MCP server for developers. Its one-call GET API returns PNG, JPEG, WebP, or PDF output. Replace the example target URL as needed; the request parameters and API details are in the ScreenshotNeo documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, and failed loads are not billed. Its MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

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

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 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.

Frequently Asked Questions

Is Axios required to use ScreenshotAPI.net from Node.js?

No. Axios is used in the documented example, but any HTTP client that can send a GET request and handle the selected response type can make the call.

Does ScreenshotAPI.net always return an image?

No. Its documented response modes include image and JSON; handle the response according to the mode requested.

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.

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

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More from the Wire

  1. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

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.