Free Website Screenshot API: Options With and Without an API Key
If you searched for a free website screenshot API with no API key — just a URL you can put in an <img> tag or call from a script — you’re not alone. It’s one of the most common things developers look for when they need a quick preview of a web page.
Here’s the short answer: a few services do work without a key, with tight limits. For anything beyond a quick test, a free API key (it takes a few seconds with Google sign-in) gets you more reliable screenshots and more options.
Screenshot APIs that work without an API key
These services accept the page URL in the request and need no signup:
| Service | How it works | Free amount | Notes |
|---|---|---|---|
| thum.io | Image URL: https://image.thum.io/get/width/1200/https://example.com |
~1,000 / month | Returns the image directly, so it works in an <img> tag. Paid plans from $1/month. |
| Microlink | JSON API: https://api.microlink.io/?url=https://example.com&screenshot=true |
100 / month | Returns JSON with the screenshot URL. Keyless calls are rate limited. |
They’re great for prototypes, personal projects and low-traffic pages. Keep in mind:
- Limits are shared and strict. Without a key, the provider can only limit by IP or by referrer, so you can hit the limit without warning.
- Fewer options. Full-page captures, mobile viewports, retina images and delays are usually reserved for accounts.
- No visibility. There’s no dashboard to see what failed or how much you used.
The URL-parameter pattern with a free API key
Most screenshot APIs, JsonLink included, use the same simple pattern — one GET request with the page URL as a parameter — and add your key:
curl "https://jsonlink.io/api/screenshot?url=https://github.com&api_key=YOUR_API_KEY"
The response is JSON with the screenshot file:
{
"path": "screenshots/5afc57bb-0e31-45bf-8e53-d9f016fa9bf9.jpg",
"url": "https://jsonlink.io/screenshots/5afc57bb-0e31-45bf-8e53-d9f016fa9bf9.jpg"
}
Useful parameters, all available on the free plan:
full_page=true— capture the whole scrollable page.viewport_width=390&viewport_height=844&device_scale_factor=2— a retina mobile screenshot.format=pngorformat=jpg&quality=70— choose the file type and size.delay=2— wait for animations or late content.
The Screenshot API docs list every option, with examples in JavaScript and Python.
Keep your key on the server. Don’t put an API key in front-end code or in an
<img>URL where anyone can copy it. Call the API from your backend, store the image, and serve it from your own storage.
How much “free” do you actually get?
| Provider | Free screenshots | Needs a key | Entry paid plan |
|---|---|---|---|
| thum.io | ~1,000 / month | No | $1/mo minimum ($0.20 per 1,000) |
| Microlink | 100 / month | No | $49/mo |
| ScreenshotOne | 100 / month | Yes | $17/mo for 2,000 |
| ApiFlash | 100 / month | Yes | $7/mo for 1,000 |
| JsonLink | 50 / month (100 credits) | Yes | $15/mo for 25,000 |
Prices from each provider’s public pricing page, October 2026. JsonLink credits are shared with the metadata, Markdown, links and images endpoints, and failed requests are free.
For a few screenshots a day, any free tier works. Once you need hundreds or thousands, the paid plans differ a lot: per 1,000 screenshots, JsonLink costs $0.60 on its entry plan versus $7–9.50 for most dedicated screenshot APIs. Our comparison of screenshot APIs goes through every option.
Just need one screenshot right now?
You don’t need an API at all: the live tool on the Screenshot API page takes desktop, mobile and full-page screenshots of any URL, with no signup, a few times a day.
Which option should you pick?
- A quick test or a personal page: a keyless service like thum.io is the fastest way to start.
- An app in production: get a free API key so you have reliable limits, full-page and mobile captures, and a dashboard. With JsonLink the same key also gives you link metadata and URL to Markdown for LLMs.
- High volume: compare price per 1,000 screenshots, not the monthly price — it’s the number that grows with you.