The screenshot API and MCP for developers.
Clean screenshots of any page, never billed for a CAPTCHA. Cookie banners, popups and chat widgets are removed before the shot; bot checks and blank pages are reported to you, not counted. 1,000 free a month, then $5 for 3,000.
No card. Every feature on every plan.
$1.00 per 1,000 on Growthup to 5× less than the competitionMCP for Claude, Cursor and any agent
GET/v1/shot?url=cookiebot.com/en


200 · verdict ok · 84 KB · 7.0 s · billed 1
HTTP/1.1 200 OK Content-Type: image/webp X-Page-Verdict: ok X-Billed: 1 X-Cache: MISS X-Render-Ms: 7049 Content-Length: 85534
Six frames, one API
Rendered by this API on 28 September 2026. Under each frame is the request that made it and what came back.
01Desktopstripe.comurl=stripe.com&image_width=800800×500 · 28 KB · 10.0 s
02iPhone 15vercel.comurl=vercel.com&device=iphone_15&image_width=393393×852 · 11 KB · 8.4 s
03One elementnews.ycombinator.comurl=news.ycombinator.com&selector=#hnmain&image_width=800800×895 · 75 KB · 3.7 s
04Dark modegithub.comurl=github.com&dark_mode=true&image_width=800800×500 · 13 KB · 12.6 s
05From HTMLyour templatewidth=1200&height=630&image_width=800&html=…800×420 · 12 KB · 0.4 s
Hover to scroll 4,307 px06Full pagenotion.comurl=notion.com&full_page=true&full_page_max_height=7000&image_width=480480×1615 · 45 KB · 12.5 s
You pay for screenshots, not for CAPTCHAs.
Most screenshot APIs count a picture of a bot check as a successful render. We read every page before it counts, and every response tells you what happened in two headers.
HTTP/1.1 200 OK Content-Type: image/webp X-Page-Verdict: ok X-Billed: 1 X-Render-Ms: 1843 X-Quota-Remaining: 9812
| What happened | Verdict | Billed |
|---|---|---|
| A clean pageThe screenshot you asked for. | ok | Yes |
| The site blocks bots, you asked for fallback=ogThe site’s own share image instead of an error. | og | Yes |
| A bot check or CAPTCHA, even after one retryAn error that says so. Add allow_blocked=true to see it anyway. | blocked | No |
| A blank or still-loading pageAn error with a hint, like delay=3. | blank | No |
| A timeout, a failed load, a script errorAn error with the reason. | — | No |
| The same request again, with cache onThe earlier file, in milliseconds. | ok | No |
The same 10,000 screenshots, per month
Seven other screenshot APIs charge $19.99 to $99 for 10,000 shots a month. We charge $15 for 15,000. Public prices from each company’s pricing page on 29 September 2026.
At the median you would pay $35 elsewhere for 10,000. Here it is $15, with 5,000 more, and blocked or blank captures are never billed.
One request, any language
A GET with your key and a URL returns the image. Everything else is optional, and the parameter names other screenshot APIs use work here too, so switching is mostly a change of host.
- PNG, JPEG, WebP or PDF, from a URL or your own HTML
- 12 device presets, any size up to 3840 px, Retina up to 3×
- Full page up to 16,000 px, lazy images loaded first
- One element, a rectangle, or a thumbnail at any width
- Your CSS and JavaScript, clicks, hidden elements, dark mode
- Async jobs with signed webhooks, and bulk batches of 100
- Signed links you can put straight into an <img>
curl -G https://api.screenshotneo.com/v1/shot \ -H "Authorization: Bearer $SCREENSHOTNEO_KEY" \ -d url=https://stripe.com \ -d full_page=true \ -d format=webp \ -o stripe.webp
Let your AI agent see the web.
Claude, Cursor, ChatGPT and any MCP client connect to one address with your key and get three tools. Each call counts like an API request.
take_screenshot- Any page or HTML as a clean image, full page or one element.
get_page_info- Title, description, Open Graph, final URL and status, with a preview.
capture_pdf- The page as a PDF, with a link that works for a day.
{
"mcpServers": {
"screenshotneo": {
"url": "https://api.screenshotneo.com/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}Every feature on every plan
Only the number of clean shots changes. Upgrade, downgrade or cancel whenever you like.
- Free$0/moFor trying it out, side projects and small tools.1,000 shots/mofree per 1,00010/min2 at onceGet a free key →
- Starter$5/moFor a product that needs thumbnails every day.3,000 shots/mo$1.67 per 1,00040/min5 at onceStart →
- RecommendedGrowth$15/moFor link previews, monitoring and directories.15,000 shots/mo$1.00 per 1,00080/min10 at onceStart →
- Pro$39/moFor teams capturing across many sites.60,000 shots/mo$0.65 per 1,000160/min20 at onceStart →
- Scale$99/moFor platforms and crawlers at volume.250,000 shots/mo$0.40 per 1,000300/min40 at onceStart →
- Business$249/moA million clean shots a month, priority rendering and support.1,000,000 shots/mo$0.25 per 1,000600/min60 at onceStart →
Enterprise
More than a million shots a month, or needs a card checkout can’t meet: your own limits and capacity, invoices and annual terms, a security review, and a direct line to the engineers who run the engine.
- Any volume, one price per 1,000
- Dedicated concurrency
- Uptime terms and security review
- Invoices, POs, bank transfer
Questions
Anything else: hello@screenshotneo.com
What counts toward my plan?
Only a clean, freshly rendered screenshot. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads and cache hits cost nothing. Every response says which it was in the X-Page-Verdict and X-Billed headers.
How do you remove cookie banners and popups?
Before the capture we accept the consent dialog the way a visitor would, remove more than 60 known consent platforms, then take away full-screen overlays, newsletter popups and chat widgets. Headers and navigation stay where they are. Every step can be turned off.
What happens when a site blocks automated browsers?
We wait and try once more, because many checks clear by themselves. If the site still refuses, you get an error that says so instead of a picture of a CAPTCHA, and it isn’t billed. With fallback=og you get the site’s own share image.
Can my own address or network be reached through you?
No. Every request the browser makes goes through a guard that resolves the address itself and refuses private, loopback and cloud-metadata addresses, including through redirects and iframes.
Do you keep my screenshots?
Only when you ask: with cache=true or a cache_ttl, and for JSON or async results, which stay downloadable for 24 hours. Each shot runs in its own browser context, so nothing from one capture reaches another.
Is there a free plan?
Yes: 1,000 screenshots every month with every feature, no card. Paid plans start at $5 for 3,000.