Screenshot generation sounds trivial until you try to build it. You need a real browser, the right viewport, fonts that load, lazy images that finish, cookie banners that do not photobomb every capture, and a machine that does not fall over when ten requests arrive at once.
That is why screenshot APIs are a product category of their own: monitoring dashboards want visual snapshots, social tools want link previews, QA teams want visual evidence, and AI agents increasingly want to see a page instead of parsing its HTML.
This guide shows how to capture screenshots with ToolForte's free endpoint, what the output looks like, and when a dedicated screenshot service is the better buy.
One Request, One PNG
POST a URL, get back a hosted PNG link that stays valid for 24 hours:
`bash
curl -X POST https://toolforte.com/api/v1/render/url-screenshot \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "width": 1280}'
`
Response:
`json
{
"ok": true,
"data": {
"url": "https://...signed-url.png",
"expiresAt": "2026-08-29T21:00:00.000Z",
"bytes": 92047,
"contentType": "image/png",
"metering": { "source": "anonymous", "remaining": 2 }
}
}
`
Options: width between 320 and 1920 pixels (default 1280) and "fullPage": true to capture the entire scroll height instead of the viewport. The first 3 renders per day are free without any key; a free API key from the developer portal raises that to 50 per month, then renders cost 1 credit each (packs from EUR 5, no subscription).
The capture runs on headless Chrome server-side, so fonts, flexbox, and JavaScript-rendered content all appear exactly as a visitor would see them.
What Screenshots Are Actually Used For
- Link previews: generate Open Graph style preview images for URLs your users share (pair with the OG Preview tool to check existing metadata first).
- Visual monitoring: capture a page daily and diff the images to catch unannounced changes on competitor pricing pages or partner documentation.
- QA evidence: attach a capture of the deployed page to every release ticket, generated straight from CI.
- Archiving: keep a visual record of pages that change or disappear; the PDF variant (
/api/v1/render/url-to-pdf) works better for text-heavy archiving. - AI agents: an agent reasoning about a layout needs pixels, not markup. Via the ToolForte MCP server the same capture is available as a
url_screenshottool in Claude, Cursor, and other MCP clients, returning a URL the agent can share directly.
- **Link previews**: generate Open Graph style preview images for URLs your users share (pair with the [OG Preview tool](/tools/og-preview) to check existing metadata first).
Security: Why Private URLs Are Refused
A screenshot service is, technically, a server that fetches arbitrary URLs. Without protections that becomes a tunnel into internal networks (server-side request forgery). The ToolForte endpoint validates every target: only public http(s) URLs are rendered, hostnames are resolved and checked against private and reserved IP ranges, redirects are re-validated hop by hop, and the browser itself blocks sub-requests to internal addresses.
Practically: https://example.com renders fine, http://localhost:3000 and http://169.254.169.254/ return an error. If you need screenshots of pages behind a login or inside a private network, that is exactly the case where you should run your own capture infrastructure instead of using any public API.
Free Tiers Compared in 2026
The dedicated screenshot services differ mostly in volume pricing and extras (device emulation, ad blocking, retina rendering):
| Service | Free tier | Notes | |---|---|---| | ToolForte | 3/day anonymous, 50/month with free key, then EUR 5 per 50 credits | no subscription, credits shared with PDF renders | | APIFlash | ~100/month | paid from ~$19/month | | ScreenshotOne | limited free tier | rich options, subscription | | Urlbox | trial | subscription, high fidelity | | CloudConvert | 10 conversions/day | general converter, not screenshot-specific |
For thousands of captures per month with device emulation and ad blocking, a dedicated subscription service earns its price. For bursty, low-volume use (CI evidence, agent workflows, occasional previews) prepaid credits that never expire are the cheaper and simpler model.
One practical tip whichever you choose: fix your viewport width per use case and stick to it, because diffing screenshots taken at different widths is meaningless.
The dedicated screenshot services differ mostly in volume pricing and extras (device emulation, ad blocking, retina rendering): | Service | Free tier | Notes | |---|---|---| | ToolForte | 3/day anonymous, 50/month with free key, then EUR 5 per 50 credits | no subscription, credits shared with PDF renders | | APIFlash | ~100/month | paid from ~$19/month | | ScreenshotOne | limited free tier | rich options, subscription | | Urlbox | trial | subscription, high fidelity | | CloudConvert | 10 conversions/day | general converter, not screenshot-specific | For thousands of captures per month with device emulation and ad blocking, a dedicated subscription service earns its price.
Markdown Table Generator: Build Clean Tables Without the Pain
Markdown tables are simple until the pipes and dashes stop lining up. Learn the syntax, alignment tricks, and a free tool that formats tables for you.
CSV to JSON: Convert Spreadsheet Data for APIs and Code
Turn a CSV export into clean JSON for APIs, imports, and scripts. Learn how the conversion works, common pitfalls with types and quotes, and a free tool.
JSON Guide: Format, Validate, and Convert JSON Files
JSON guide for developers: syntax rules, common parse errors, formatting and schema validation, plus how to convert between JSON and CSV files.
