Nodium Screenshot API -- Changelog

All notable changes, new features, and improvements to the Nodium Screenshot API.


Table of Contents

- March 2026 - February 2026 - January 2026

- December 2025 - November 2025


2026

March 2026

2026-03-01 -- AVIF and HEIF Format Support

Added two new output formats for static screenshots:

  • AVIF (format=avif) -- Offers superior compression compared to WebP, ideal for web delivery where bandwidth is a concern. Supported by Chrome, Firefox, and Safari 16+.
  • HEIF (format=heif) -- High Efficiency Image Format, optimized for the Apple ecosystem and applications that require excellent quality-to-size ratio.

Both formats support transparency and can be used with all existing parameters including image_quality, clip, and image post-processing effects.

bash
curl -X POST "https://api.nodium.io/api/v1/screenshot/take" \
  -H "X-Access-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "format": "avif",
    "image_quality": 80
  }' -o screenshot.avif

See Output Formats for the complete format reference.


February 2026

2026-02-15 -- New /animate Endpoint for Video Capture

Introduced the /animate endpoint for recording animated screenshots and video captures of web pages.

Capabilities:

  • Record scrolling animations, CSS transitions, and JavaScript-driven interactions
  • Output formats: MP4, WebM, GIF, MOV, AVI
  • Configurable duration (1--60 seconds), frame rate (1--60 fps), and scroll speed
  • Support for custom scroll selectors and interaction scripts
  • Transparent background support with MOV format

Credit cost: 3 credits per animated capture.

bash
curl -X POST "https://api.nodium.io/api/v1/screenshot/animate" \
  -H "X-Access-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "format": "mp4",
    "duration": 10,
    "scroll_speed": 150,
    "fps": 30
  }' -o recording.mp4

See Animation Parameters in the API Reference.


2026-02-01 -- Bulk Screenshot API Expansion

The /bulk endpoint now supports up to 100 items per request, increased from the previous limit of 25.

Changes:

  • Maximum items per request: 25 --> 100
  • Added priority field to control processing order within a batch
  • Added on_error field (skip or abort) to control behavior when individual items fail
  • Improved parallel processing for faster completion of large batches
  • New x-nodium-bulk-completed and x-nodium-bulk-failed response headers

See Bulk Parameters in the API Reference.


January 2026

2026-01-20 -- Viewport Device Presets

Added new device presets for the viewport_device parameter, covering the latest mobile and tablet devices:

DevicePreset ValueViewportDPR
iPhone 16iphone_16393 x 8523
iPhone 16 Proiphone_16_pro402 x 8743
iPhone 16 Pro Maxiphone_16_pro_max440 x 9563
Pixel 9pixel_9412 x 9232.625
Pixel 9 Propixel_9_pro412 x 9232.625
Galaxy S24galaxy_s24360 x 7803
Galaxy S24 Ultragalaxy_s24_ultra412 x 9153.5
iPad Air (M2)ipad_air_m2820 x 11802
iPad Pro 13" (M4)ipad_pro_13_m41032 x 13762

These presets automatically configure viewport_width, viewport_height, device_scale_factor, is_mobile, and has_touch to accurately emulate each device. See Viewport & Devices in the API Reference.


2026-01-10 -- Webhook HMAC-SHA256 Signature Verification

All webhook deliveries now include an X-Nodium-Signature header containing an HMAC-SHA256 signature. This allows you to verify that webhook payloads originate from Nodium and have not been tampered with.

How it works:

  1. When you create a webhook endpoint, Nodium generates a signing secret.
  2. Each webhook request is signed using this secret.
  3. Your server verifies the signature before processing the payload.
python
import hmac
import hashlib

def verify_signature(payload: bytes, signature: str, secret: str) -> bool:
    expected = hmac.new(
        secret.encode(),
        payload,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(signature, expected)

This applies to all webhook types: async screenshot completion, bulk completion, and notification webhooks.


2025

December 2025

2025-12-15 -- PDF Generation with Custom Paper Sizes

Enhanced PDF output with support for custom paper dimensions and additional configuration options. New parameters include pdf_width, pdf_height, pdf_margin_* (top, bottom, left, right), pdf_header_template, pdf_footer_template, pdf_page_ranges, and pdf_scale. Standard paper sizes (letter, a4, a3, legal, tabloid) remain available via the pdf_format parameter.

bash
curl -X POST "https://api.nodium.io/api/v1/screenshot/take" \
  -H "X-Access-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/report",
    "format": "pdf",
    "pdf_width": "210mm",
    "pdf_height": "297mm",
    "pdf_margin_top": "2cm",
    "pdf_margin_bottom": "2cm",
    "pdf_print_background": true
  }' -o report.pdf

See PDF Parameters in the API Reference.


2025-12-01 -- OpenAI Vision Integration for AI Analysis

Added the ability to analyze screenshots using OpenAI's Vision models directly through the Nodium API. Use cases include describing page content, detecting UI issues, extracting text (OCR), visual regression testing, and generating alt text for accessibility.

New parameters: ai_analysis (boolean), ai_prompt (string), and ai_model (string, default gpt-4o). Credit cost: +2 credits on top of the base screenshot cost.

bash
curl -X POST "https://api.nodium.io/api/v1/screenshot/take" \
  -H "X-Access-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "format": "png",
    "response_type": "json",
    "ai_analysis": true,
    "ai_prompt": "Describe the layout and main content of this page."
  }'

See AI Vision in the API Reference.


November 2025

2025-11-15 -- Custom Storage (S3, GCS, Azure) Support

Screenshots can now be uploaded directly to your own cloud storage instead of (or in addition to) Nodium's CDN.

Supported providers:

Providerstorage_provider value
Amazon S3s3
Google Cloud Storagegcs
Azure Blob Storageazure

Configure your storage credentials once in the dashboard under Settings > Storage, then reference the configuration by name in your API requests.

json
{
  "url": "https://example.com",
  "format": "png",
  "response_type": "json",
  "storage_provider": "s3",
  "storage_config": "my-production-bucket"
}

Credit cost: +1 credit per request when custom storage is enabled.

See the Guides for detailed setup instructions per provider.


2025-11-01 -- Initial Public Release

Nodium Screenshot API launched with full-featured web capture capabilities:

  • Endpoints: /take (static screenshots), /bulk (batch captures up to 25 items)
  • Formats: PNG, JPEG, WebP, TIFF, GIF, JP2, PDF
  • Authentication: API key via header, query parameter, or JSON body
  • Viewport & devices: custom dimensions, device scale factor, mobile emulation
  • Capture modes: full-page, element selection via CSS selector, clip/crop
  • Content control: block ads/trackers/cookie banners, inject custom CSS/JS
  • Wait strategies: load, domcontentloaded, networkidle0, networkidle2, custom delay
  • Request customization: headers, cookies, authorization, user agent, geolocation, proxy
  • Post-processing: resize, crop, blur, grayscale, watermark
  • Infrastructure: caching with CDN delivery, async mode with webhooks, signed URLs
  • Extras: metadata extraction, error control with custom error pages

Stay Updated