Introduction
shotkit renders any URL, HTML or Markdown to images, PDFs, videos or Markdown with one HTTP request.
shotkit is a screenshot API. One HTTP request turns a URL, or your own HTML or Markdown, into an image (PNG, JPG, WebP, AVIF or TIFF), a PDF, a recording (MP4, WebM, or animated GIF or WebP), or the page's content as clean HTML or Markdown. You can capture the full page or a single element, at any viewport size or with one of 153 device presets, and remove cookie banners, ads and chat widgets first. Typical uses are social cards and Open Graph images, invoices and reports, visual regression tests, archiving pages, and feeding web pages to AI agents.
curl -X POST "https://shotkit.net/api/take" \
-H "X-Access-Key: YOUR_ACCESS_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://github.com","format":"png","full_page":true,"block_cookie_banners":true,"dark_mode":true}' \
--fail-with-body -o shot.pngThe endpoint
Everything goes through one endpoint:
https://shotkit.net/api/takePOSTwith a JSON body, as in the example above. This is the easiest way to call it from code.GETwith the same options as query parameters, so a URL alone is a complete request. Use it to embed renders in<img src>(see signed URLs).
Requests are authenticated with an access key. The response is the file itself by default, or JSON with response_type=json.
What you can do
- Screenshots of any page, in PNG, JPG, WebP, AVIF or TIFF, at any viewport size or with one of 153 device presets, including full page.
- Clean captures without cookie banners, ads, trackers or chat widgets, plus custom CSS, JavaScript, clicks and hovers.
- HTML and Markdown in, for social cards, certificates and invoices; HTML and Markdown out, for LLMs and agents.
- PDFs with paper sizes, margins and one-page fitting.
- Videos and animations as MP4, WebM, GIF or WebP, including scrolling recordings.
- Caching, async renders with webhooks and metadata for production use.
All 107 options are listed in the option reference, each with an example.
For agents
These docs are available as Markdown. Add .md to any docs URL (for example /docs/quickstart.md), or request a page with Accept: text/markdown. /llms.txt lists every page, and /llms-full.txt has all of them in one file. See AI agents.
Next steps
- Quickstart: get a key and take your first screenshot.
- Option reference: everything you can change.
- Errors and limits: what can go wrong, and how much you can render.