FREE SCREENSHOT API

Capture full screen screenshots without credit cards, signups or hassle

https://api.screenshotrobot.com?url=https://example.com​

Turn Any URL into an Image, in Seconds.

Pass us the URL and we return the image, in seconds. Most cookies and ads blocked by default.

HASSLE-FREE

Tired of sign-ups, credit cards, and complicated processes just to get started? With SShot, enjoy up to 25 free screenshots per day—no sign-up, no credit card, no hassle. Just go!

SAFE

We can delete your screenshots in seconds, or keep them forever if you choose to use us as a CDN-service.

Limits

The limits are straightforward:

  • Free Users: 10 screenshots per day. No signup required, no obligations.
  • Premium Users: $49 per year for up to 500 screenshots per day.
  • Enterprise?: Millions of screenshots. [email protected]

Create an account to track your screenshots or increase your limits

Sign up Portal

Try Me

Code snippets

Example JSON Response

This is an example of the JSON response returned by the API. If you pass the &redirect parameter to the API, you will be immediately redirected to the image URL without receiving this JSON response.

{
    api_key: null,
    googlebot: 1,
    date: "2024-01-01 12:35:33",
    errors: [ ],
    execution_time: 2774,
    full_screen: 0,
    id: "5jzqzvpwfk7aqorpq4qfsh",
    resolution: {
        height: "1024",
        width: "1280"
    },
    screenshot_url: "https://api.screenshotrobot.com/fetch/5jzqzvpwfk7aqorpq4qfsh.png",
    sleep: 1,
    status: true,
    url: "https://example.com",
    user_data: {
        count: 1,
        daily_limit: 25,
        daily_limit_reached: false,
        day: "2024-01-01"
    }
}

API Parameters

This API endpoint allows you to capture screenshots of webpages with various customizable options. Below is a detailed explanation of each query parameter you can use:

  • url (required): The URL of the webpage to capture. This should be a fully qualified URL, starting with http or https.
    Example: url=https://example.com
  • api_key (optional): Your API key, required for accessing higher usage limits or premium features.
    Example: api_key=XXX
  • resolution (optional): The resolution of the screenshot. This defines the width and height of the browser viewport.
    Format: widthxheight
    Examples: resolution=1920x1080, resolution=1280x800
    Default: 1280x1024
  • sleep (optional): The delay (in seconds) before the screenshot is taken, allowing for page elements to fully load. This is useful for pages that have significant JavaScript-driven content.
    Example: sleep=5
    Default: 1 seconds
  • googlebot (optional): Whether to use a Googlebot user-agent to potentially bypass captchas or for testing how a page looks to search engine crawlers.
    Values: 1 (use Googlebot), 0 (use standard user-agent)
    Example: googlebot=1
    Default: 1
  • full_screen (optional): Whether to capture the entire height of the webpage, not just what fits within the specified resolution.
    Values: 1 (capture full page), 0 (capture only the viewport)
    Example: full_screen=1
  • redirect (optional): Whether to immediately redirect to the image instead of returning JSON
    Example: &redirect

Full Example URL

Here is a full example URL incorporating all the parameters:


https://api.screenshotrobot.com?url=https://example.com&sleep=5&googlebot=0&full_screen=1&resolution=1280x800&api_key=XXX&redirect
    

Code snippets

cURL
curl --location --request GET 'https://api.screenshotrobot.com?url=https://example.com'
Python
import requests
response = requests.get('https://api.screenshotrobot.com?url=https://example.com')
print(response.text)
PHP
<?php
$response = file_get_contents('https://api.screenshotrobot.com?url=https://example.com');
echo $response;
?>
.NET (C#)
using System.Net;

WebClient client = new WebClient();
string response = client.DownloadString("https://api.screenshotrobot.com?url=https://example.com");
Console.WriteLine(response);
C (Using libcurl)
#include <stdio.h>
#include <curl/curl.h>

int main(void) {
    CURL *curl;
    CURLcode res;
    curl = curl_easy_init();
    if(curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "https://api.screenshotrobot.com?url=https://example.com");
        res = curl_easy_perform(curl);
        if(res != CURLE_OK)
            fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
        curl_easy_cleanup(curl);
    }
    return 0;
}
Java
import java.io.*;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;

public class Main {
    public static void main(String[] args) throws IOException {
        URL url = new URL("https://api.screenshotrobot.com?url=https://example.com");
        HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
        con.setRequestMethod("GET");
        
        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer content = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            content.append(inputLine);
        }
        in.close();
        con.disconnect();
        System.out.println(content.toString());
    }
}
JavaScript (Node.js)
const https = require('https');

https.get('https://api.screenshotrobot.com?url=https://example.com', (resp) => {
  let data = '';
  resp.on('data', (chunk) => {
    data += chunk;
  });
  resp.on('end', () => {
    console.log(data);
  });
}).on("error", (err) => {
  console.log("Error: " + err.message);
});