Free Screenshotmachine Alternative: Screenshot API Without a Subscription
Free Screenshotmachine Alternative: Screenshot API Without a Subscription
Screenshotmachine is a long-running screenshot API service. It works, but it requires an API key for any request and enforces monthly quotas even at paid tiers. If you want to test screenshot quality before committing to a plan — or if you're building a side project that doesn't need monthly billing — here's a direct alternative.
Try It Instantly
# PNG screenshot (no API key)
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&format=png" -o screenshot.png
# WebP (smaller file size)
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&format=webp" -o screenshot.webp
# Full page capture
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&full_page=true&format=png" -o fullpage.png
No signup. No API key. Works immediately.
Feature Comparison
| Feature | Screenshotmachine | This API |
|---|---|---|
| Signup required | Yes (API key required) | No |
| Free tier | 100/month (with key) | 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 | Yes | Yes |
| Custom viewport | Yes (width, height) | Yes (width, height, scale up to 3x) |
| Dark mode | No | Yes |
| Ad blocking | Limited | Yes (25+ domains) |
| Custom delay | Yes | 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 |
| POST request | No | Yes (async) |
URL Pattern Comparison
Screenshotmachine uses a GET request with an API key in the URL:
https://api.screenshotmachine.com/?key=YOUR_KEY&url=https://example.com&dimension=1024x768&format=png
This API works the same way, but no key is needed for basic use:
https://hermesforge.dev/api/screenshot?url=https://example.com&width=1024&height=768&format=png
Dimension Mapping
Screenshotmachine dimension |
This API equivalent |
|---|---|
1024x768 |
width=1024&height=768 |
1280x800 |
width=1280&height=800 |
1920x1080 |
width=1920&height=1080 |
fullpage |
full_page=true |
Migration Example
Before (Screenshotmachine):
import requests
resp = requests.get('https://api.screenshotmachine.com/', params={
'key': 'your_api_key',
'url': 'https://example.com',
'dimension': '1280x800',
'format': 'png',
'delay': '2000',
'zoom': '100'
})
with open('screenshot.png', 'wb') as f:
f.write(resp.content)
After:
import requests
resp = requests.get('https://hermesforge.dev/api/screenshot', params={
'url': 'https://example.com',
'width': '1280',
'height': '800',
'format': 'png',
'delay': '2', # seconds (not ms)
})
with open('screenshot.png', 'wb') as f:
f.write(resp.content)
JavaScript / Node.js
const params = new URLSearchParams({
url: 'https://example.com',
width: '1280',
height: '800',
format: 'webp',
full_page: 'true'
});
const resp = await fetch(`https://hermesforge.dev/api/screenshot?${params}`);
const buffer = await resp.arrayBuffer();
// write buffer to disk or process as image
What This API Adds (That Screenshotmachine Lacks)
PDF export. Screenshotmachine is PNG/JPEG only. If you need PDF:
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&format=pdf&full_page=true" -o page.pdf
Dark mode. One parameter flip:
curl "https://hermesforge.dev/api/screenshot?url=https://github.com&dark_mode=true&format=webp" -o dark.webp
Wait for DOM element. Screenshotmachine's delay is a fixed wait. This API can wait for a specific element to appear:
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&wait_for=.content-loaded&format=png" -o screenshot.png
Element screenshot. Capture only a specific part of the page:
# Capture just the .hero section
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&selector=.hero&format=png" -o hero.png
Retina output. 2x or 3x scale for high-DPI display:
curl "https://hermesforge.dev/api/screenshot?url=https://example.com&scale=2&format=png" -o retina.png
When to Use Which
Screenshotmachine is better if you need: - A long-established vendor with years of reliability history - Guaranteed monthly quota with predictable billing - Simple PNG/JPEG captures without advanced parameters - A vendor that's been around since 2009
This free alternative is better if you need: - Screenshots without creating an account first - PDF export (not available on Screenshotmachine) - Dark mode, element capture, or selector-based waiting - WebP output (smaller files, same quality) - Testing capture quality before choosing a paid service - One-time purchasing instead of monthly subscription
Pricing Comparison
| Tier | Screenshotmachine | This API |
|---|---|---|
| Free | 100/month (API key required) | Unlimited (2/min, no key) |
| Free with account | 100/month | 50/day (free key) |
| Entry paid | ~$4.99/month (1,500/month) | $4 / 30 days |
| Mid tier | ~$12.99/month (5,000/month) | $9 / 30 days |
Screenshotmachine pricing is a monthly subscription. This API uses one-time purchasing — buy 30 days of access when you need it, no recurring charge.
Getting Started
No account needed for basic use:
https://hermesforge.dev/api/screenshot?url=https://example.com&format=webp
Use the interactive screenshot tool to test parameters before writing code.
For higher volume, get a free API key — 50 requests/day, no payment required.