ScreenshotNeo

BlogGuides

Does CloudConvert Support Full-Page Screenshots of Infinite-Scroll Websites?

CloudConvert documents full-page screenshots, but its docs do not confirm scrolling to load infinite-scroll content. Here’s what to check and how to capture it.

By the ScreenshotNeo team4 October 20267 min read

Short answer: CloudConvert supports full-page, full-height website screenshots, but its reviewed documentation does not confirm that it repeatedly scrolls an infinite-scroll page to trigger additional content. Full-page capture and loading content through scrolling are different behaviors. If the page only reveals more items after scrolling, verify the resulting capture for the exact URL before relying on it.

What CloudConvert documents

CloudConvert describes its Website Screenshot API as Chrome-based and supports full-page PNG or JPG screenshots. Its API documentation describes the capture-website operation and output-format-specific parameters. The product page also documents waiting for a custom CSS selector before capture. These controls establish full-height capture and a readiness wait; they do not establish repeated scrolling for infinite-scroll pages.

CloudConvert’s product page says full-height screenshots are captured by default. That means a screenshot can cover the document’s full height at capture time. It does not necessarily mean the browser first scrolls down, causes more network requests, waits for newly appended content, and repeats that process until no more content appears. The distinction is an inference from what the reviewed documentation describes and leaves unspecified, not a claim about CloudConvert’s unobserved runtime behavior.

Sources: CloudConvert Website Screenshot API, Capture Website operation, and CloudConvert API documentation.

Why infinite scroll needs a separate check

Pages commonly load their first set of items on initial navigation, then request and append more content when a visitor approaches the bottom of the page. A full-height screenshot can only include content that exists in the page when the capture is taken. If additional items have not been requested yet, the image may be a complete screenshot of the current document while still omitting later items.

Similarly, waiting for a CSS selector can help ensure that a particular element exists before capture. The documented selector wait does not say that CloudConvert scrolls to that element or triggers the page’s scroll handlers. Treat it as a readiness condition, not an infinite-scroll loader.

How to verify a CloudConvert capture

  1. Choose a page where you know what content should appear near the bottom, and note a distinctive last item or section.
  2. Request the format you need using CloudConvert’s capture-website API operation and the URL and output format required by its documentation. Consult the operation reference for the current request schema and authentication requirements.
  3. If the page has a reliable element that appears after initial load, use the documented CSS-selector wait to avoid capturing before that element is ready. Do not assume this wait triggers scrolling.
  4. Open the resulting PNG, JPG, or PDF and inspect the bottom of the capture. Check whether the expected lower-page items are present and whether the page ends at the expected point.
  5. Repeat with the exact production URL and relevant page state if content depends on authentication, cookies, or a particular starting position. A result from another URL or session does not prove this page’s behavior.
  6. If content is missing, use browser automation that explicitly scrolls in steps and waits for new content, or choose a service whose documentation clearly promises that behavior. CloudConvert’s reviewed docs do not settle whether its capture process does this automatically.

CloudConvert’s API supports PNG/JPG website screenshots and its capture operation documentation includes PDF examples. Select the output format documented for your use case; do not infer that format support implies infinite-scroll handling.

Browser automation when the page must load more content

When completeness depends on triggering scroll events, the general workflow is to open the target page in a browser, scroll by viewport-sized increments, wait for content to load after each step, and stop when the page height no longer grows or a defined item limit is reached. Then capture the resulting document. The stopping rule matters: an endless feed may never reach a natural end.

CloudConvert’s reviewed sources do not provide a runnable scroll-loop example or specify a maximum scroll depth, so the following is a browser-automation pattern rather than CloudConvert API syntax. For an actual page, adapt the wait to a known selector or network behavior, and impose a maximum duration or number of scrolls.

// Illustrative Playwright pattern for a page that appends items on scroll.
// Install Playwright and its browser separately before running.
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({ headless: true });
  const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });
  try {
    await page.goto('https://example.com/feed', { waitUntil: 'domcontentloaded', timeout: 60000 });
    let previousHeight = 0;
    let stableRounds = 0;
    const maxRounds = 30;

    for (let round = 0; round < maxRounds && stableRounds < 3; round++) {
      const height = await page.evaluate(() => document.documentElement.scrollHeight);
      await page.evaluate(() => window.scrollTo(0, document.documentElement.scrollHeight));
      await page.waitForTimeout(1200); // Replace with a page-specific readiness condition when possible.
      const nextHeight = await page.evaluate(() => document.documentElement.scrollHeight);
      stableRounds = nextHeight <= previousHeight ? stableRounds + 1 : 0;
      previousHeight = Math.max(height, nextHeight);
    }

    await page.screenshot({ path: 'full-page.png', fullPage: true });
  } finally {
    await browser.close();
  }
})();

