ScreenshotNeo

BlogComparisons

ScreenshotOne Alternatives With a Free Tier for Developers

Compare free screenshot APIs by quota, workflow, limits, and price. Find the right fit for URL capture or browser automation.

By the ScreenshotNeo team4 October 20269 min read

If you need a hosted screenshot API with a free tier, start with ScreenshotNeo: it includes 1,000 screenshots a month at no cost, requires no card, and bills only clean shots. Among the other documented options, ApiFlash offers 100 screenshots a month, while Browserless offers 1,000 browser-time units—not 1,000 screenshots. ScreenshotOne itself lists 100 free screenshots a month. Choose by quota accounting and workflow, not by the biggest number on a pricing page.

This guide compares the provider-published offers and explains how to choose and validate one for your application. Pricing and free-tier details below were checked on October 3, 2026 and can change; confirm the live provider pages before committing.

1. ScreenshotNeo: a count-based API with clean-shot billing

ScreenshotNeo is a website screenshot API and MCP server for developers. A GET request with a URL returns a PNG, JPEG, WebP, or PDF. Cookie and consent banners, newsletter popups, and chat widgets can be handled before capture, and each step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing; response headers report the page verdict and billing status.

It is a good first candidate when an application needs a direct screenshot endpoint, predictable screenshot-count plans, cleaner captures, or screenshot tools for an AI agent. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.

Plan Monthly price Included shots
Free $0 1,000
Starter $5 3,000
Growth $15 15,000
Pro $39 60,000
Scale $99 250,000
Business $249 1,000,000

Yearly billing gives two months free. Every feature is available on every plan. Supported controls include full-page capture with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets or custom viewport, retina scale, PDF paper size/margins/landscape/page ranges, HTML or CSS input, custom CSS and JavaScript, clicks, selector hiding, selector/delay/network-idle waits, blocking ads/trackers/requests/resource types, custom headers/cookies/user agent/Authorization, timezone and geolocation, transparency, image resizing, configurable cache TTL, signed public image links, async jobs with signed webhooks, bulk capture up to 100 URLs per call, a usage API, and an OpenAPI spec. Common parameter names from other screenshot APIs also work, which can make migration easier.

For the full request options, see the ScreenshotNeo API documentation. A basic request from the terminal is:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Use a free account to obtain an API key; keep it server-side rather than embedding it in a public page. If you need an ordinary count-based quota but do not need ScreenshotNeo’s capture cleanup or other controls, compare the alternatives below.

2. ApiFlash: a straightforward free screenshot quota

ApiFlash’s official page lists 100 screenshots per month on its free tier and says a card is not required. The displayed paid plans are $7/month for 1,000, $35/month for 10,000, and $180/month for 100,000 screenshots. It is a dedicated screenshot API; its listed features include PNG, JPEG, and WebP, full-page and mobile screenshots, ad blocking, hiding cookie banners, and S3 export. Confirm that the precise controls you need are included in the tier you will use.

ApiFlash is worth evaluating when a count-based free allowance and direct URL-to-image workflow meet the job. The quota is the same stated monthly count as ScreenshotOne’s free tier, so differences in capture options, integration, and the next paid tier matter more than the free number alone.

3. Browserless: free browser time for automation workflows

Browserless lists 1,000 units a month on Free, with two concurrent browsers and a two-minute maximum session. Its documentation includes a REST screenshot endpoint that accepts a URL or inline HTML. A unit measures up to 30 seconds of browser time, so a slow page can use multiple units. The allowance must not be read as 1,000 screenshot calls.

Choose Browserless when you also need a hosted browser session or automation beyond taking a screenshot. Estimate the browser time for representative pages and account for the concurrency and session-duration limits. The pricing page separately meters built-in proxy traffic and successful CAPTCHA solves, so those can affect usage too.

4. ScreenshotOne: the comparison baseline

ScreenshotOne lists up to 100 screenshots per month on its free tier. Its page says successful renders that are not served from cache count against quota. The displayed paid plans are Basic at $17/month for 2,000, Growth at $79/month for 10,000, and Scale at $259/month for 50,000. Its feature descriptions include HTML and PDF rendering, multiple image formats, full-page capture, caching, S3 upload, webhooks, and signed links; check the current plan page to confirm which options are available on the tier you need.

It is the baseline to compare if your existing integration already uses ScreenshotOne or its feature set fits your implementation. Compare the accounting rule as well as the monthly limit: a cache hit does not count according to its stated policy, while successful uncached renders do.

5. Comparison at a glance

Service Published free offer What the unit means Workflow distinction
ScreenshotNeo 1,000 shots/month, no card Screenshot allowance; only clean shots billed Screenshot API plus MCP tools; cleanup and extensive capture controls
ApiFlash 100 screenshots/month, no card Screenshot count Dedicated screenshot API
Browserless 1,000 units/month Up to 30 seconds of browser time per unit Hosted browser automation and REST screenshot capture
ScreenshotOne Up to 100 screenshots/month Successful non-cached renders count Dedicated screenshot API with documented rendering and integration options

These are published plan facts, not results from a side-by-side image-quality benchmark. ScreenshotAPI and Microlink appear in a third-party comparison as possible free-tier leads, but their current quotas were not verified against provider-owned documentation here, so they are not recommendations in this comparison.

