Skip to content
SCREENSHOT API

Website Screenshot API

Capture full-page, viewport, or single-element screenshots of any URL with one HTTP call. PNG, JPEG, or WebP at any device scale — ads and cookie banners blocked, edge-cached, signed URLs included.

RenderKit's /v1/screenshot endpoint boots a managed Chromium, waits for the page to actually settle, strips ad and cookie chrome, and drops a pixel-accurate capture on the edge CDN with a signed URL. No Puppeteer fleet to babysit, no browser hours to meter.

One POST, a screenshot back

POSTscreenshot.sh
curl https://api.renderkit.tech/v1/screenshot \
  -H "x-api-key: $RENDERKIT_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "url": "https://example.com", "full_page": true, "block_ads": true }'

What you get

  • Full page, viewport, or element capture by CSS selector
  • PNG, JPEG, WebP at retina or custom device scale
  • blockads and blockbanners with maintained filter lists
  • Geo rendering from a US or UK IP with locale-correct headers
  • HMAC-signed URLs — safe to use straight from <img src> without leaking your key
  • Content-addressed cache: identical renders return in ~80ms and don't burn quota

Three primitives, one key

The same key and billing meter also cover HTML-to-PDF and LLM-ready markdown extraction. Switching from a screenshot-only vendor? See RenderKit vs ScreenshotOne and vs Urlbox.

Common questions

POST to /v1/screenshot with full_page: true. RenderKit scrolls the page, waits for lazy content, and returns a single stitched capture on a signed CDN URL.

Yes — pass selector with any CSS selector and RenderKit clips the capture to that element's bounding box.

Yes — 500 free renders to start, no card required. Renders are shared across screenshot, PDF, and extract on one meter.

Ship your first render in 60 seconds.

500 free renders to start. No card. Cancel by ignoring it.

Get your free key$npm i renderkit-sdk