AIGCLISTAIGCLIST
AI Tool ScorecardJust launched

CurlShot — Screenshot-as-a-Service API for Developers and AI Agents

CurlShot turns any URL or raw HTML into screenshots, PDFs, or video captures via HTTP API — device viewports, caching, bulk rendering, and an MCP server.

FreemiumAI Developer Toolscurlshot.com
Visit
Published on Oct 16, 2026

Decision summary

CurlShot — Screenshot-as-a-Service API for Developers and AI Agents

Best for

  • Developers embedding page captures into monitoring or archival pipelines
  • Teams generating PDFs from web-rendered reports and invoices
  • QA engineers capturing element-level screenshots across device viewports

Watch out for

  • Private and local addresses (localhost, 10.x, 192.168.x) are blocked
  • Some capture options are plan-gated and return 403 on lower tiers
  • No published company name, country, or SLA figures

Overview

What is CurlShot?

CurlShot is a screenshot-as-a-service API aimed at developers and AI agents. As the site puts it: "Paste a website address and get a screenshot of the whole page as an image or PDF. Free to try, nothing to install." The service accepts a URL — or raw HTML and markdown — and returns a rendered capture in png, jpeg, webp, pdf, mp4, webm, or gif, either as the file itself or as a JSON response containing a hosted file link.

The intended audience is engineering workflows rather than end users: documentation snapshots, website monitoring, PDF generation, QA, and agentic web browsing. Notably, the documentation is explicitly written "for AI agents" and exposes an MCP server at https://curlshot.com/api/mcp with take_screenshot and list_devices tools, plus an OpenAPI 3.1 spec and docs in markdown and llms.txt form. No company name, country, or launch history is published on the site.

How CurlShot Works

The workflow is a three-line integration. First, register at curlshot.com/register to receive a free access key. Second, send a GET request (or POST with JSON for complex options) containing the key and the target URL — the documented example is curl "https://curlshot.com/api/v1/screenshot?access_key=YOUR_ACCESS_KEY&url=https://example.com&format=jpeg". Third, receive the rendered file directly, or poll GET /api/v1/jobs/{id} for asynchronous and bulk jobs; GET /api/v1/usage reports remaining quota.

Authentication accepts the key as a query parameter, an X-Access-Key header, or a Bearer token. Capture behavior is controlled with parameters: full page or element selectors, clip regions, named device viewports such as iphone_15_pro or desktop_full_hd, and cleanup options including ad, tracker, cookie-banner, and chat-widget blocking, custom styles and scripts, forced dark mode, and hiding chosen selectors. Setting cache=true makes repeated captures of the same page free — cache hits do not consume quota.

Main Features

  • Multi-format capture — png, jpeg, webp, pdf, mp4, webm, and gif, with optional JSON responses carrying hosted file links.
  • Flexible targeting — full-page, element-selector, and clip-region captures across named device viewports (iphone_15_pro, pixel_9, macbook_air_13, desktop_full_hd, and more).
  • Page cleanup — block ads, trackers, cookie banners, and chat widgets; inject custom styles and scripts; force dark mode; hide selectors.
  • Free caching — cache=true makes repeated captures free, so monitoring loops do not burn quota.
  • Async and bulk rendering — background jobs with webhooks, and a bulk endpoint accepting up to 100 renders per call.
  • MCP server for AI agents — take_screenshot and list_devices tools at /api/mcp, with OpenAPI 3.1 and llms.txt documentation.

Pricing

CurlShot uses a freemium quota model. The Free plan offers 100 screenshots per month with 10 requests per minute and 1 concurrent render. Starter costs $19 per month for 3,000 screenshots (60 req/min, 5 concurrent), Growth costs $79 for 15,000 (150 req/min, 15 concurrent), and Scale costs $249 for 60,000 (400 req/min, 40 concurrent). One successful render equals one screenshot; failures and cache hits are free. Exceeding quota returns HTTP 402 with an upgrade_url. Rate limits return 429 with a Retry-After header, and plan-gated options return 403 feature_not_available.

Common Use Cases

  • Documentation snapshots — archiving how pages looked at a point in time.
  • Website monitoring — scheduled captures with caching to keep costs near zero.
  • PDF generation — converting reports or invoices rendered as web pages into PDFs.
  • QA and visual checks — element-level captures across device viewports.
  • Agentic browsing — letting AI agents capture pages via the MCP server during research tasks.

Limitations

The service blocks private and local addresses (localhost, 10.x, 192.168.x) with a host_not_allowed error, so it cannot screenshot internal systems. Some options are plan-gated and return 403 on lower tiers. Rate limits and concurrency are enforced per plan. Beyond the product surface, there is no published company name, country, launch year, or SDK story — integrators work with raw HTTP. And because it is a hosted renderer, pages behind logins or bot walls may not capture as expected, though the site does not detail anti-bot workarounds.

Summary