6. How to choose a free screenshot API

  1. Define the unit you need. Estimate screenshot requests per month. For Browserless, estimate browser seconds per page instead, then allow for slow or interactive pages.
  2. Match the workflow. A single URL-to-image call suits a screenshot API. Choose a browser service when the job needs a browser session or automation flow beyond capture.
  3. List capture requirements. Check output format, full-page or element capture, mobile viewport, inline HTML, PDF, cookie handling, storage export, and whether the needed feature is on the free or paid tier.
  4. Read quota accounting. Find out how cache hits, failed renders, retries, overages, and exhausted accounts are counted. For Browserless, include browser time and separately metered usage in the estimate.
  5. Check operational limits. Compare concurrency, maximum session duration, async support, webhooks, and burst behavior against your workload.
  6. Price the volume you will actually use. At low volume, a larger free quota may decide it. Once usage grows, compare each provider’s paid tier at your expected monthly count and the features needed at that tier.
  7. Validate with your own pages. Use representative pages, including slow pages, long pages, consent prompts, and pages that require authentication. Record output correctness and observed quota use; this comparison does not claim tested image quality or performance.

7. Request example and integration notes

For ScreenshotNeo, the basic cURL request above saves a WebP response. Python and Node.js examples follow. Add options as documented for your capture requirements, and use an appropriately long timeout for pages that take time to render.

Python

import requests

response = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
response.raise_for_status()
with open("shot.webp", "wb") as image_file:
    image_file.write(response.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status} ${await res.text()}`);
const image = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', image));

These examples save the returned bytes as shot.webp. Keep the credential on a server you control. For public pages that need an image URL, ScreenshotNeo also supports signed links; use the documentation for the signing parameters and expiry behavior. For large batches, its bulk endpoint accepts up to 100 URLs per call, and asynchronous jobs with signed webhooks suit work that should not hold an HTTP request open.

8. Performance, reliability, and cost

Page weight, JavaScript execution, network requests, and lazy-loaded content influence how long a browser capture takes. A network-idle wait can improve completeness on some pages, but pages with persistent polling may never become idle; a selector wait or bounded delay can be more suitable. Full-page capture and high retina scale can produce larger images and take longer to render or transfer. Test both output dimensions and the wait condition on the pages that matter.

For reliability, set client timeouts deliberately, distinguish HTTP/API errors from a valid capture response, and retry only transient failures with a limit and backoff. Repeatedly retrying a deterministic failure wastes time and may consume quota at services whose policies count successful renders. Use asynchronous jobs for long-running or bulk work where supported. For ScreenshotNeo, inspect the page-verdict and billed headers when deciding whether to store or retry a response.

Free tiers are useful for prototypes and low-volume workloads, but they have limits and terms that can change. Budget against observed volume and the next paid tier, not just the free quota. Browserless usage depends on time as well as request count; its free offer also has concurrency and session-duration caps, with separate metering for some usage. ScreenshotOne’s stated accounting excludes cache hits but counts successful uncached renders. ApiFlash’s published paid tiers provide count-based steps. ScreenshotNeo’s plans range from free 1,000 shots to $5 for 3,000, $15 for 15,000, $39 for 60,000, $99 for 250,000, and $249 for 1,000,000; yearly billing gives two months free.

9. Troubleshooting checklist

Symptom Likely cause What to do
Quota runs out sooner than expected Browser time is being mistaken for screenshot count, or uncached successful renders count separately. Check the provider’s unit definition and usage page. For Browserless, convert representative browser durations into 30-second units; for ScreenshotOne, account for successful non-cached captures.
Capture is incomplete or missing lazy images The page has not loaded the relevant content before the capture point. Use full-page/lazy-image handling where available, or wait for a meaningful selector. Avoid an unbounded wait on pages with persistent network activity.
Request times out Page rendering exceeds the client timeout or service session limit. Check page load behavior, adjust a bounded client timeout, reduce unnecessary wait conditions, or use an async job if available. Browserless Free lists a two-minute maximum session.
Mobile image looks like a desktop capture The request did not set a mobile device or viewport. Set the service’s mobile preset or viewport explicitly and verify the resulting dimensions.
Cookie banner or popup covers the page Consent or overlay handling is unavailable, disabled, or needs a site-specific selector. Check provider controls for cookie/banner hiding, custom CSS, or selector hiding. Validate the result against the target site’s behavior.
Image is too large or slow to download Full-page dimensions, retina scale, or output format produce a large file. Use the required viewport and scale, resize where supported, and choose a supported format suitable for the consumer.
HTML response appears where an image was expected The provider returned an error response or the client saved an error body as an image. Check status and response headers before writing bytes; surface the error body in logs without exposing credentials.
Browserless task is rejected or stops Concurrency or maximum session duration was reached. Limit parallel sessions and split long workflows; verify current plan limits before production use.

10. Or skip the browser setup

Make one GET request with the page URL and save the returned image. See the ScreenshotNeo API documentation for options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
  • Cookie banners, newsletter popups, and chat widgets are removed before the shot.
  • Bot checks, blank pages, and failed loads are never billed; cache hits and timeouts also cost nothing.
  • An MCP server lets AI agents take screenshots with tools for screenshots, page information, and PDFs.
  • 1,000 screenshots a month are free with no card; paid plans start at $5 for 3,000.

Create a free ScreenshotNeo account and get an API key.

Frequently asked questions

Is Browserless Free the same as 1,000 free screenshots?

No. Its 1,000 monthly units measure browser time in increments of up to 30 seconds, so a capture can use more than one unit.

Which listed option has the largest free screenshot count?

ScreenshotNeo lists 1,000 screenshots per month. Browserless also lists 1,000 free units, but those units measure browser time and are not directly comparable to screenshot counts.

Are the listed prices guaranteed to stay current?

No. They reflect provider pages checked October 3, 2026. Confirm current quotas, prices, and feature eligibility on the linked provider pages before choosing a plan.

Was image quality benchmarked across these services?

No. The comparison uses published plan and documentation facts; it does not claim a side-by-side capture test or image-quality ranking.