Pricing
One credit per render
Cache hits are free. Failed renders are refunded. Credits from one-off packs never expire. No per-seat pricing, no annual contract, no sales call.
free
$0
100 renders a month, per key, reset on the 1st.
- — All three endpoints
- — 30 requests / minute
- — Content cache and ETags
- — No card, ever
starter-5k
$9
One-off pack of 5,000 renders. Credits never expire.
- — 5,000 credits
- — $1.80 per 1,000 renders
- — 120 requests / minute
- — Credits never expire
pro-monthly
$19/mo
25,000 renders a month, higher rate limit, priority queue slot.
- — 25,000 credits / month
- — $0.76 per 1,000 renders
- — 300 requests / minute
- — Cancel from the billing portal
scale-monthly
$79/mo
200,000 renders a month for production workloads.
- — 200,000 credits / month
- — $0.40 per 1,000 renders
- — 1,200 requests / minute
- — Cancel from the billing portal
selfhost-license
$149
Run Shotbolt on your own box. Source, Dockerfile, unlimited renders, one year of updates.
- — 60 requests / minute
- — Unlimited renders, your hardware
- — Source, Dockerfile, deploy guide
- — One year of updates
Checkout is not switched on yet
No payment gateway has keys in this deployment, so the buy buttons are deliberately dead rather than broken. Fill in STRIPE_SECRET_KEY (or Mercado Pago, Kiwify or Hotmart) in .env and the buttons wake up on the next docker compose up -d. The free tier works regardless.
What counts as a render
A credit is spent when Chromium actually opens a page and gives us bytes. That is the only thing that costs us money, so it is the only thing we charge for.
Not charged: cache hits, 304s, 401s, 402s, 429s, parameter errors, timeouts, dead targets, and anything that returns a 5xx. If the bytes did not arrive, the credit goes back the same second.
The headers on every response say exactly what happened — x-shotbolt-cache and x-shotbolt-credits-charged — so you can reconcile your bill against your own logs.
Questions people actually ask
- Do credits expire?
- Pack credits do not. Subscription credits are granted on each renewal and are meant to be used that month.
- What happens when I run out?
- A 402 with a clear message. Renders stop; nothing silently bills you.
- Can I self-host it?
- Yes — the self-host license is the whole repository, Dockerfile included. One box, unlimited renders.
- Is there a free trial of the paid tiers?
- The free tier is the trial. It is the same engine, the same limits per request, and it does not expire.