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/screenshotyarn
yarn add @nodium/screenshotpnpm
pnpm add @nodium/screenshotTake 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.