Pricing
Screenshot API pricing
Free for 100 watermarked renders a month, no card needed. Paid plans are $9 for 2,000, $19 for 10,000 and $49 for 50,000, with no overage fees. One quota covers screenshots, PDFs and OG images.
Free
$0 / month
100 renders a month
Watermarked
Includes
- No email, no card
- 5 requests a minute, 30 a day
- Screenshots, PDFs and OG images
- MCP server and OpenAPI spec
Starter
$9 / month
2,000 renders a month
$4.50 per 1,000
Everything in Free, plus
- No watermark
- 30 requests a minute
- Viewport up to 2,560 × 2,560
- 30 s time budget per render
Pro
$19 / month
10,000 renders a month
$1.90 per 1,000
Everything in Starter, plus
- No watermark
- 60 requests a minute
- Viewport up to 3,840 × 3,840
- 30 s time budget per render
Scale
$49 / month
50,000 renders a month
$0.98 per 1,000
Everything in Pro, plus
- No watermark
- 120 requests a minute
- Viewport up to 3,840 × 3,840
- 30 s time budget per render
Compare plans
| Free $0 / month | Starter $9 / month | Pro $19 / month | Scale $49 / month | |
|---|---|---|---|---|
| Quota | ||||
| Renders per month | 100 | 2,000 | 10,000 | 50,000 |
| Per 1,000 renders | free | $4.50 | $1.90 | $0.98 |
| Cache hits and failed renders | not counted | not counted | not counted | not counted |
| Limits | ||||
| Requests per minute | 5 | 30 | 60 | 120 |
| Daily cap | 30 per key | none | none | none |
| Max viewport | 1,920 × 1,440 | 2,560 × 2,560 | 3,840 × 3,840 | 3,840 × 3,840 |
| Time budget per render | 20 s | 30 s | 30 s | 30 s |
| Output | ||||
| Watermark | small corner label | none | none | none |
| Screenshots, PDFs, OG images | yes | yes | yes | yes |
| Signed OG URLs | yes | yes | yes | yes |
| MCP server and OpenAPI | yes | yes | yes | yes |
Comparing costs: see screenshot API alternatives for the monthly cost of ScreenshotOne, Urlbox, ApiFlash and others at the same volumes.
Frequently asked questions
- What counts as a render?
- One successful screenshot, PDF or OG image that isn't served from cache. Cache hits, errors, blocked URLs and timeouts cost nothing, and all three endpoints share one monthly quota.
- What happens when I reach the limit?
- Requests return HTTP 429 until the quota resets on the 1st of the month (UTC) or you upgrade. There's no overage billing, so there are no surprise invoices.
- How do I get my key after paying?
- Checkout returns you to a page that shows your key once, so save it straight away. If you lose it, rotate it with POST /v1/keys/rotate or email support from your billing address.
- How do I cancel or change plan?
- Open the Stripe billing portal from the dashboard, or POST /v1/billing/portal, to change plan, update your card or cancel. Your key keeps its paid plan until the end of the period you paid for.
- Why is the free plan watermarked?
- Free renders cost real browser time and attract abuse such as phishing captures. A small corner label keeps the free plan good for testing, and every paid plan removes it.
- Do you offer annual plans or invoices?
- Not yet: plans are monthly, billed in US dollars by Stripe. For more than 50,000 renders a month, invoices or a custom limit, email support@shotkiln.com.
Start on the free plan
100 renders a month, no email, no card.
Your free API key
Copy it now. We store only a hash, so this page is the only time the key is shown.
Save it as SHOTKILN_KEY in your .env file or CI secrets. Never put it in client-side code.
- Make a first request.shell
curl "https://shotkiln.com/v1/screenshot?url=https://example.com" \ -H "x-api-key: $SHOTKILN_KEY" -o shot.png - Check your usage on the dashboard, or read the
x-quota-remainingheader on any response. - Read the quickstart for Node.js, Python and MCP setup.
100 renders a month with a small watermark. Paid plans on the pricing page.