CurlShot is a tightly scoped, well-documented screenshot API: one HTTP call turns a URL or raw HTML into an image, PDF, or video capture, with developer-grade options (device viewports, element selectors, cleanup, caching), automation primitives (async jobs, webhooks, bulk), and a genuinely agent-friendly surface (MCP server, OpenAPI, llms.txt). Pricing is transparent and the free tier is enough for real evaluation. The gaps are corporate opacity — no company or SLA information — and plan-gated features. For developers and agent builders who need programmatic page captures, it is a credible, low-friction option.

Reviews (0)

—0 ratings

No reviews yet. Be the first to rate this product!

Score anatomy

The dimensions behind the editorial score, each with its judgment note. AI Readiness and GEO Score are platform assessments generated by AIGCLIST after submission.

Information quality

The documentation is concrete and falsifiable: per-plan prices, quota behaviors, exact error codes (host_not_allowed, invalid_options, 402 with upgrade_url, 429 with Retry-After), device preset names, and a documented MCP endpoint.

8.6
Strong signal

Official API documentation and pricing tables, checked October 2026.

Ease of use

A single GET request with an access key and target URL produces a capture, with POST+JSON for complex options; registration only issues a free key, and usage is checkable via a quota endpoint.

7.8
Contextual

Official quick-start examples.

Feature depth

Formats span png/jpeg/webp/pdf/mp4/webm/gif; capture options include full page, element selectors, clip regions, and named device viewports; cleanup covers ad/tracker/cookie-banner/chat blocking, custom styles and scripts, dark mode, and selector hiding.

7.8
Contextual

Official API documentation.

Workflow fit

The service is engineered for automation: async background jobs with webhooks, a bulk endpoint for up to 100 renders per call, cache hits that are free, JSON responses with hosted file links, and an MCP server plus llms.txt aimed explicitly at AI agents.

8.2
Strong signal

Official API documentation (async, bulk, MCP sections).

Reliability

Failure and cache-hit renders are free and error semantics are well defined, but private/local addresses are blocked by policy and some options return 403 on lower plans; no SLA or uptime figures are published.

7.4
Contextual

Official API error documentation.

Value

The free plan covers 100 screenshots/month with no cost, and paid tiers run $19-$249/month for 3,000-60,000 screenshots — mid-range for the category, with caching effectively lowering the price of repeated captures.

7.8
Contextual

Official pricing table, checked October 2026.

Scores indicate documented product strength, not a hands-on guarantee.

Evidence check

Public claims about this tool, each tagged with a verification status and its cited source.

Four plans from free to $249/month3
CurlShotVerifiedChecked Oct 18, 2026

CurlShot's plans are Free (100 screenshots/month, 10 requests/min, 1 concurrent render), Starter $19/month (3,000 screenshots, 60 req/min, 5 concurrent), Growth $79/month (15,000, 150 req/min, 15 concurrent), and Scale $249/month (60,000, 400 req/min, 40 concurrent); one successful render equals one screenshot, while failures and cache hits are free, and exceeding quota returns HTTP 402 with an upgrade_url.

The API accepts a URL or raw HTML/markdown via GET or POST and returns png, jpeg, webp, pdf, mp4, webm, or gif, with full-page/element/clip capture, named device viewports (e.g., iphone_15_pro, desktop_full_hd), ad/tracker/cookie-banner/chat blocking, custom styles and scripts, dark mode, and selector hiding; auth works via query param, X-Access-Key, or Bearer header, and an OpenAPI 3.1 spec plus markdown/llms.txt docs are published.

CurlShot exposes an MCP server at https://curlshot.com/api/mcp with take_screenshot and list_devices tools for AI agents, plus async background jobs with webhooks, a bulk endpoint for up to 100 renders per call, and a usage endpoint for quota checks; the page is explicitly written for AI agents.

https://curlshot.com
CurlShot official website

API capabilities, workflow, plan prices, error semantics, and MCP server verified against the official documentation, October 2026. · Oct 18, 2026

Decision desk

The questions most worth resolving before you rely on the product or visit its official site.

It is a screenshot-as-a-service API: you send a URL (or raw HTML/markdown) with an access key and receive a rendered capture of the page as an image, PDF, or video.

The Free plan includes 100 screenshots per month; Starter is $19/month for 3,000, Growth $79 for 15,000, and Scale $249 for 60,000. Failed renders and cache hits are free.

Yes — 100 screenshots per month, 10 requests per minute, and 1 concurrent render, with no cost; register to get a free access key.

Yes. CurlShot exposes an MCP server at https://curlshot.com/api/mcp with take_screenshot and list_devices tools, plus an OpenAPI 3.1 spec and llms.txt documentation written for agents.

No. Private and local addresses such as localhost, 10.x, and 192.168.x are blocked with a host_not_allowed error.

Verify on official site

Continue exploring

More in AI Developer Tools

Published tools that share this product's primary category. They are discovery links, not editorial comparisons.