ScreenshotAPI Review for Website Screenshot Automation
Compare what the similarly named ScreenshotAPI services document, how to choose one, and when ScreenshotNeo is a better fit for automated website screenshots.
A website screenshot API turns a page URL into an image or document through an HTTP request. But “ScreenshotAPI” does not identify one service: the research for this review found distinct providers at ScreenshotAPI.net, ScreenshotAPI.com, and ScreenshotAPI.to. Their features, authentication, and pricing are not interchangeable. This is a review of the documented category and those provider-specific claims, not a hands-on test or endorsement. If you mean one particular provider, check that provider’s current documentation and pricing before integrating it.
1. What a website screenshot API does
Your application sends a URL and capture settings to a hosted service. The service loads the page in a browser and returns image data or a document. Depending on the provider, settings may control image format, viewport or full-page capture, wait behavior, browser appearance, or page modifications. The exact options vary, so do not assume a feature described by one ScreenshotAPI service is available from another. ScreenshotAPI.net documentation and ScreenshotAPI.to documentation describe different option sets.
2. What the similarly named providers document
| Provider | Published capabilities surfaced in the research | Published pricing detail surfaced |
|---|---|---|
| ScreenshotNeo | Website screenshot API and MCP server. Clean captures can remove known consent platforms, newsletter popups, and chat widgets; image, PDF, HTML-to-image, full-page and element capture, browser controls, async jobs, and bulk capture are among its documented options. See the documentation. | Free: 1,000 shots/month. Starter: $5 for 3,000; Growth: $15 for 15,000; Pro: $39 for 60,000; Scale: $99 for 250,000; Business: $249 for 1,000,000. Yearly billing gives two months free; features are available on every plan. |
| ScreenshotAPI.net | Its documentation describes PNG, JPEG, WebP, or PDF output; full-page capture; custom CSS; geolocation; JavaScript injection; GET and POST methods; and a fresh=true option to avoid a cached result. These are vendor-documented claims; the research copy was crawled about 11 months before the review. |
No current price is asserted here. Verify its live pricing and terms. |
| ScreenshotAPI.com | Its pricing page describes successful image captures as billable and says failed captures caused by server interruption or page load failure are not credited. It also advertises PNG/JPG/GIF and page adjustments such as blocking unwanted elements. | The reviewed pricing page advertised $0.001 per shot, packs, and a free allowance. This is a volatile vendor offer; verify the live page before buying. |
| ScreenshotAPI.to | Its documentation describes PNG, JPEG, and WebP; viewport or full-page capture; dark mode; wait controls; ad and cookie-banner handling; caching; raw HTML rendering; and PDF export. It also lists JavaScript, Python, Go, Ruby, and PHP SDKs, and names Zapier, n8n, Make, and Retool integrations. | Its documentation described a free monthly allowance and credit-based plans. The research found a claim of 200 free screenshots per month; verify its current pricing and credit rules. |
These rows summarize published claims found during research accessed 2026-10-03 UTC. They are not a controlled feature comparison: the providers may document different things, and offers can change. In particular, the ScreenshotAPI.net documentation result was older than the other research pages.
3. How to choose the right service
Capture fidelity and page control
- Confirm whether you need the initial viewport or the entire page. Full-page capture can behave differently on pages that load content as you scroll.
- Check whether the provider offers a wait condition suitable for your page: a fixed delay, a selector, or another documented readiness option.
- For branded or dynamic pages, verify support for custom CSS or JavaScript and whether it runs before capture.
- If your screenshots must resemble a mobile visitor or a particular location, verify viewport, device, language, timezone, geolocation, and user-agent controls on the chosen service. Do not infer these from another provider’s feature list.
Output and integration
Choose the output your downstream workflow consumes: PNG, JPEG, WebP, or PDF where supported. Confirm whether the service returns bytes immediately or requires a separate job workflow; the researched documentation does not establish the same asynchronous behavior for every provider. Also check authentication format, SDK coverage, response headers, caching behavior, and how long any hosted result remains available.
Billing and operational fit
Compare the unit that is charged, free allowance, credit expiry, overage rules, and what happens when navigation or rendering fails. A per-shot rate and a monthly credit plan are not directly comparable without estimating your monthly volume and failure rate. The reviewed pages do not provide an independently verified latency or reliability comparison, so use a small representative evaluation before choosing a provider for a time-sensitive workflow.
4. A basic integration pattern
The exact endpoint and parameter names depend on the provider. The following is a generic pattern, not a working endpoint: replace the URL, authentication, and parameter names with those in the selected provider’s current documentation. Never put a secret API key in browser-side JavaScript or a public repository.
curl -G "https://PROVIDER_API_ENDPOINT" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "url=https://example.com" \
--data-urlencode "format=png" \
-o page.png
For Python, use the provider’s documented endpoint and authentication scheme, set a request timeout, and write the binary response to a file:
import requests
endpoint = "https://PROVIDER_API_ENDPOINT"
response = requests.get(
endpoint,
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"url": "https://example.com", "format": "png"},
timeout=90,
)
response.raise_for_status()
with open("page.png", "wb") as image_file:
image_file.write(response.content)
For Node.js, use the provider’s documented URL and parameters. Check the response before treating its body as an image:
const endpoint = new URL("https://PROVIDER_API_ENDPOINT");
endpoint.searchParams.set("url", "https://example.com");
endpoint.searchParams.set("format", "png");
const response = await fetch(endpoint, {
headers: { Authorization: "Bearer YOUR_API_KEY" },
signal: AbortSignal.timeout(90_000),
});
if (!response.ok) {
throw new Error(`Screenshot request failed: ${response.status} ${await response.text()}`);
}
const image = Buffer.from(await response.arrayBuffer());
await import("node:fs/promises").then(({ writeFile }) => writeFile("page.png", image));
Those snippets illustrate the client-side pattern only. The dossier does not provide a confirmed endpoint or parameter contract for each similarly named service, so copying them without adapting to the selected provider will fail.
5. Or skip the browser setup
ScreenshotNeo provides a website screenshot API and an MCP server for AI agents. Its one-call API accepts a URL and returns a screenshot or PDF. This example uses the documented endpoint and parameters; see the ScreenshotNeo API documentation for capture options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
- Cookie and consent banners, newsletter popups, and chat widgets are removed before capture; each cleanup step can be turned off.
- Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing. Responses identify the page verdict and billing status in headers.
- An MCP server gives Claude, Cursor, and other MCP clients the
take_screenshot,get_page_info, andcapture_pdftools. - 1,000 screenshots per month are free with no card; paid plans start at $5 for 3,000.
Create a free ScreenshotNeo account to get 1,000 screenshots per month with no card.
6. Troubleshooting screenshot API integrations
| Symptom | Likely cause | What to check |
|---|---|---|
| 401 or 403 response | Missing, invalid, or wrongly formatted credentials; account access or quota issue. | Use the exact authentication method from the selected provider’s docs, keep the key server-side, and check account status and usage. |
| 400 response | Unsupported parameter, malformed URL, or invalid option value. | Encode the target URL, check parameter spelling and allowed values, and confirm the option is supported by that provider. |
| Request times out | The target page is slow, waiting for a condition that never occurs, or exceeds the provider’s render limit. | Use a realistic timeout, simplify the readiness condition, and try a known fast page to isolate target-site behavior. |
| Blank or incomplete capture | Capture happened before client-rendered content appeared, or lazy content was never triggered. | Use a documented selector or wait option; check whether full-page capture scrolls to load content. |
| Cookie banner or overlay covers content | The target page presents a consent dialog or other overlay. | Use a documented banner-handling option if the provider offers one, or apply an allowed click/custom-script workflow. Confirm the behavior on the specific provider. |
| Image file is corrupt or contains an error page | The client saved a JSON or text error response as image bytes. | Check HTTP status and content type before saving; log the response body for failures. |
| Unexpected cached result | The provider served a cached capture. | Check its cache controls and TTL. ScreenshotAPI.net documents fresh=true for avoiding a cached result; do not assume another service accepts it. |
| Mobile screenshot has desktop layout | Only image dimensions were changed, while the page did not receive a mobile viewport or device profile. | Set a documented mobile preset or viewport before navigation/capture, then check the page’s responsive breakpoints. |
7. Performance, reliability, and cost
Each capture requires the service to navigate and render a page, so target-site load time and the chosen wait strategy affect completion time. The research contains no independent benchmark, uptime figure, or comparative reliability test. For production use, record request duration, HTTP status, output format, and provider-specific billing or verdict metadata. Use bounded retries with backoff for transient transport failures, and avoid retrying permanent authentication or invalid-parameter errors. If requests can create billable captures, verify the provider’s retry and billing behavior before automatically repeating a timed-out request.
Estimate spend using the provider’s actual billing unit and your expected volume. Include retries, cache hits, failed renders, and any credit expiration or concurrency limits in the estimate. ScreenshotAPI.com’s researched page said some server-interruption and page-load failures are not credited; ScreenshotNeo states that failed loads, blank pages, bot checks, timeouts, and cache hits are not billed. These are separate vendor policies, not a category-wide rule.
8. Review summary
ScreenshotAPI is a useful category name, but not a unique product identity. ScreenshotAPI.net, ScreenshotAPI.com, and ScreenshotAPI.to publish distinct capabilities and commercial terms. Choose by matching the precise provider’s documented capture controls, response workflow, failure billing, and current price to your workload. ScreenshotNeo is the first alternative to try if clean captures, explicit no-charge outcomes for unsuccessful pages, or an MCP workflow matter: it puts consent cleanup, page verdicts, and agent tools in the same product.
9. Frequently asked questions
Is ScreenshotAPI one company or service?
The research found separate services using ScreenshotAPI.net, ScreenshotAPI.com, and ScreenshotAPI.to. Confirm the domain before following a tutorial or comparing a price.
Can I use a screenshot API for mobile screenshots?
Many services expose viewport or device controls, but support differs. Verify that the provider sets a mobile browser viewport or device profile, rather than merely resizing the returned image.
Can I submit HTML instead of a public URL?
ScreenshotAPI.to’s documentation describes HTML input. The dossier does not establish this for every similarly named provider, so check the chosen service’s API reference.
Are these providers independently benchmarked in this review?
No. The research reviewed published vendor pages and did not independently test performance, reliability, or capture accuracy.
