Best Free Screenshot APIs in 2026: Thum.io Alternatives & No-Key Options
Compare free screenshot APIs in 2026, including no-API-key URL services like Thum.io and faster alternatives — free-tier limits, the //image.thum.io/get URL pattern, and copy-paste code examples.
Last updated: 2026-06-28
Try ScreenshotAPI free
200 free screenshots/month. No credit card required.
Not every project needs a paid screenshot API. Side projects, prototypes, and low-traffic tools can get by with free tiers. This guide compares the best free screenshot APIs in 2026 — including no-API-key URL services like Thum.io and the keyed alternatives that give you more control — their real limitations, and when you should upgrade.
There are two kinds of "free" here, and the difference is the first thing to get straight:
- No-API-key URL services (Thum.io, WordPress mShots): you drop the target URL into an
<img>tag and the screenshot renders. Zero signup, zero keys — but limited customization, and you can't manage rate limits or send custom headers. Best for quick, public embeds. - Keyed free tiers (ScreenshotAPI, ScreenshotOne, CaptureKit): you sign up for a free API key and get full features — full-page capture, dark mode, formats, selector waiting, JSON metadata — within a monthly cap. Best when you need control or backend processing.
Free Tier Comparison
| API | Free Screenshots | API Key | Formats | Full Page | Dark Mode | Watermark |
|---|---|---|---|---|---|---|
| ScreenshotAPI | 200/month | Required | PNG, JPEG, WebP | Yes | Yes | No |
| ScreenshotOne | 100/month | Required | PNG, JPEG, WebP | Yes | Yes | No |
| Screenshotly | 100/month | Required | PNG, JPEG | Yes | Yes | No |
| CaptureKit | 100/month | Required | PNG, JPEG, WebP | Yes | Yes | No |
| Thum.io | 1,000 impressions | Not required | PNG, JPEG | Paid plan only | No | No |
| Puppeteer | Unlimited (self-hosted) | N/A | PNG, JPEG, WebP | Yes | Manual | No |
| Playwright | Unlimited (self-hosted) | N/A | PNG, JPEG | Yes | Yes | No |
No credit card is required for any free tier above. The API Key column is the practical dividing line: Thum.io needs no key (you embed a URL directly), while the keyed tiers trade a one-time signup for full-page capture, dark mode, and selector control on the free plan.
1. ScreenshotAPI (Free Trial)
ScreenshotAPI offers 200 free screenshots/month. The free tier lets you test every feature: full-page capture, dark mode, selector waiting, and all output formats.
bashcurl -G "https://screenshotapi.to/api/v1/screenshot" \ -d "url=https://example.com" \ -d "width=1440" \ -d "height=900" \ -d "type=png" \ -H "x-api-key: sk_live_your_api_key" \ --output test.png
Why consider it: If you need more than 200 screenshots per month, ScreenshotAPI's flexible subscriptions (starting at $9/month for 1,000 screenshots) and pay-as-you-go credit packs offer great value at scale. See pricing for details.
2. ScreenshotOne (Best Free Tier)
100 free screenshots per month with no credit card. The interactive playground lets you test parameters before writing code.
bashcurl "https://api.screenshotone.com/take?url=https://example.com&access_key=YOUR_KEY" \ --output screenshot.png
Limitations: Free tier has lower priority rendering and slower response times compared to paid plans.
3. Screenshotly (AI-Powered Free Tier)
100 free screenshots per month with AI element removal. Unique among free tiers for its automatic cookie banner and ad removal.
Limitations: PNG and JPEG only. Fewer customization options than other services.
4. CaptureKit (Budget-Friendly Free Tier)
100 free screenshots per month with device emulation and CSS selector hiding.
Limitations: Limited documentation. Fewer advanced features compared to ScreenshotAPI or Urlbox.
5. Thum.io (URL-Based, No API Key)
Thum.io is the go-to when you want a screenshot with no signup and no API key. Per Thum.io's site, you get up to 1,000 impressions per month completely free, without even signing up — you embed the target URL directly in an <img> tag and the capture renders on demand:
html<img src="https://image.thum.io/get/https://example.com" alt="Screenshot" />
You can append a few options inline in the path — for example a render width and a crop height:
html<img src="https://image.thum.io/get/width/600/crop/800/https://example.com" alt="Screenshot" />
Pricing beyond free: paid hit-based plans start at roughly $1–$2 per 10,000 captures (Thum.io's "Better" and "Good" tiers).
Limitations to know before you build on it:
- Full-page capture and custom width are paid-plan features — the free tier renders a standard viewport image.
- No dark mode, no JSON metadata, and no PDF screenshot output.
- The target URL is exposed in your HTML, and you can't send custom request headers or control rate limiting from your side.
- Because it renders on request via a public URL, it's great for embeds but not ideal for backend processing where you want a stored file, a specific format, or a guaranteed viewport.
When to choose a Thum.io alternative
Reach for a keyed free tier when you outgrow URL embeds and need real control. ScreenshotAPI's free tier gives you 200 full-featured screenshots/month — full-page capture, dark mode, PNG/JPEG/WebP, custom viewport, and selector waiting — behind a single API key, which also keeps the target URL out of your public markup:
bashcurl -G "https://screenshotapi.to/api/v1/screenshot" \ -d "url=https://example.com" \ -d "fullPage=true" \ -d "colorScheme=dark" \ -d "type=webp" \ -H "x-api-key: sk_live_your_api_key" \ --output screenshot.webp
If you specifically want another no-key URL option, WordPress mShots (s.wordpress.com/mshots/v1/) renders a best-effort screenshot from a URL with no signup — covered in the WordPress screenshot integration guide — though it's PNG-only and offers even less control than Thum.io.
6. Self-Hosted: Puppeteer / Playwright
Free and open-source, but you manage the infrastructure:
javascriptimport { chromium } from 'playwright'; const browser = await chromium.launch(); const page = await browser.newPage({ viewport: { width: 1440, height: 900 } }); await page.goto('https://example.com', { waitUntil: 'networkidle' }); await page.screenshot({ path: 'screenshot.png' }); await browser.close();
True cost: Free software but requires a server ($5-20/month), Docker configuration, Chrome dependencies, and ongoing maintenance. Each concurrent screenshot needs ~200 MB RAM.
When to Upgrade from Free
You should move to a paid plan when:
- Volume exceeds the free cap: Free tiers top out between 100 and 1,000 captures/month
- Reliability matters: Free tiers have no SLA and lower priority
- Speed matters: Paid plans get priority rendering
- You need support: Free tiers typically have community-only support
- Concurrent requests: Free tiers may throttle concurrent captures
Cost of Free Self-Hosting
Running Puppeteer or Playwright "for free" has hidden costs:
| Cost Factor | Self-Hosted | API Service |
|---|---|---|
| Server | $5-50/month | Included |
| Docker setup | 2-4 hours | None |
| Chrome updates | Monthly maintenance | Included |
| Scaling | Manual infrastructure | Automatic |
| Monitoring | Your responsibility | Included |
| Reliability | Your responsibility | SLA-backed |
For most projects, a paid API at $7-20/month costs less than the engineering time to maintain self-hosted infrastructure.
Getting Started
- Try ScreenshotAPI with 200 free screenshots/month to test the full feature set
- If you need ongoing free screenshots, use ScreenshotOne or CaptureKit's monthly free tier
- When you are ready for production, ScreenshotAPI's flexible plans let you scale with subscriptions or pay-as-you-go credit packs
Next Steps
- Read the full API comparison for detailed reviews
- Learn how to take screenshots with cURL for quick testing
- Compare ScreenshotAPI vs Puppeteer for self-hosted vs. API
- Check the API documentation for all parameters
Frequently asked questions
Is there a completely free screenshot API?
Several services offer free tiers: ScreenshotOne (100/month), Screenshotly (100/month), CaptureKit (100/month), and Thum.io (1,000 impressions). ScreenshotAPI provides 200 free screenshots/month on the free tier.
Can I use a free screenshot API in production?
Free tiers are best for prototyping, low-traffic side projects, or testing. For production applications with more than 100 screenshots per month, a paid plan provides reliability, higher rate limits, and SLA guarantees.
What are the limitations of free screenshot APIs?
Common limitations include monthly screenshot caps (50-100), lower rate limits, no priority rendering, potential watermarks, limited output formats, and no SLA guarantees.
What is the best free alternative to Puppeteer?
For a managed service, ScreenshotOne's free tier (100/month) is the most generous. For a self-hosted solution, Playwright is free and open-source but requires managing your own infrastructure.
Is there a free screenshot API with no API key?
Yes. URL-based services let you embed a screenshot with no signup and no API key by putting the target URL directly in an <img> tag. Thum.io (image.thum.io/get/<url>, 1,000 free impressions/month) and WordPress mShots are the common options. The tradeoff is limited control: no custom headers, no rate limiting you manage, the target URL is exposed in your HTML, and advanced features like full-page or custom viewports are restricted. When you outgrow that, a keyed free tier such as ScreenshotAPI (200 full-featured screenshots/month) gives you formats, dark mode, full-page capture, and selector waiting.
What is a good Thum.io alternative?
Thum.io's free tier (1,000 impressions/month, no signup) is convenient for quick embeds, but full-page capture and custom width are gated to its paid plans and it has no dark mode, JSON output, or PDF screenshots. If you need those, a free-tier keyed API is the better fit: ScreenshotAPI gives 200 free screenshots/month with full-page, dark mode, PNG/JPEG/WebP, and selector waiting, while ScreenshotOne and CaptureKit offer 100/month free.
Related resources
Start capturing screenshots today
Create a free account and get 200 free screenshots per month to try the API. No credit card required.