What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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

Automate CMS preview screenshots by resolving a draft entry to a protected preview URL, opening it in a controlled browser or screenshot service, waiting for the page to become ready, and saving the image with entry and revision metadata. The hard part is usually not taking the screenshot: it is ensuring the page shows the intended unpublished content without exposing draft credentials.

How the workflow fits together

A dependable pipeline has six parts. The trigger can be an editor action, an entry update, a review request, or a CI job; choose what fits your editorial process. The exact trigger mechanism is application-specific.

  1. Trigger: identify the entry and revision to capture.
  2. Resolve the preview: build the intended frontend route for that entry, not the public production URL if it only serves published content.
  3. Authorize draft access: validate the preview request and keep draft-read secrets on the server.
  4. Render: open the preview in a consistent browser and wait for an application-level ready signal.
  5. Capture and store: save a viewport, full-page, or element screenshot with identifying metadata.
  6. Report: distinguish authorization, missing-entry, render, timeout, rate-limit, and storage failures.

Restrict access to screenshot artifacts and set a retention period: a draft image can disclose unpublished copy, prices, or launch plans.

Make the CMS render the right draft

Contentful preview

Contentful’s Preview API is read-only and returns the latest version of entries and assets for preview. It uses a dedicated Preview API access token; production access tokens do not work with that API. The Preview API does not implement the Sync API, so an application relying exclusively on Sync needs another way to obtain preview data. Contentful’s current documentation, accessed in 2026, gives a default Preview API limit of 14 requests per second; higher limits may depend on plan. That is an API request limit, not a screenshot-worker throughput promise. Handle rate limits and retry signals during batch captures. Contentful Preview API documentation.

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.

Configure preview URLs for page-like content types that represent pages. A reusable content fragment often does not have a meaningful standalone preview route. Do not put access tokens in preview URLs, and validate values inserted into routes so unsafe characters cannot alter the URL. See Contentful’s content preview guidance.

Sanity draft mode

Sanity’s documented draft-mode flow validates an activation request, sets a cookie, and redirects to the requested preview page. Keep the draft-read token in server-side code; it needs access to draft and version documents and must not be exposed in browser-side code. The Presentation Tool uses configured preview URLs and allowed origins, with frontend endpoints that validate the request, set draft-mode state, and redirect. Treat origin allowlists and redirect validation as security boundaries, particularly when several frontends are configured. Read Sanity’s draft mode documentation and Presentation Tool documentation.

These are different vendor-specific mechanisms. Do not assume that their tokens, routes, or activation behavior are interchangeable.

Choose a capture method

Approach What it gives you What to account for
Self-hosted Playwright Direct control over navigation, waits, cookies, masking, and artifact handling. You operate browser workers and need a consistent runtime and secure CMS-specific draft flow.
Managed screenshot API May reduce the need to run browser infrastructure. Verify authentication and cookie support, private preview network access, concurrency, quotas, retention, geography, repeatability, and contract terms with the provider. These details vary and must not be assumed.

For a private preview route or a CMS-specific activation flow, first confirm that the chosen service can perform the required authentication and reach the route. For a self-hosted worker, make sure it can reach the frontend and CMS APIs and can securely receive only the needed access.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

Capture a preview with Playwright

Playwright supports viewport screenshots, full-page screenshots, element screenshots, and screenshot bytes for later processing. The following Node.js example assumes you already have a protected preview URL that renders the intended draft. It writes a full-page PNG. Install Playwright and its browser for the worker environment with npm install playwright and npx playwright install chromium.

const { chromium } = require('playwright');
const fs = require('node:fs/promises');

async function capturePreview(previewUrl, outputPath) {
  const browser = await chromium.launch({ headless: true });
  try {
    const page = await browser.newPage({
      viewport: { width: 1440, height: 1000 },
      deviceScaleFactor: 1
    });

    await page.goto(previewUrl, { waitUntil: 'domcontentloaded' });
    // Replace this selector with an application marker rendered when draft data is ready.
    await page.locator('[data-preview-ready="true"]').waitFor({ state: 'visible', timeout: 30000 });
    await page.screenshot({ path: outputPath, fullPage: true, animations: 'disabled' });
  } finally {
    await browser.close();
  }
}

const previewUrl = process.env.PREVIEW_URL;
if (!previewUrl) throw new Error('Set PREVIEW_URL to an authorized draft preview URL');
capturePreview(previewUrl, 'entry-preview.png').catch(error => {
  console.error(error);
  process.exitCode = 1;
});

Set PREVIEW_URL from a trusted job input or construct it from validated entry data. Do not accept an arbitrary user-supplied redirect destination. The selector in the example is a placeholder for a real marker your frontend renders only when the intended draft is ready; implement it before relying on the job.

Pick the screenshot shape

  • Viewport: use the default screenshot behavior when the editor needs to review the initially visible screen.
  • Full page: pass fullPage: true when the entire scrollable document is under review. Long pages can produce large artifacts.
  • One element: locate a component and call locator.screenshot({ path: 'component.png' }) to isolate a card or module.
  • Image bytes: omit path and use the returned buffer for downstream processing or storage.

