Pay as you go · no subscription

Screenshots, PDFs & Markdown from any URL. One API call.

Shotlane renders any web page or raw HTML in real Chromium and returns a PNG, JPEG, WebP, PDF — or clean Markdown for your LLM. Buy credits once, use them whenever. They never expire.

100 free renders · no credit card · key shown instantly

# That's the whole integration.
curl "https://shotlane.dev/v1/screenshot\
?url=https://stripe.com\
&full_page=true&format=webp\
&access_key=YOUR_KEY" \
  -o stripe.webp

Or embed it straight into an <img src> — the response is the image.

Try it now — no signup

Paste any URL. This is the same rendering engine your API key gets.

Free: 10 renders/day, no signup. Same engine as the API.

Everything you need, nothing you don't

📸 Screenshots

Viewport or full-page captures, any width from 240 to 3840px, retina scaling up to 3×, PNG / JPEG / WebP.

📄 HTML → PDF

POST raw HTML or a URL and get a print-ready PDF: invoices, reports, tickets. A4, Letter, landscape, backgrounds.

📝 URL → Markdown

Feed web pages to your LLM: /v1/markdown renders the page (JS included) and returns clean Markdown of the main content. Try it

🍪 Clean captures

Hide cookie consent banners and block ad/tracker requests with a single flag each.

🎯 Full control

Capture one element by CSS selector, inject CSS/JS, click buttons, send cookies or headers for logged-in pages, emulate iPhone/iPad/dark mode.

🔏 Signed embed URLs

Drop screenshots straight into <img> tags with HMAC-signed URLs. Cached for 24h — cache hits are free.

🤖 ChatGPT & Claude plugin

One-click connector for ChatGPT, Claude, Cursor and VS Code: your assistant can screenshot, read and PDF any page. Connect →

📦 Bulk jobs, no code

Paste up to 500 URLs in the dashboard and download a ZIP of screenshots, PDFs or Markdown files. Learn more

💸 Fair billing

1 credit per successful render. Failed renders are refunded automatically. No monthly minimums, no overage surprises.

Works with anything that can make an HTTP request

// Node.js 18+
const res = await fetch("https://shotlane.dev/v1/pdf", {
  method: "POST",
  headers: { "X-API-Key": process.env.SHOTLANE_KEY,
             "Content-Type": "application/json" },
  body: JSON.stringify({ html: "<h1>Invoice #42</h1>",
                         paper: "Letter" }),
});
fs.writeFileSync("invoice.pdf", Buffer.from(await res.arrayBuffer()));
# Python
import requests

r = requests.get("https://shotlane.dev/v1/screenshot", params={
    "url": "https://github.com",
    "width": 1440, "scale": 2,
    "dark_mode": True,
    "hide_cookie_banners": True,
}, headers={"X-API-Key": KEY})
open("github.png", "wb").write(r.content)

Read the full API reference →

Simple, prepaid pricing

Most screenshot APIs bill monthly whether you use them or not. Shotlane doesn't: buy a pack, and use it this week or next year.

Starter

$9
one-time · 2,000 renders
$4.50 per 1,000 · credits never expire
Most popular

Growth

$29
one-time · 10,000 renders
$2.90 per 1,000 · credits never expire

Scale

$79
one-time · 40,000 renders
$1.98 per 1,000 · credits never expire

Prices in USD; VAT/sales tax added at checkout where applicable. Every account starts with 100 free renders. 1 credit = 1 screenshot, PDF or Markdown extraction. Failed renders are refunded automatically. Need more than 40k/month? Buy multiple packs — they stack.

FAQ

Do credits really never expire?

Yes. Credits stay on your account until you use them. No subscription, nothing renews.

What counts as a render?

Each successful screenshot or PDF costs 1 credit. Requests that fail (timeouts, unreachable hosts, invalid parameters) are not charged.

Which browser do you use?

An up-to-date headless Chromium, so pages render exactly like they do in Chrome, including web fonts, emoji and modern CSS.

Can I render pages behind a login?

Yes — pass session cookies or auth headers (sent only to the target host), or POST raw HTML you generate server-side.

Do you store my screenshots?

Not unless you ask us to. By default images and PDFs are streamed back and never written to disk. If you enable caching, results are kept until the TTL expires — and cache hits are free. We keep minimal usage logs (timestamp, target URL, status) for billing.

Can I get an invoice / receipt?

Yes, Stripe emails a receipt for every purchase.

Get your free API key

100 renders on the house. Takes 5 seconds.

100 free renders · no credit card · key shown instantly