Skip to content

The ScreenshotMachine upgrade path
for richer browser workflows

Screenshot Machine is a reliable, no-frills screenshot and PDF API. When your workflow outgrows that simpler surface and you need metadata, link previews, remote JS, and more request headroom, Microlink gives you the broader browser API while staying 33% faster on average.

Measuring cold-start speed across 2 screenshot APIs
Microlink
ScreenshotMachine

Up to 2.3× faster response times

Same request. Same URL. Same output format.

We ran identical screenshot requests against both APIs from a New York server and measured cold-start latency — no cache, no warm-up. The numbers below are averages from 10 independent benchmark runs at different hours. The biggest gap was on screenshotone.com, where Screenshot Machine took over 12 seconds while Microlink finished in 5.5 seconds.
Cold-start latency by URL
URLMicrolinkScreenshotMachine
vercel.com6,3619,791
example.com9681,321
stripe.com3,2173,167
screenshotone.com5,47412,404
news.ycombinator.com3,4354,329
github.com3,0603,898
framer.com6,2677,789
Total28.8 s42.7 s
vercel.com
Microlink6,361 ms
ScreenshotMachine9,791 ms
example.com
Microlink968 ms
ScreenshotMachine1,321 ms
stripe.com
Microlink3,217 ms
ScreenshotMachine3,167 ms
screenshotone.com
Microlink5,474 ms
ScreenshotMachine12,404 ms
news.ycombinator.com
Microlink3,435 ms
ScreenshotMachine4,329 ms
github.com
Microlink3,060 ms
ScreenshotMachine3,898 ms
framer.com
Microlink6,267 ms
ScreenshotMachine7,789 ms
Average cold-start latency
ProviderAvg Cold Durationvs. Microlink
Microlink4,111.84 ms
ScreenshotMachine6,099.77 ms+48% slower
See the full benchmark with all 6 providers and 7 URLs on the Screenshot API Benchmark page.
Averages from 10 benchmark runs taken from a New York server at different hours. The is open — run it yourself and see. Last run: March 2026.

Why Developers Switch

The top reasons teams move from Screenshot Machine to Microlink.

A modern API surface, not just query params
Screenshot Machine covers the basics well, including cookies plus user-agent and language controls. Microlink goes further with arbitrary headers, JS injection, CSS injection, and broader browser automation for SPAs, auth-gated pages, and dynamic content.
2.3× more included monthly volume
Screenshot Machine Pro is listed at €59/month for 20,000 fresh screenshots. Microlinks comparison tier is €39/month for 46,000 requests, which is more than double the included monthly volume.
One API key, not five
Microlink handles screenshots, PDFs, metadata extraction, link previews, and remote JS in a single integration. Screenshot Machine covers screenshots and PDFs only — anything else requires a separate service.
33% faster on cold starts
In the March 2026 benchmark, Microlink averaged 4,112ms and Screenshot Machine averaged 6,100ms across 7 real-world URLs. On heavy pages, the gap reached 2.3×.
Proxy and antibot built‑in, zero config
Microlink auto-rotates residential proxies and detects 30+ antibot providers (Cloudflare, DataDome, Akamai) on every request. Screenshot Machine does not offer proxy support or antibot detection.
Open-source, fully auditable
Metascraper, MQL, and Browserless are MIT-licensed. Inspect the core engine, fork it, or self-host. No black boxes, no vendor lock-in — Screenshot Machine is closed-source with no way to audit what runs against your URLs.

More requests. Less glue code.

Compare Microlink's 46,000 requests at €39/month with Screenshot Machine Pro's 20,000 fresh screenshots at €59/month.

Microlink
€39/mo
46,000 requests/month
  • Screenshots, PDF, metadata, link previews, remote JS
  • Free: 50 requests/day, no credit card, no expiry
  • No per-minute cap on paid plans
  • 240+ edge nodes, 99.9% SLA
  • Open-source core (MIT licensed)
  • ~€0.00085/request on this tier
Screenshot Machine
€59/mo
20,000 screenshots/month
  • Screenshots and PDF only — no metadata, previews, or remote JS
  • €0.003 per additional screenshot
  • Unlimited impressions from cache (14 days)
  • Cookies plus language / user-agent controls
  • No custom JS or CSS injection
  • 99.99% uptime SLA
We can keep prices this low because our enterprise clients cover the infrastructure cost. We want to help indie devs and startups squeeze every drop of value out of their budget.

Upgrade without rebuilding everything

Keep the screenshot and PDF workflow you already know.

Your first 50 requests/day are free — no credit card, no commitment.

Feature-by-Feature Comparison

An honest look at what each API offers.

FeatureMicrolinkScreenshotMachine
Screenshot capture
Full-page screenshots
PDF generation
Device emulation (desktop/tablet/phone)
Custom delay before capture
Hide elements (CSS selectors)
Click interactions
Zoom control
PNG / JPEG output
Built-in response cache
ScreenshotMachine caches for up to 14 days.
Signed request URLs (hash security)
Custom CSS injection
Custom JS injection
Custom HTTP headers
Supports request language and user-agent, not arbitrary headers.
Partial
Custom cookies
Wait for CSS selector
Element-level capture (CSS selector)
HTML rendering (raw HTML input)
Dark/light mode capture
Custom proxy support
Built-in proxy (auto-rotating residential)
Antibot detection (30+ providers)
Metadata extraction
Link previews SDK (React/Vue/JS)
Browser chrome overlay
Direct embed (no backend)
Open-source core
Remote JS execution (return values)
MCP server
Markdown conversion
Cookie banner blocking
Manual via click/hide selectors instead of a built-in blocker.
Partial
Ad blocking
GIF output (from API)
ScreenshotMachine supports GIF as a direct output format.
Region cropping (x, y, w, h)
Last verified: April 2026. See each product's docs for the latest.

