Skip to main content

Cache keying

Results are cached for ~15 minutes, keyed on the URL together with every capture option (format, width, height, full_page, quality). Two requests for the same URL with different options are different cache entries — changing format from png to webp will not return a stale cached PNG.

Every request counts against quota

Cache hits and misses are billed the same way: a request that returns a cached image still increments used in your usage totals. The cache exists to make repeated captures fast and cheap to serve on scrnshot’s end, not to give you free requests. The response tells you which case you hit:

Forcing a fresh render

Pro plans can set fresh: true to skip the cache entirely and force a new render, useful for pages that change frequently (dashboards, live data, anything time-sensitive). Free plans cannot bypass the cache — fresh: true on Free returns 400.

Retention vs. caching

Don’t confuse the ~15-minute result cache with image retention — they’re different windows. Retention is how long the stored image stays available at its image_url after capture (7 days on Free, 30 days on Pro); caching is how long a request can be served without re-rendering. See Plans & limits for retention details.