Skip to content

The ScreenshotAPI alternative
for broader browser workflows

ScreenshotAPI already covers screenshots, PDFs, bulk capture, and scraping workflows. When you need metadata, link previews, and a broader browser API from the same key, Microlink covers all of that and is 33% faster than ScreenshotAPI on average.

Measuring cold-start speed across 2 screenshot APIs
Microlink
ScreenshotAPI

Up to 4× faster response times

Same request. Same URL. Same output format.

We tested 7 real-world URLs with true cold starts (no caching) from a New York server. All providers were triggered simultaneously, the benchmark ran 10 times at different hours, the single slowest run was dropped to remove outliers, and non-200 responses were excluded. Averaged across the suite, Microlink is 33% faster; on lighter pages the gap reaches 4×.
Cold-start latency by URL
URLMicrolinkScreenshotAPI
vercel.com6,3616,143
example.com9684,988
stripe.com3,2175,614
screenshotone.com5,4746,805
news.ycombinator.com3,4355,385
github.com3,0606,174
framer.com6,2676,301
Total28.8 s41.4 s
vercel.com
Microlink6,361 ms
ScreenshotAPI6,143 ms
example.com
Microlink968 ms
ScreenshotAPI4,988 ms
stripe.com
Microlink3,217 ms
ScreenshotAPI5,614 ms
screenshotone.com
Microlink5,474 ms
ScreenshotAPI6,805 ms
news.ycombinator.com
Microlink3,435 ms
ScreenshotAPI5,385 ms
github.com
Microlink3,060 ms
ScreenshotAPI6,174 ms
framer.com
Microlink6,267 ms
ScreenshotAPI6,301 ms
Average cold-start latency
ProviderAvg Cold Durationvs. Microlink
Microlink4,111.84 ms
ScreenshotAPI5,915.71 ms+44% 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 ScreenshotAPI to Microlink.

Latency compounds at scale
At 100k screenshots/month, 1.9s saved per request adds up to 53 hours of recovered pipeline time. Microlink is 33% faster on average, up to 4× faster on simple pages.
One API key, not five
Screenshots, PDFs, metadata extraction, link previews, and remote JS in one integration. One bill, one set of docs, no glue code.
4.6× more requests for $16 more
ScreenshotAPI Startup: 10,000 screenshots for $29/month. Microlink: 46,000 requests for $45. Just $16 more, 4.6× the volume, and every request covers screenshots, PDF, metadata, and more.
Open source, fully auditable
Metascraper, MQL, and Browserless are MIT-licensed on GitHub. Read the code, fork it, or self-host. ScreenshotAPI is closed-source, with no way to inspect what runs against your URLs.
Proxy and antibot built‑in, zero config
Microlink auto-rotates residential proxies and detects 30+ antibot providers (Cloudflare, DataDome, Akamai) on every request. No middleware, no extra parameter — make a query and it just works.
Marketing-ready screenshots in one call
screenshot.overlay wraps any capture in a browser chrome frame with a custom gradient or image background. Presentation-ready visuals straight from the API, no Figma needed.

More requests. One broader API.

Get 4.6× more for just $16 more.

Microlink
$45/mo
46,000 requests/month
  • Screenshots, PDF, metadata, link previews, remote JS
  • Free: 50 requests/day, no credit card, no expiry
  • No rate limit on any paid plan
  • 240+ edge nodes, 99.9% SLA
  • Open-source core (MIT licensed)
  • ~$0.00098/request — 9× cheaper than ScreenshotAPI Essentials
ScreenshotAPI
$29/mo
10,000 screenshots/month
  • 40 req/min rate limit on Startup
  • $0.008 per extra screenshot
  • Screenshots, PDF, bulk capture, and scraping
  • Official Zapier, Make, and n8n workflows
  • BYOB storage (S3/Wasabi/GCS)
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.

Bring richer browser outputs into the same integration

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

Feature-by-Feature Comparison

An honest look at what each API offers.

