Templates
Save a capture request once
A template is a named capture request body you can load back into the playground or send straight to the API. Most real captures need more than a URL — a viewport, a selector to wait for, two banners to hide — and rebuilding that each time is where the mistakes come from.
01 · Concept
What a template actually stores
Exactly one thing: a JSON request body, the same object you would POST to /screenshot. It stores no results, no schedule and no credentials. Loading a template does not run anything — it fills in a form, or hands you a body to send.
A template is not a monitor. If you want a capture to run on a schedule and alert you when the page changes, that is Monitors. A template is the request; a monitor is the recurrence.
02 · Create
Two ways to make one
From the playground
Build the request with the controls, run it until the result is what you want, then press Save as template. This is the recommended route: you are saving something you have just watched work, rather than a body you believe is correct.
By hand
New template takes a name and a JSON payload directly. Useful when you already have a working request body from your own code and want it saved alongside the others.
03 · Payload
What goes in the JSON
The payload accepts every field the capture API accepts — the OpenAPI contract is the authoritative list, and the API reference explains each one. These are the fields templates use most:
The payload is stored as written and validated only when it is run. A template naming a field your plan does not include — injectJS on a Pro account, say — saves without complaint and fails at capture time. The playground is the quickest way to prove one works.
04 · Organise
Tags, pinning and use counts
- Tags are free-text labels for filtering —
staging,competitor,nightly. They carry no behaviour. Templates saved from the playground are taggedplaygroundautomatically. - Pinning sorts a template to the top of the list. Nothing else changes.
- Use count increments when a template is loaded into the playground, not when a capture runs. It answers “which of these do I actually reach for”, which is the question worth asking before deleting any of them. Reading the list does not count as a use.
05 · Reuse
Using a template from your own code
Templates live behind your dashboard session rather than your API key, because they are account furniture rather than part of the capture contract. In a script, read the payload once and send it to the API with your key:
For anything automated, prefer copying the payload into your own source and version-controlling it there. A template is for iterating by hand; a committed request body is for production.
06 · Limits
What is bounded
These figures are read from the same constants the API validates against, so this table cannot drift from what the server enforces.