Bloga dön

Introducing the Website Screenshot Capture API: High-Speed Web Rendering for Developers

Introducing the Website Screenshot Capture API: High-Speed Web Rendering for Developers

Visual content is key to keeping dashboards, reports, and search previews engaging. Today, we are excited to announce the release of our Website Screenshot Capture API, allowing you to programmatically capture high-fidelity visual representations of any webpage on the internet.

Whether you need automated website archiving, search engine result previews, or visual testing tools for your application, our new REST endpoint delivers fast, clean, and customizable captures with minimal code.

The endpoint is fully live and integrated with your account API credentials.


What the Screenshot API Can Do

Under the hood, our API utilizes a robust Chromium rendering pool to load target web addresses, execute scripts, wait for resources to load, and convert the page layout into sharp images.

We’ve designed the parameters to address common layout hurdles developer-grade screenshot tools face:

  • Viewport Presets: Mimic different screens by specifying presets (e.g., desktop-1080p, iphone-14-pro, ipad-mini) or pass custom width/height values.
  • Full-Page Captures: Capture the entire scrollable height of a page — not just the above-the-fold content.
  • Ad & Cookie Popup Removal: Filter out intrusive cookie consent banners and standard display ads before snapping the shot.
  • Custom Scale & Zoom: Scale font and layouts with custom zoom values (from 0.5x up to 2.0x) to fit your presentation requirements.
  • Flexible Storage (Private vs Shared): Choose to save the screenshot in our permanent CDN for public sharing, or return the capture instantly as a Base64-encoded URL without uploading it to our platform.

API Authentication & Quotas

To start making requests, include your account API key in the Authorization header as a Bearer token.

Screenshot quotas are plan-based and reset monthly:

  • Free Plan: 100 API screenshots per month.
  • Pro Plan: 2,000 API screenshots per month.

You can monitor your monthly usage and remaining balance directly from your Account Panel.


Endpoint Details

  • Method: POST
  • URL: https://imageupload.app/api/1/screenshot
  • Headers:
    • Authorization: Bearer YOUR_API_KEY
    • Content-Type: application/json

JSON Parameters

Parameter Type Required Description
url string Yes The target website URL to capture (e.g., https://google.com).
preset string No Viewport size preset (e.g. desktop-1080p, iphone-14-pro).
format string No Image file format (png or jpeg). Default is png.
fullPage boolean No Captures the entire page height when set to true. Default: false.
noAds boolean No Attempts to block common ads when set to true.
noCookie boolean No Attempts to dismiss cookie banners when set to true.
zoom number No Page scale factor (e.g., 0.75, 1.5). Default: 1.0.
share boolean No Set to false to return the screenshot as a private Base64 data URL. Default: true.

Code Examples

Here is how you can perform a request using standard developer tooling:

Using cURL

curl -X POST "https://imageupload.app/api/1/screenshot" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "preset": "desktop-1080p",
    "fullPage": true,
    "noCookie": true
  }'

Using Node.js (Fetch API)

async function capturePage() {
  const response = await fetch('https://imageupload.app/api/1/screenshot', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      url: 'https://news.ycombinator.com',
      preset: 'desktop-1080p',
      share: false // Returns private Base64 directly
    })
  });

  const result = await response.json();
  if (result.success) {
    console.log("Screenshot data URI:", result.data.display_url);
  }
}

Ready to Get Started?

You can review the interactive code blocks, parameters table, and error codes over at the API Documentation page. If you are not yet registered, sign up for a free account today to start capturing screenshot previews programmatically!