Skip to content

A screenshot API that is one HTTP request

CurlShot is a website screenshot API. Send one HTTP request with the address of a page and get back a PNG, JPEG, WebP or PDF of it. It renders in a real browser, captures full pages, emulates phones and tablets, hides cookie banners and ads, and works from any language because it is a plain URL. There is a free plan, an OpenAPI description and an MCP server for AI agents.

No address handy? Try

How much of the page?
As seen on a…
Save it as…
Example: wikipedia.org as seen on a computer, whole page

The example stops here. The real page goes on.

This is an example: wikipedia.org on a computer, whole page, pictured with CurlShot. Paste an address above to make your own.

Ads and cookie pop-ups hidden. This page has none, so the screenshot is the same either way.

No account needed to try it. A free account gives you 100 screenshots a month, no card needed.

Create a free account

How to do it, in three steps

  1. 1

    Create a free account and copy your access key.

  2. 2

    Build the request: the screenshot address, your key, and the URL of the page.

  3. 3

    Fetch it and save what comes back. Add options as more words in the address.

What people use it for

  • Full-page and first-screen captures, as PNG, JPEG, WebP or PDF
  • Device presets for phones, tablets and laptops
  • Blocking of ads, cookie banners, trackers and chat widgets
  • Response cache, signed links, async renders with webhooks, bulk requests
  • HTML and Markdown input, for images made from your own templates
  • An MCP server and an OpenAPI description, for AI agents and generated clients

For developers: one request

The same thing from your own code. It is a plain HTTP request, so it works from any language. Create a free account to get an access key.

Request
curl "https://curlshot.com/api/v1/screenshot?access_key=YOUR_ACCESS_KEY&url=https://example.com&full_page=true&block_cookie_banners=true" \
  --output example.png

Questions people ask

What is a screenshot API?

A service that takes screenshots of web pages for your code. You send the address of a page, it opens the page in a browser on its own servers and returns the image, so you do not run or maintain headless browsers yourself.

Which languages does it work with?

Any language that can fetch a URL. The docs have complete samples for cURL, Node.js, Python, PHP, Go and Ruby. There is nothing to install.

How is usage counted?

One successful render is one screenshot, whatever its size. Failed renders and cache hits are not counted. Each plan is a fixed number of screenshots a month for a fixed price.

Can an AI agent use it?

Yes. CurlShot has an MCP server with a take_screenshot tool, an OpenAPI description and an llms.txt file, so an agent can look at any web page.

Take as many screenshots as you need

A free account gives you 100 screenshots every month and keeps them in one place. No card needed.