How to Screenshot a Notion-Powered Website in Node.js

How to Screenshot a Notion-Powered Website in Node.js

author

Snapshot Site Team

01 Mar 2025 - 02 Mins read

Turning a Notion page into a public website — directly, or through a wrapper tool that adds a custom domain and styling on top — has become a common, fast way for small teams to ship a docs site, a changelog, or a simple marketing page without a traditional CMS. That convenience comes with a rendering trade-off worth knowing about before automating screenshots of one.

Why Notion-Powered Sites Have Their Own Quirks

  • Slower initial content load is common, since the page is rendering Notion's own block-based document structure rather than a lightweight static page.
  • Nested toggles and collapsed sections in the source Notion page may render collapsed by default, so a capture shows only what's expanded, not necessarily everything on the page.
  • Embedded databases and galleries (Notion's table or gallery views) can take a moment longer to populate than plain text blocks.

Node.js Example

const response = await fetch("https://api.prod.ss.snapshot-site.com/api/v1/screenshot", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-snapshotsiteapi-key": "YOUR_API_KEY",
  },
  body: JSON.stringify({
    url: "https://example-notion-site.com/",
    format: "png",
    width: 1440,
    height: 900,
    fullSize: true,
    hideCookie: true,
    delay: 3,
  }),
});

const data = await response.json();
console.log(data);

A longer delay than a typical marketing page is worth budgeting for here, since Notion-based pages tend to load their content in stages rather than all at once.

Practical Recommendations

  • Budget extra delay for database and gallery blocks. These tend to populate later than plain text and heading blocks.
  • Default to fullSize: true. Notion-based docs and changelog pages are usually long, scrollable documents.
  • Decide deliberately whether collapsed toggles should be expanded before capturing, if the point of the screenshot is documenting the page's complete content rather than its default collapsed view.

Common Use Cases

  • Archiving a changelog or documentation page's state at a point in time
  • Visual QA before switching a Notion-based site's theme or custom domain setup
  • Generating preview thumbnails for an internal content calendar
  • Feeding a scheduled visual monitor, as described in Visual Uptime Monitoring

For teams that shipped a fast, Notion-based site and now want it monitored the same way any other page would be, Snapshot Site handles the capture with one HTTP call, no extra tooling required.

Recent Articles

Subscribe to Snapshot Site API

Snapshot Site is a powerful API that allows you to capture full-page, high-resolution screenshots of any website with pixel-perfect accuracy.
Simply send a URL to the API to generate a complete snapshot — not just the visible area — covering entire web pages, scrolling content, landing pages, blogs, news articles, social media posts, videos, and more.
Designed for developers, designers, marketers, and journalists,
Snapshot Site makes it easy to integrate web page capture into your applications, workflows, and automation tools.

Subscribe Now
bg wave