Fast, reliable website screenshots with a powerful API. Seamless integration, instant results.
Generate website screenshots in seconds. Optimized for speed, efficiency, and reliability.
Clear, detailed, and developer-friendly docs to get you started fast. Every feature, every endpoint—fully covered.
Country-Specific Access: Choose the country of your IP to access location-specific content.
No Geo Blocking: Bypass geo-restrictions and collect region-based data effortlessly.
Localized Content: Ensure accurate and localized results for your business.
<html lang="en" op="news"><head><meta name="referrer" content="origin"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" type="text/css" href="news.css?NN8u7ovhSCEX5FaImBQe">
<link rel="icon" href="y18.svg"><link rel="alternate" type="application/rss+xml" title="RSS" href="rss">
<title>Hacker News</title></head><body><center><table id="hnmain" border="0" cellpadding="0" cellspacing="0" width="85%" bgcolor="#f6f6ef">
<tbody><tr><td bgcolor="#ff6600"><table border="0" cellpadding="0" cellspacing="0" width="100%" style="padding:2px"><tbody><tr><td style="width:18px;padding-right:4px"><a href="https://news.ycombinator.com">...
Get Fresh Data: Set up recurring extractions to keep your data fresh and up to date.
Automate Scraping: Reduce manual work with fully automated scraping tasks.
Schedule Management: Monitor and manage schedules easily from your dashboard.
Increased Performance and Speed: Leverage GPU acceleration to drastically reduce rendering times and boost overall performance.
Optimized Video Quality: Achieve professional-grade visuals with superior video quality powered by advanced GPU processing.
Scalability and Cost Efficiency: Seamlessly scale operations while maintaining cost efficiency through optimized GPU resource management.
Avoid the complexity of managing headless browsers: use our API to capture screenshots, generate PDFs, or scrape any website by URL. Get started for free with up to 100 requests. It’s scalable, reliable, and developer-friendly.
Capture high-quality screenshots of any webpage with ease. Convert to JPEG, PNG, WEBP, or GIF formats.
Create animated screenshots to visualize webpage interactions and changes. Export to WEBM, MP4, MOV and AVI formats.
Extract html and data from any website with our powerful web scraping capabilities. Convert to HTML or Markdown format.
Automate screenshot, web scraping, or HTML to PDF conversion, for regular updates or monitoring.
import fs from "node:fs";
import { SDK } from "@screenshotmax/sdk";
// create API client
const sdk = new SDK("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
// set up options and fetch screenshot (chaining methods)
const result = await sdk.screenshot
.setOptions({
url: "https://example.com",
format: "png",
})
.fetch();
fs.writeFileSync("screenshot.png", Buffer.from(result.data, "binary"));
console.log("Image saved to screenshot.png");
from screenshotmax import SDK
from screenshotmax.enums import ImageFormat
from screenshotmax.options import ScreenshotOptions
sdk = SDK("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")
# set up options
opts = ScreenshotOptions(
url="https://example.com",
format=ImageFormat.PNG
)
# fetch screenshot (chaining methods)
result, headers = sdk.screenshot.set_options(opts).fetch()
# save to file
output_file = "screenshot.png"
with open(output_file, "wb") as f:
f.write(result)
print("Image saved to screenshot.png")
use ScreenshotMax\SDK;
use ScreenshotMax\Options\ScreenshotOptions;
$sdk = new SDK("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
// set up options
$opts = new ScreenshotOptions();
$opts->url = "https://example.com";
$opts->format = "png";
$result = $sdk->screenshot->setOptions($opts)->fetch();
// optionally: generate signed URL
// (https://api.screenshotmax.com/v1/screenshot?url=https%3A%2F%2Fexample.com&format=png&access_key=YOUR_ACCESS_KEY&signature=370f5b161bc59eed13b76........1f778635d7fc595dbab12)
$url = $sdk->screenshot->getUrl();
// save screenshot to file
file_put_contents("screenshot.png", $result["data"]);
echo "Image saved to screenshot.png\n";
package main
import (
"fmt"
"io"
"net/http"
"net/url"
"os"
)
func main() {
client := &http.Client{}
endpoint := "https://api.screenshotmax.com/v1/screenshot"
method := "GET"
req, err := http.NewRequest(method, endpoint, nil)
if err != nil {
fmt.Println("Error creating request:", err)
return
}
params := url.Values{}
params.Add("access_key", "YOUR_ACCESS_KEY")
params.Add("url", "https://example.com")
params.Add("format", "png")
req.URL.RawQuery = params.Encode()
resp, err := client.Do(req)
if err != nil {
fmt.Println("Request failed:", err)
return
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
fmt.Println("Unexpected status:", resp.Status)
return
}
outFile, err := os.Create("screenshot.png")
if err != nil {
fmt.Println("Error creating file:", err)
return
}
defer outFile.Close()
_, err = io.Copy(outFile, resp.Body)
if err != nil {
fmt.Println("Failed to write file:", err)
return
}
fmt.Println("Image saved to screenshot.png")
}
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
var url = "https://api.screenshotmax.com/v1/screenshot" +
"?access_key=YOUR_ACCESS_KEY" +
"&url=https://example.com" +
"&format=png";
try
{
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
var imageBytes = await response.Content.ReadAsByteArrayAsync();
await File.WriteAllBytesAsync("screenshot.png", imageBytes);
Console.WriteLine("Image saved to screenshot.png");
}
catch (Exception ex)
{
Console.WriteLine("Request failed: " + ex.Message);
}
}
}
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ScreenshotRequest {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
String url = "https://api.screenshotmax.com/v1/screenshot" +
"?access_key=YOUR_ACCESS_KEY" +
"&url=https://example.com" +
"&format=png";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.GET()
.build();
try {
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofByteArray());
if (response.statusCode() == 200) {
try (FileOutputStream fos = new FileOutputStream("screenshot.png")) {
fos.write(response.body());
}
System.out.println("Image saved to screenshot.png");
} else {
System.out.println("Failed with HTTP status: " + response.statusCode());
}
} catch (IOException | InterruptedException e) {
System.out.println("Request failed: " + e.getMessage());
}
}
}
You have a business to run. Stop worrying about rendering issues, browser inconsistencies, and automation. Capture perfect website screenshots effortlessly—we've got it covered.
Requests
Support
Satisfaction
Free trial
Limited to 100 requests
All features included except Automated Screenshot, IP Location and GPU Rendering
10 requests per minute
Monthly Yearly
2,000 requests per month 24,000 requests per year
Website Screenshot
HTML to PDF
Blocking Ads & Cookie Banners
Cache, Webhook & Zapier
Stealth Mode
Signed Requests
$0.009 per extra request
50 requests per minute
Monthly Yearly
10,000 requests per month 120,000 requests per year
All Basic Plan Features
Website Screenshot
HTML to PDF
Blocking Ads & Cookie Banners
Cache, Webhook & Zapier
Stealth
Mode
Signed Requests
Animated Screenshot
Storage
$0.006 per extra request
100 requests per minute
Monthly Yearly
50,000 requests per month 600,000 requests per year
All Basic + Growth Plans Features
Website Screenshot
HTML to PDF
Animated Screenshot
Blocking Ads & Cookie
Banners
Storage
Cache, Webhook & Zapier
Stealth Mode
Signed Requests
Web Scraping
Choose IP Location
GPU Rendering
Scheduled Tasks (Full Automation)
Priority Support
$0.003 per extra request
200 requests per minute
Yes! With our API, you can capture up to 100 website screenshots for free, including animated screenshots, web scraping, and HTML-to-PDF conversion. Upgrade to a paid plan for additional features like GPU rendering, storage, and scheduled tasks, as well as higher limits.
Yes! You can cancel anytime from the ‘Manage Subscription’ page by selecting ‘Cancel Plan.’ You won’t be charged again, and you’ll retain access to your screenshot quota until the end of your billing period.
Yes! Our API is developer-friendly, offering clear documentation and examples to help you seamlessly integrate screenshot capture, web scraping, and PDF generation. Check out our documentation for more details.
Yes! Our API allows you to efficiently extract website data, choose your IP location, and schedule tasks—perfect for web scraping, data mining, and automation. You can also convert HTML to PDF and capture animated screenshots.
Complete API for rendering website screenshots, HTML to PDF, animated screenshots, web page scraping, and scheduled screenshots.
Start rendering for free