This example uses a fixed delay as a simple fallback; it is not a guarantee that a slow request has completed. For production, wait for a page-specific signal, such as a new item count or a loading indicator disappearing. Set limits because feeds can keep growing, and consider capturing a bounded region or a defined number of items when a complete page would be impractically tall.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. Its full-page capture loads lazy images. One GET request returns an image or PDF; its documented controls also include selector waits, delays, and network-idle waits. These are useful capture controls, but they should not be read as a promise to repeatedly scroll an infinite feed.

Example request:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/feed -o shot.webp

See the ScreenshotNeo API documentation for request options. Cookie banners, popups, and chat widgets are removed before the shot. Bot checks, blank pages, and failed loads are never billed. An MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.

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

Troubleshooting

Symptom Likely cause What to do
The screenshot is full height but later feed items are missing. The page had not loaded those items when capture occurred, or automatic scrolling was not performed. Inspect the exact output. Use a scroll-and-wait browser workflow if those items are required; the reviewed CloudConvert docs do not confirm repeated scrolling.
The capture starts before the main content appears. The page’s initial render or data request had not completed. Use a documented selector wait where an appropriate element is available, or otherwise add a page-specific readiness strategy. A selector wait does not itself trigger scrolling.
A selector wait does not help with lower items. The selector may only appear after a scroll event, or it may not match the rendered page. Check the selector against the page and determine whether scrolling is required to make it appear. Do not treat the wait as a scroll command.
The capture is unexpectedly short. The page may have rendered only its initial content, or the page layout may not expose the expected document height at capture time. Compare the output with the live page and verify whether more content appears after manual scrolling. Test the exact page state and URL.
A feed never appears to finish loading. Some feeds continuously fetch more items or grow as the visitor scrolls. Use a maximum scroll count, maximum time, item count, or defined stopping marker. Capture a bounded result when an unlimited feed has no meaningful endpoint.
The API request fails or returns an unexpected format. Request parameters, authentication, or output-format settings may not match the operation schema. Check CloudConvert’s current operation reference for the required URL, output format, and current API request details.

Performance, reliability, and cost considerations

  • Capture time: Each additional scroll and wait adds time. Network variability, client-side rendering, and delayed content can make a fixed wait either wasteful or too short.
  • Reliability: Prefer explicit page signals, such as an item count increasing or a loading indicator disappearing, over assuming that a single delay covers every page. Keep a maximum duration and report when the stopping limit is reached.
  • Very long pages: A feed with hundreds or thousands of loaded items can create a large image and consume substantial memory. Consider a defined scroll depth, segmented screenshots, or PDF pagination if the use case allows it.
  • Repeatability: Dynamic feeds can change between runs. Record the target URL and relevant settings, and validate the expected content rather than assuming that two captures will contain identical items.
  • Cost: The reviewed CloudConvert sources for this feature do not establish pricing or a cost per infinite-scroll capture. Check current CloudConvert plan and API terms before estimating cost. Browser automation also uses compute and time proportional to navigation, waits, and rendered content.

FAQ

Can CloudConvert capture an entire scrolling page?

It documents full-page or full-height website screenshots. The documentation reviewed does not clarify whether it scrolls to cause an infinite page to load more content.

Does a full-page screenshot automatically trigger lazy loading?

That behavior is not confirmed by the reviewed CloudConvert documentation. Full-height capture describes screenshot coverage, while triggering content may require scroll events.

Does waiting for a CSS selector load content below the fold?

The selector wait is documented as a way to wait for an element. The docs do not say that it scrolls the page or causes scroll-triggered requests.

What is the safest way to know whether the result is complete?

Inspect the actual output for the exact target page and confirm that expected lower-page content appears. If it does not, use a workflow that explicitly scrolls and waits for new items.

Conclusion

CloudConvert documents full-page screenshots, but its public documentation reviewed here does not answer whether it automatically scrolls infinite-scroll websites to load additional content. Treat completeness as unverified for scroll-triggered items: test the exact page, inspect the output, and use explicit scrolling automation when those items must be included.