Node.js Integration

Screenshot API for Node.js & TypeScript

Capture pixel-perfect website screenshots with the official @nodium/screenshot SDK. Full TypeScript support, fluent builder API, automatic retries, and works with Node.js 18+, Deno, and Bun.

Install in Seconds

Add the SDK to any Node.js, Deno, or Bun project.

npm

npm install @nodium/screenshot

yarn

yarn add @nodium/screenshot

pnpm

pnpm add @nodium/screenshot

Take a Screenshot in 5 Lines

The fluent builder API makes it easy to configure exactly what you need.

screenshot.ts
import { NodiumScreenshot } from "@nodium/screenshot";
import fs from "node:fs";

const client = new NodiumScreenshot(process.env.NODIUM_API_KEY);

// Fluent builder with full TypeScript IntelliSense
const result = await client
  .take()
  .url("https://example.com")
  .format("png")
  .viewport(1440, 900)
  .fullPage(true)
  .blockAds(true)
  .imageQuality(95)
  .execute();

fs.writeFileSync("screenshot.png", result.data);

console.log(`Rendered in ${result.headers.renderingSeconds}s`);
console.log(`Size: ${(result.headers.sizeBytes / 1024).toFixed(1)} KB`);
webhook-handler.ts
// Async webhook delivery for long-running captures
const result = await client.take({
  url: "https://example.com",
  format: "png",
  webhook_url: "https://your-app.com/api/webhooks/screenshot",
  response_type: "json",
});

console.log(`Queued with reference: ${result.headers.reference}`);

Built for TypeScript Developers

Everything you need to integrate screenshots into your Node.js application.

Full Type Safety
Ship with confidence. Every parameter, response, and error is fully typed with TypeScript definitions out of the box.
Fluent Builder API
Chain methods like .url().format().viewport() for readable, discoverable configuration with IntelliSense.
Automatic Retries
Built-in exponential backoff retries on 5xx errors. Configurable retry count and delay for production reliability.
Async / Await
Native Promise-based API. Works with async/await, Express, Next.js, Fastify, and any modern Node.js framework.
Multi-Runtime
Works on Node.js 18+, Deno, and Bun. Bring your own fetch implementation or use the built-in one.
Webhook Support
Offload long-running captures with async webhook delivery. Get notified when screenshots are ready.

Why Nodium for Node.js?

Stop managing headless browser infrastructure. Nodium gives you production-grade screenshots through a simple API.

Without Nodium

  • Install and maintain Puppeteer or Playwright
  • Manage Chrome/Chromium binaries and dependencies
  • Handle memory leaks, zombie processes, and timeouts
  • Build ad blocking, dark mode, and device emulation
  • Scale browser instances across servers

With Nodium

  • One npm install, zero browser dependencies
  • Pixel-perfect rendering on managed infrastructure
  • Automatic retries, timeouts, and error handling
  • 145+ parameters including ads, dark mode, devices
  • Scales automatically, no server management

Supported Output Formats

Capture websites in any format your application needs.

PNGJPEGWebPAVIFHEIFTIFFGIFPDFMP4WebM

Start Capturing Screenshots with Node.js

Free tier included. No credit card required. Get your API key and start building in minutes.