Caching

Free repeat captures, and what makes two requests identical.

cache=true stores the result and serves it again for cache_ttl seconds (default 4 hours, maximum 30 days).

Cache hits are never charged. The response carries X-PageCapture-Cache: HIT.

What makes the key

Everything that changes the output: the input, viewport, format, actions, blockers, waits, metadata flags, and the engine version. Cookies and headers enter as a cryptographic hash, so two sessions never collide while their values stay out of the key.

What is excluded, because it does not change a pixel: webhook_url, external_identifier, attachment_name, response_type and the storage destination.

The key is also namespaced per organization and derived under a server-side secret. Cache is never shared between organizations — a capture of an authenticated page must never reach another customer.

cache_key lets you supply your own key when you want two differently-specified requests to share a result deliberately.

Engine upgrades

The engine version is part of the key. When Chromium is upgraded, old entries stop matching instead of serving you a capture rendered by a different browser.