Playwright’s screenshot options also support masking volatile elements and applying styles. Use these for content such as rotating promotions that should not drive a visual diff. The Playwright screenshot guide documents the available capture behavior and options.

Wait for the application, not just navigation

A completed navigation does not prove that CMS data, images, or client-side components have finished rendering. Prefer an explicit heading, preview-ready marker, or other application signal. Network-idle can be useful for some sites but may never occur on pages with persistent connections; a fixed delay can be unnecessarily slow or still too short. Choose and validate the condition for your frontend—there is no universal wait time.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

Make captures repeatable enough to review

Visual output can vary with host operating system, browser version, browser settings, hardware, power source, and headless mode. Playwright’s visual comparison guidance recommends controlling the environment; generate baselines and comparisons in the same environment where possible. Playwright screenshot assertion documentation explains that toHaveScreenshot() waits for two consecutive screenshots to match before comparing the capture with its baseline.

  • Pin the browser and worker image or runtime version.
  • Use a named viewport and device scale factor.
  • Keep fonts, fixture data, locale, and time-dependent content stable.
  • Disable or mask animations and other intentionally volatile regions.
  • Set a consistent hover state and avoid capturing during transitions.
  • Record entry ID, revision, CMS environment, URL, capture time, viewport, and job result with the artifact.

These controls reduce noise but do not make every page deterministic. If content is expected to change, compare only stable layout areas or treat the screenshot as a review artifact rather than a pass/fail visual test.

Secure the preview pipeline

  • Never place CMS access tokens in public preview URLs.
  • Keep draft-read secrets server-side; do not ship them in browser code.
  • Validate preview activation requests and restrict allowed origins.
  • Validate CMS-derived route values and prevent open redirects.
  • Give the worker the narrowest practical access to the preview host and draft data.
  • Restrict artifact access and expire screenshots and credentials according to your draft-content policy.

These safeguards matter even when the image is stored only for internal review: screenshots can expose unpublished material independently of the CMS interface.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server from ScreenshotNeo. A single GET request can return a PNG, JPEG, WebP, or PDF. For a public preview URL, this cURL request saves a WebP; see the ScreenshotNeo API documentation for request parameters and options.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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
curl -G "https://api.screenshotneo.com/v1/shot" 
  -d access_key=YOUR_API_KEY 
  --data-urlencode url=https://your-preview.example.com/article 
  -o preview.webp

For a private CMS preview, confirm that your authentication and network-access requirements can be met before routing draft content through any managed service. ScreenshotNeo’s supplied product facts include custom headers, cookies, user agents, and Authorization support, but do not establish access to a particular private network or CMS activation flow.

  • Cookie/consent banners are accepted and 60+ known consent platforms, newsletter popups, and chat widgets can be removed before capture; each step can be turned off.
  • Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. Responses identify the page verdict and billing status in headers.
  • An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients.
  • The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 shots. Yearly billing gives two months free, and every feature is on every plan.

Sign up for 1,000 free screenshots a month, with no card required.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting common failures

The screenshot shows published content, not the draft

Check that the job opens the frontend’s preview route and that the frontend activates the CMS-specific draft mode. For Contentful, use the Preview API and its preview token rather than assuming a production Delivery API request returns drafts. For Sanity, verify the validated draft-mode activation flow and server-side token access.

The page is blank or incomplete

Confirm that the preview route works in an authorized browser session and inspect frontend and CMS errors. Replace a generic navigation wait with an application-ready selector. Check that the worker can load required assets and that its viewport does not trigger an unexpected responsive state.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

The job times out intermittently

Find which stage is slow: activation, navigation, data fetching, readiness wait, capture, or storage. Use an explicit timeout appropriate to the application and report the stage with the error. Avoid treating a longer timeout as a substitute for diagnosing a stalled route or a readiness marker that never appears.

Batch jobs hit rate limits

For Contentful’s Preview API, pace requests against the documented default limit of 14 requests per second and honor retry signals; plan-specific limits may differ. This limit concerns Preview API requests and does not directly state how many screenshots a browser pool can generate.

Visual diffs keep changing

Run baseline and comparison jobs in the same pinned browser environment, then stabilize viewport, fonts, data, animation, time, and hover state. Mask or style known dynamic regions rather than widening thresholds blindly.

The artifact is missing or inaccessible

Separate capture success from storage success in job status. Verify the destination path or object key, worker permissions, and artifact access policy. Include the entry and revision identifiers in a deterministic key so that retries do not silently overwrite an unrelated capture.

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.

Common questions

Should every CMS update trigger a screenshot?

Not necessarily. Trigger on a review request or an explicit editor action if capturing every autosave would create noisy or redundant artifacts.

Can screenshots serve as visual regression tests?

Yes, when you compare in a controlled rendering environment and account for expected content changes. A review screenshot alone is not a reliable pass/fail test.

What metadata should accompany a preview image?

At minimum, record the entry identifier, revision, CMS environment, URL, capture time, viewport, and job result so reviewers can identify what the image represents.

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.