Best website screenshot API with a free plan and no watermark
Compare free screenshot APIs by quota, watermark policy, setup, and capture features. See why ScreenshotNeo is our first pick and how to verify plan terms.
Short answer: ScreenshotNeo is our first pick for developers who want clean screenshots without a watermark, clear billing outcomes, and a usable free tier. It includes 1,000 screenshots a month at no charge and requires no card. If you are comparing other free providers, check the provider’s current quota and explicit free-tier watermark terms together: a free plan alone does not guarantee unmarked output.
There is no independent, common benchmark in the available research that proves one hosted API renders every page best. The comparison below is based on vendors’ published plan statements, not hands-on testing. Terms change, so confirm the linked current vendor pages before you build around a quota.
1. What to check before choosing a free screenshot API
A free screenshot API is useful only if its output, limits, and capture options fit the job. Evaluate these separately:
- Watermark on the free tier: Look for an explicit statement that free exports are unwatermarked. Do not infer that a watermark is absent because the page does not mention one.
- Quota and reset: Check the monthly allowance, how it resets, and whether the published number covers the capture modes you need.
- Throttling: A monthly quota may coexist with per-minute, concurrency, or IP-based limits.
- Setup requirements: Determine whether signup, an API key, or a payment card is required. No-key access is convenient, but IP limits may make it less predictable for shared deployments.
- Rendering features: Check image formats, viewport and full-page modes, element capture, PDF, lazy loading, and handling of consent banners or dynamic pages.
- Operational terms: Review privacy, retention, authentication, and error behavior in the provider’s current documentation.
For any production decision, test representative pages and keep a fallback plan. The vendor pages reviewed do not provide a common independent measurement for rendering quality, latency, uptime, or performance on protected websites.
2. Free screenshot API comparison
| Provider | Published free allowance | Watermark statement | Notes |
|---|---|---|---|
| ScreenshotNeo | 1,000 screenshots/month; no card | Clean screenshots; no watermark is listed as a separate plan term in the provided product facts | Consent banners, newsletter popups, and chat widgets can be removed before capture. Only clean shots are billed; response headers report page verdict and billing status. Free tier, then paid plans from $5 for 3,000 shots. |
| Webshot | Free API; the reviewed page does not state a monthly quota | Explicitly says no watermarks | No signup, API key, or card stated; IP-based limits. JPG, PNG, WebP, and PDF. Custom mode is described as paid. Vendor page. |
| getscreenshot.dev | 500/month | Lists “No watermark,” but reviewed wording does not make clear whether it applies to every free export; verify | PDF, full-page and viewport capture, element capture, dark mode, and caching are listed. Vendor page. |
| APIScreenshot | 100 free screenshots | Promotes clean screenshots; exact free-tier watermark terms should be confirmed | PNG, JPEG, WebP, full-page capture, thumbnails, link previews, monitoring, and archiving are listed. Vendor page. |
| ScreenshotOne | 100/month; no card | The reviewed homepage does not settle free-tier watermark policy | Cookie, ad, and chat blocking; custom viewports; lazy-loaded full-page capture; integrations are listed. Vendor page. |
| ScreenshotAPI (screenshot-api.org) | 500/month; no card | Explicitly says no watermarks | Advertises commercial use, HTTPS, and API-key access. These are vendor statements, not independently verified. Vendor page. |
| ScreenshotDEV | 100 API calls/month | Free plan explicitly includes a ScreenshotDEV watermark | Full-page and element capture, format choices, and dark mode are listed. Vendor pricing. |
| Rendex | 100 renders/month | Free output has a tiled rendex.dev mark | Its pricing page also discusses rate limits and concurrency. Vendor pricing. |
Recommendation: Try ScreenshotNeo first if you want a free monthly allowance plus consent cleanup, explicit per-response billing signals, and an upgrade path starting at $5. It is also useful when you need full-page or element screenshots, PDFs, signed image links, asynchronous jobs, or an MCP server for AI agents. For the other providers, the table distinguishes explicit watermark claims from terms that need clarification; those distinctions matter more than a large headline quota if a watermark would make the output unusable.
Vendor-published figures above were checked on October 3, 2026 and are not independently audited. Recheck the linked plan pages before adoption.
3. Use ScreenshotNeo with one GET request
ScreenshotNeo accepts a URL and returns an image or PDF. Use the API base https://api.screenshotneo.com/v1/shot. Keep the access key server-side, use HTTPS, and save the response bytes as a file. The parameter names used by other screenshot APIs also work, which can simplify migration. See the ScreenshotNeo API documentation for the full parameter reference.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" \
-d access_key=YOUR_API_KEY \
--data-urlencode url=https://stripe.com \
-o shot.webp
Python
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
r.raise_for_status()
open("shot.webp", "wb").write(r.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}`);
const bytes = new Uint8Array(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));
4. Choose the right capture options
ScreenshotNeo has 63 options. Set only what the job needs, and consult the API docs for exact parameter names and accepted values.
| Need | Available controls |
|---|---|
| Page shape and output | PNG, JPEG, WebP, PDF; full-page capture with lazy images loaded; paper size, margins, landscape, and page ranges for PDF. |
| Target area and appearance | Capture one element with a CSS selector; dark mode; 12 device presets or any viewport; retina scale; transparent background; image resizing. |
| Page preparation | Custom CSS and JavaScript; click an element; hide selectors; wait for a selector, a delay, or network idle. |
| Network and identity | Block ads, trackers, requests, or resource types; set custom headers, cookies, user agent, and Authorization. |
| Locale and access | Set timezone and geolocation. |
| Repeat and batch workflows | Caching with a chosen TTL; signed links for public <img> tags; asynchronous jobs with signed webhooks; bulk capture of up to 100 URLs per call; usage API and OpenAPI spec. |
For an image-only task, request an image format and save the bytes. For document output, set the PDF options appropriate to the intended paper layout. When capturing a specific component, use a stable selector and wait for it to appear. For dynamic pages, waiting on a selector or network idle can make the capture more reliable than a fixed delay, though pages with continuous background requests may never become idle; choose a bounded delay or a meaningful selector in that case.
5. Free-plan checks and cost planning
ScreenshotNeo’s free plan includes 1,000 shots per month with no card. Paid monthly plans are Starter $5 for 3,000; Growth $15 for 15,000; Pro $39 for 60,000; Scale $99 for 250,000; and Business $249 for 1,000,000. Yearly billing gives two months free. Every feature is available on every plan.
Estimate volume from unique captures, retries, refreshes, and expected cache reuse. ScreenshotNeo bills only clean shots: bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. Responses include X-Page-Verdict and X-Billed headers so an integration can inspect the result. Do not assume another provider treats failures or cached output the same way; check its billing documentation.
For any free service, verify whether special modes consume extra quota, whether failed requests count, how rate limits behave, and what happens after the allowance is exhausted. A free plan is best for development and low-volume use only if its limits and terms match your release requirements.
6. Performance and reliability practices
- Cache stable pages: Reuse captures where freshness allows. ScreenshotNeo offers a cache TTL you choose and does not bill cache hits.
- Bound waiting: Use a selector wait for the specific content you need. A page-wide network-idle condition can be unsuitable for sites with persistent analytics or streaming connections.
- Use full-page mode selectively: Full-page screenshots and high retina scale create larger work and files than a viewport capture. Choose the smallest dimensions that satisfy the use case.
- Handle transient failures: Apply bounded retries with backoff for retryable network or service errors. Avoid immediate retry loops, and inspect page-verdict and billing headers.
- Protect credentials: Keep API keys out of browser code and public repositories. Use environment-based secret storage on the server. Use HTTPS for API requests.
- Scale through the right interface: For up to 100 URLs per call, ScreenshotNeo supports bulk capture; asynchronous jobs with signed webhooks are available for work that should not block a request.
- Test representative pages: Include pages with consent dialogs, lazy-loaded images, authentication, responsive layouts, and bot checks. No vendor claim guarantees success on every protected site.
7. Common problems and fixes
| Symptom | Likely cause | What to do |
|---|---|---|
| Screenshot contains a cookie banner or popup | The service does not remove that platform, cleanup is disabled, or the overlay appears after capture begins. | Check whether the provider supports consent cleanup; configure its relevant option and wait for the page to settle. ScreenshotNeo can remove 60+ known consent platforms, newsletter popups, and chat widgets, and each cleanup step can be turned off. |
| Blank or incomplete image | Capture began before client-rendered content loaded, the page failed, or the site presented a bot check. | Wait for a content selector or suitable delay, then inspect the service’s page verdict and error details. A bot check may require a different access approach; do not treat an empty image as a successful capture. |
| Lazy images are missing | The images load only when scrolled into view. | Use a full-page mode that loads lazy images, or explicitly prepare the page before capture if the API supports custom JavaScript. |
| Request times out | The page is slow, a wait condition never resolves, or heavy full-page rendering exceeds the request timeout. | Use a meaningful selector, remove an unnecessarily strict network-idle wait, reduce capture dimensions, or use an asynchronous job for longer work. |
| HTTP 401/403 or access denied | Missing/invalid API key, incorrect authorization header, or destination restrictions. | Check key placement and required auth format in current docs. Do not expose secrets in client-side code. Confirm the target page is accessible to the service. |
| HTTP 429 or throttled requests | Per-minute, concurrency, monthly quota, or IP limit was reached. | Back off, queue work, reduce duplicate requests, and confirm the provider’s current limit and reset policy. |
| Output has a watermark despite a free plan | The provider’s no-watermark statement did not cover the free tier, or the tier terms changed. | Verify the exact free-plan terms before adoption. If unmarked exports are required, choose a service whose current plan documentation explicitly says so or ask the vendor. |
| Saved file is not a valid image | The response may be an error payload saved with an image extension. | Check HTTP status and response headers before writing bytes; inspect the error body when the request fails. |
8. Or skip the browser setup
ScreenshotNeo returns a capture from one GET request. The examples above use https://stripe.com; change the target URL for your page.
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, popups, and chat widgets are removed before the shot. Bot checks, blank pages, timeouts, failed loads, and cache hits are never billed. An MCP server lets Claude, Cursor, and other MCP clients use take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. See the API documentation and ScreenshotNeo.
Create a free ScreenshotNeo account and start with 1,000 screenshots a month, no card required.
9. Frequently asked questions
Does a free plan mean the screenshots have no watermark?
No. Verify the watermark term for the exact free tier and output mode. Some reviewed providers explicitly disclose a watermark on free output; others do not settle the question clearly.
Can I use a free quota for a commercial project?
That depends on the provider’s license and plan terms. ScreenshotAPI advertises commercial use, but verify its current terms and those of any service you choose.
Which provider has the largest stated monthly free quota in this comparison?
Among providers with a stated monthly number in the reviewed pages, getscreenshot.dev and ScreenshotAPI list 500, while ScreenshotNeo includes 1,000. These are vendor-published terms and can change.
Are the listed APIs independently tested against the same websites?
No. The comparison reflects published vendor pages; the research found no common independent benchmark for quality, latency, or difficult-site coverage.
Can these APIs capture PDF as well as images?
Several reviewed vendors list PDF output, and ScreenshotNeo supports both PDF and image output. Confirm format availability and relevant limits in the current plan documentation.
