OpenGraph.io

Screenshot API for Websites and Apps

Generate pixel-perfect screenshots without running your own headless browser. A simple API call replaces Puppeteer, Playwright, or Selenium setups. Pick your device type, viewport, and capture method.

No credit card required.

Stripe Dashboard Screenshot
https://opengraph.io/api/1.1/screenshot/https%3A%2F%2Fstripe.com

Capture Web Previews with Ease

Our Screenshot API gives you everything you need to create beautiful screenshots and rich media cards from any URL.

Consistent Performance

While websites might change, our commitment to delivering crisp screenshots doesn't. Always expect the best results.

Reliable

Fast and Fluid Experience

Speed matters. OpenGraph.io's website screenshot API is optimized for performance, capturing website visuals rapidly. No more waiting around for sluggish renders.

Fast

Versatile Customization

Your requirements are unique, and so should be your screenshots. With OpenGraph.io, you get a myriad of customization options – from viewport settings to resolution scaling.

Flexible

Seamless Integration

OpenGraph.io's screenshot API is designed with adaptability in mind. Our API seamlessly integrates, ensuring your projects get the visual representation they deserve.

Easy

Take clean screenshots

Get consistent website screenshots without manual effort. Our API provides a reliable way to capture web page visuals programmatically.

  • Accurate page rendering: Captures websites consistently, reflecting how they appear in standard browsers.
  • Automated capture: Eliminate manual screenshotting processes and integrate directly into your workflows.
  • Focus on content: Delivers the core visual content of the page directly through the API, simplifying integration.
Sign up for free →
Clean screenshot example

Customize everything

Customization options example

Tailor your screenshots

Control the output of your screenshots with simple yet powerful parameters to match your specific needs.

  • Choose your capture area: Opt for full-page screenshots or capture just the visible viewport.
  • Define screen dimensions: Simulate different device sizes like desktop, laptop, tablet, and mobile to match your target devices.
  • Adjust image quality: Optimize file size and visual fidelity by setting the desired `quality` level for your screenshots.
Sign up for free →

Pixel-perfect quality

Take screenshots for any screen size

Your customers will be pleasantly surprised by the quality of screenshots.

5 free screenshots per month.

  • Support for high-resolution displays. Capture stunning high-DPI screenshots that look crisp and clear on any modern screen.
  • Any custom screen size or predefined by device. Most common screenshot automations are included as simple options.
  • Full-page capture capability. Our API intelligently handles scrolling content, dynamic elements, and ensures all resources are properly loaded in the final image.
Sign up for free →
High quality screenshot example
Developer Friendly

Integrate in Minutes

Use the language you love

import fetch from 'node-fetch';
import * as fs from 'fs';

// Screenshot API
const takeScreenshot = async () => {
  // Target URL to capture
  const targetUrl = encodeURIComponent("https://example.com");

  // Replace xxxxxx with your actual app_id
  const url = `https://opengraph.io/api/1.1/screenshot/${targetUrl}?app_id=xxxxxx`;

  // Optional parameters
  const params = new URLSearchParams({
    full_page: "true",      // Capture entire page, not just viewport
    dimensions: "lg",       // 1920x1080 resolution
    quality: "80"           // Highest quality
  });

  try {
    // Make the request
    const response = await fetch(`${url}&${params.toString()}`);
    
    if (response.status === 200) {
      // Get the image data
      const imageBuffer = await response.arrayBuffer();
      
      // Save the screenshot
      fs.writeFileSync("screenshot.png", Buffer.from(imageBuffer));
      console.log("Screenshot saved successfully!");
    } else {
      const errorText = await response.text();
      console.error(`Error: API request failed with status code ${response.status}`);
      console.error(errorText);
    }
  } catch (error) {
    console.error('Error taking screenshot:', error);
  }
};

takeScreenshot();
Our Clients

Trusted by Thousands

Over 1B Site Previews!

Try it for free today

Get started with 5 free screenshots per month. No credit card required. Experience the power of our API with zero commitment.

Sign up for free →

Or try our free Screenshot Tool — no account needed

FAQ

The screenshot API endpoint allows you to capture screenshots of web pages. By providing a URL, the API returns an image capture of the specified site.
Yes, the API accepts a couple of quey parameters that will allow you to do that. We allow for four different viewport sizes and the ability to scale the image quality up or down. Check out our documentation for more details.
Screenshot images are available for download for 24 hours after they are generated. After this time period, the images are automatically removed from our servers. Make sure to download any screenshots you need within this timeframe.
Currently the screenshot will be stored for 24 hours and then deleted. We do not offer a way to permanently store the screenshots at this time.
Yes, some websites might employ measures to prevent automated access, which can include taking screenshots.
Screenshots are delivered in JPEG.

Still have Questions? 🤔

Can't find the answer you're looking for? Please chat to our friendly team. We usually respond within 24 hours.