Free Thum.io Alternative: Website Screenshot API with No Monthly Fee

2026-04-23 | Tags: [screenshot-api, thumio, thum.io, alternative, free-api, website-thumbnail]

Free Thum.io Alternative: Website Screenshot API with No Monthly Fee

Thum.io is a simple website thumbnail service — pass a URL, get back a screenshot. It's straightforward and has been around for a while. But Thum.io enforces monthly quotas at every tier and requires an account for anything beyond a handful of requests. If you want the same URL-to-image output without the subscription, here's a direct alternative.

Try It Instantly

# PNG thumbnail
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&format=png" -o screenshot.png

# WebP (smaller files)
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&format=webp" -o screenshot.webp

# Custom width
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&width=1280&height=800&format=png" -o screenshot.png

No account. No API key. No monthly quota.

Feature Comparison

Feature Thum.io This API
Signup required Yes (for meaningful volume) No
Free tier 100/month (limited) Unlimited (rate-limited, no key)
PNG screenshots Yes Yes
WebP screenshots No Yes
JPEG screenshots Yes Yes
PDF export No Yes (free)
Full page capture No Yes
Custom viewport Limited Yes (width, height, scale up to 3x)
Dark mode No Yes
Ad blocking No Yes (25+ domains)
Custom delay No Yes
wait_for selector No Yes (CSS selectors, up to 15s)
Custom JavaScript No Yes (2KB inline)
Element selector No Yes (CSS selectors)
Retina (2x/3x) No Yes (up to 3x)
HTTP Basic Auth No Yes (with API key)
GET request Yes Yes
Embed in <img> tag Yes Yes

URL Pattern Comparison

Thum.io embeds the URL directly in the path:

https://image.thum.io/get/width/1280/https://example.com

This API uses query parameters — same <img> tag friendly:

https://hermesforge.dev/api/screenshot?url=https://example.com&width=1280&format=png

Both work as <img src="..."> values. No JavaScript required.

Dimension Mapping

Thum.io path segment This API equivalent
/width/1280/ width=1280
/width/1280/crop/800/ width=1280&height=800
/png/ format=png
/jpg/ format=jpeg

Migration Example

Before (Thum.io embed):

<img src="https://image.thum.io/get/width/1280/https://example.com">

After:

<img src="https://hermesforge.dev/api/screenshot?url=https://example.com&width=1280&format=png">

Python Integration

Before (Thum.io):

import requests

screenshot_url = f"https://image.thum.io/get/width/1280/{target_url}"
resp = requests.get(screenshot_url)
with open("screenshot.png", "wb") as f:
    f.write(resp.content)

After:

import requests

resp = requests.get("https://hermesforge.dev/api/screenshot", params={
    "url": target_url,
    "width": "1280",
    "format": "png"
})
with open("screenshot.png", "wb") as f:
    f.write(resp.content)

JavaScript / Node.js

const screenshotUrl = new URL('https://hermesforge.dev/api/screenshot');
screenshotUrl.searchParams.set('url', targetUrl);
screenshotUrl.searchParams.set('width', '1280');
screenshotUrl.searchParams.set('format', 'webp');

const resp = await fetch(screenshotUrl.toString());
const buffer = await resp.arrayBuffer();

What This API Adds (That Thum.io Lacks)

Full page capture. Thum.io captures the viewport only. For long pages:

curl "https://hermesforge.dev/api/screenshot?url=https://example.com&full_page=true&format=png" -o fullpage.png

PDF export. Thum.io is images only:

curl "https://hermesforge.dev/api/screenshot?url=https://example.com&format=pdf&full_page=true" -o page.pdf

Dark mode:

curl "https://hermesforge.dev/api/screenshot?url=https://github.com&dark_mode=true&format=webp" -o dark.webp

Wait for element. Useful for SPAs or lazy-loaded content:

curl "https://hermesforge.dev/api/screenshot?url=https://example.com&wait_for=.main-content&format=png" -o screenshot.png

Retina output. 2x or 3x scale for high-DPI screens:

curl "https://hermesforge.dev/api/screenshot?url=https://example.com&scale=2&format=png" -o retina.png

Ad blocking. 25+ ad/tracker domains blocked by default — cleaner screenshots without ad overlays or cookie banners that haven't been dismissed.

When to Use Which

Thum.io is better if you need: - A minimal URL-to-thumbnail service with no parameter complexity - An established service with years of reliability history - Simple viewport-only screenshots via a short URL path

This free alternative is better if you need: - Screenshots without a subscription - Full-page capture (not just viewport) - PDF export - Dark mode, retina, or element-specific screenshots - Ad-blocked captures (cleaner results) - Testing parameters without consuming monthly quota - WebP output (smaller files than PNG/JPEG)

Pricing Comparison

Tier Thum.io This API
Free ~100/month (limited) Unlimited (2/min, no key)
Free with account ~100/month 50 requests/day (free key)
Entry paid ~$9/month $4 / 30 days
Mid tier ~$29/month $9 / 30 days

Thum.io is monthly subscription pricing. This API uses one-time purchasing — buy 30 days of access when you need it.

Getting Started

No setup required. Works as a GET request or in an <img> tag:

https://hermesforge.dev/api/screenshot?url=https://example.com&format=png

Test parameters in the interactive screenshot tool before integrating.

For higher volume, get a free API key — 50 requests/day at no cost.