FeatureMicrolinkScreenshotAPI
Screenshot capture
Full-page screenshots
Element-level capture (CSS selector)
PDF generation
HTML rendering
Dark/light mode capture
Device emulation presets
Custom JS/CSS injection
Custom HTTP headers
Custom cookies
Hide/remove elements (CSS selectors)
Click interactions
Wait for selector
Cookie banner blocking
Ad blocking
Built-in response cache
Custom proxy support
Built-in proxy
Antibot detection (30+ providers)
Metadata extraction
Link previews SDK
Browser chrome overlay
Direct embed (no backend)
Open-source core
Remote JS execution (return values)
240+ CDN edge nodes
MQL (structured data extraction)
MCP server
Markdown conversion
Lighthouse audits
Technology detection
Color palette extraction
Typed SDKs (React/Vue/JS)
Video output (page content)
Animated screenshots
Scheduled screenshot workflows
Official automation guides exist for Zapier, Make, and n8n workflows.
Bulk screenshots (JSON/CSV)
BYOB storage (S3/Wasabi/GCS)
Scrolling video capture (WebM/MP4/GIF)
Geolocation targeting
Text/HTML extraction
Granular resource blocking (15+ toggles)Partial
No-code integrations (Zapier, Make, n8n…)Partial
Last verified: April 2026. See each product's docs for the latest.

Where ScreenshotAPI
Might Be the Right Choice

Scheduled screenshot workflows
ScreenshotAPI has a dedicated scheduling surface and publishes official automation guides for Zapier, Make, and n8n. Microlink handles on-demand captures and does not include a built-in scheduler.
Bulk URL processing
ScreenshotAPI accepts JSON payloads or CSV uploads for batch jobs, with pause, resume, and cancel controls, plus an email notification when the run finishes. Microlink does not have native bulk processing.
Page-scroll video output
ScreenshotAPI records a scrolling page as WebM, MP4, or GIF with configurable speed, direction, and duration across multiple viewports. Microlink does not produce scrolling video captures.
Fine-grained resource control
ScreenshotAPI lets you block JS, stylesheets, images, fonts, XHR, fetch, WebSockets, and more, each with its own toggle. Microlink covers ad blocking and CSS-selector hiding but not per-resource-type controls.
Zapier, Make, or n8n integrations
ScreenshotAPI publishes official integrations and workflow guides for Zapier, Make.com, n8n, Google Sheets, viaSocket, and Pipedream. Microlink has fewer no-code connectors today.
Screenshots sent to your own bucket
ScreenshotAPI supports BYOB storage integrations for Amazon S3, Wasabi, and Google Cloud Storage. Microlink returns the image in the API response and does not include native storage upload.

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 ScreenshotAPI.net alternative?

Yes. Microlink's free tier gives you 50 requests/day with no credit card and no expiry date. Same API, same quality, same 240+ edge network as paid plans.
ScreenshotAPI's free trial is 100 screenshots that expire after 7 days. After just 2 days on Microlink's free tier, you've already passed that total, and the counter resets every morning.
Both use Chromium under the hood. Microlink applies optimal compression by default so output quality is high without manual tuning. ScreenshotAPI also produces good results and supports retina 2× captures up to 5K resolution for pixel-dense output.
ScreenshotAPI sends GET requests with query params: token, url, width, height, output, full_page. Microlink accepts the same concepts under its own parameter names. Change the host and the key, and most integrations keep working. 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.
Yes. One API key gives you screenshots, PDF generation, Open Graph and metadata extraction, link previews (via the React/Vue/JS SDK), remote JavaScript execution, and Lighthouse audits. ScreenshotAPI already handles screenshots, PDFs, bulk capture, and scraping workflows, but metadata extraction, link previews, and remote JS all still sit outside its core surface.
The core engine components are MIT-licensed on GitHub: (metadata extraction), (query language), and (headless browser). Read the code, fork it, or run it yourself.
ScreenshotAPI is closed-source. There is no way to inspect the code that handles your URLs.
ScreenshotAPI Essentials: $9/month for 1,000 screenshots at $0.009 each. Startup: $29/month for 10,000 with a 40 req/min cap. Microlink: $45/month for 46,000 requests at ~$0.00098 each, no per-minute cap.
Per request, Microlink is 9× cheaper than ScreenshotAPI Essentials and 3× cheaper than Startup. 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 quota.
ScreenshotAPI enforces rate limits on every plan: 20 req/min on Essentials, 40 on Startup, 80 on Business. That cap can bottleneck batch jobs or high-traffic embed workflows.
Both Microlink and ScreenshotAPI block ads and remove cookie banners. ScreenshotAPI gives you 15+ resource-type toggles: block JS, stylesheets, fonts, XHR, fetch, WebSockets, and more, individually. Microlink uses the adblock parameter and custom CSS/JS injection to dismiss consent dialogs before capture.
Microlink guarantees 99.9% uptime with a formal SLA. Requests are served from 240+ Cloudflare edge nodes, so latency stays low regardless of where your users are located. ScreenshotAPI runs on Google Cloud Platform and does not publish a formal SLA or CDN edge distribution.