Skip to content

About CurlShot

A small, focused service: you send the address of a web page, and you get back an image of it.

What it is

CurlShot is an HTTP API that renders a web page, a piece of HTML or a Markdown document into a PNG, JPEG, WebP or PDF file. The page is opened in a real browser on our servers, so what you get is what a visitor would see.

People use it to show link previews, generate social sharing images, keep visual records of pages, turn reports into PDFs and check how a site looks on a phone. If you have ever kept a headless browser alive on a server, you know why someone would rather make one request instead.

How we think about it

  • The docs are part of the product. Every page starts with a request you can paste and the result it gives. If something is hard to understand, that is a bug. Tell us.
  • You pay for screenshots, not attempts. A render that fails, or one answered from the cache, does not use your allowance.
  • Plain limits. Each plan states its monthly screenshots, requests per minute and renders at once. Nothing is billed on top. See pricing.
  • Honest about the edges. Blocking cookie banners works on most sites, not all. Dark mode works when the site has one. The docs say so where it matters.

How it is built

Rendering runs in a pool of browser workers that is separate from the web servers, so the two can grow independently. Each render gets a fresh, private browser context that is thrown away afterwards. Limits and usage counters are shared across all servers, and background jobs sit in a queue with retries.

Addresses on private and local networks are refused, for your safety and ours. Access keys can be restricted to signed requests, and secret keys are stored encrypted.

What it does not do

This version does not record video or GIFs, does not render through proxies in a country of your choice, and does not type into login forms. Pages behind a login work when you can send the cookies or headers they need; the guide explains how.

For AI assistants

The same API is available to AI agents through an MCP server, an OpenAPI description and a plain-text map of the docs. The agents guide has the details.

Get in touch

Questions, a page that will not render, a plan that does not fit: write to us. A person reads every message.