Where Screenshot Machine
Might Be the Right Choice

The simplest possible API
Screenshot Machine’s API is a single GET endpoint with a handful of parameters. If you only need basic screenshots and PDFs with no advanced browser control, that simplicity is genuinely appealing.
Region cropping built in
Screenshot Machine lets you crop a specific rectangle (x, y, width, height) from the viewport in a single API call. Microlink captures full viewports or CSS-selected elements, but does not have built-in pixel-coordinate cropping.
Free cached impressions
Screenshot Machine caches screenshots for up to 14 days and serves cached impressions at no cost. If your use case involves hot-linking the same URLs repeatedly, that caching model can save money.
GIF output directly from the API
Screenshot Machine supports GIF as a direct output format alongside JPG and PNG.

Ship faster screenshots

50 requests/day free — no account, no credit card. Start capturing screenshots at the speed your users deserve.

The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://www.apple.com' URL with 'screenshot' API parameter:

CLI Microlink API example

microlink https://www.apple.com&screenshot

cURL Microlink API example

curl -G "https://api.microlink.io" \
  -d "url=https://www.apple.com" \
  -d "screenshot=true"

JavaScript Microlink API example

import mql from '@microlink/mql'

const { data } = await mql('https://www.apple.com', {
  screenshot: true
})

Python Microlink API example

import requests

url = "https://api.microlink.io/"

querystring = {
    "url": "https://www.apple.com",
    "screenshot": "true"
}

response = requests.get(url, params=querystring)

print(response.json())

Ruby Microlink API example

require 'uri'
require 'net/http'

base_url = "https://api.microlink.io/"

params = {
  url: "https://www.apple.com",
  screenshot: "true"
}

uri = URI(base_url)
uri.query = URI.encode_www_form(params)

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri)
response = http.request(request)

puts response.body

PHP Microlink API example

<?php

$baseUrl = "https://api.microlink.io/";

$params = [
    "url" => "https://www.apple.com",
    "screenshot" => "true"
];

$query = http_build_query($params);
$url = $baseUrl . '?' . $query;

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET"
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #: " . $err;
} else {
    echo $response;
}

Golang Microlink API example

package main

import (
    "fmt"
    "net/http"
    "net/url"
    "io"
)

func main() {
    baseURL := "https://api.microlink.io"

    u, err := url.Parse(baseURL)
    if err != nil {
        panic(err)
    }
    q := u.Query()
    q.Set("url", "https://www.apple.com")
    q.Set("screenshot", "true")
    u.RawQuery = q.Encode()

    req, err := http.NewRequest("GET", u.String(), nil)
    if err != nil {
        panic(err)
    }

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := io.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}

Is there a free Screenshot Machine alternative?

Yes. Microlink's free tier gives you 50 requests/day with no credit card and no time limit. Same API, same quality, same 240+ edge network as paid plans.
Screenshot Machine also offers a free tier with 100 fresh screenshots per month. Microlink's daily-reset model gives you up to 1,500 requests/month on free, which is 15× more volume and easier to test with real traffic patterns.
Both services produce screenshots using Chromium. Microlink serves maximum quality with optimal compression by default and delivers results 33% faster on average. Screenshot Machine also delivers good quality and supports JPG, PNG, and GIF output formats.
Yes. Screenshot Machine uses a simple GET API with parameters like url, dimension, device, format, delay, and zoom. Microlink accepts the same capture concepts under its own parameter names. Most migrations involve updating the API endpoint and key. The screenshot docs cover every parameter with examples.
Paste your existing code into any LLM and ask it to migrate to Microlink. Or email and we'll help directly.

When is Screenshot Machine enough, and when should you upgrade?

Screenshot Machine is a good fit when you want a simpler API focused on screenshots and website-to-PDF conversion.
Microlink is the upgrade path when those captures need to feed richer browser workflows: metadata/Open Graph extraction, link previews (via SDK), remote JavaScript execution, and Lighthouse audits from one API key and one integration.
The core engine components are MIT-licensed on GitHub: (metadata extraction), (Microlink Query Language), and (headless browser). Enterprise teams can audit, fork, and contribute.
Screenshot Machine is closed-source. There is no way to inspect or audit the engine processing your requests.
Screenshot Machine Pro is listed at €59/month for 20,000 fresh screenshots with €0.003 per extra screenshot. Microlink's comparison tier is €39/month for 46,000 requests, which is more than 2× the included monthly volume on the plan we compare here.
Enterprise clients running millions of requests fund the infrastructure, which is how indie devs get the same global edge network at these prices.
Paid plans have no requests-per-minute cap — burst as high as your concurrency allows. The only limit is your monthly request quota.
Screenshot Machine does not publish explicit per-minute rate limits, but its pricing tiers are based on fresh screenshots per month. Cached screenshots (up to 14 days) are not billed.
Microlink supports ad blocking via the adblock parameter and custom CSS/JS injection to dismiss consent dialogs before the screenshot is taken. Screenshot Machine supports cookie-banner handling through its click and hide selector parameters, but it does not advertise a dedicated ad-blocking or cookie-blocking rules engine.
Microlink guarantees 99.9% uptime backed by a formal SLA. Requests are served from 240+ Cloudflare edge nodes worldwide. Screenshot Machine advertises 99.99% uptime on its SLA page, which is a strong availability commitment.