Server
--server runs zshot as an HTTP server instead of rendering a single capture. It binds 127.0.0.1:3000 by default; set --server-bind-address and --server-bind-port to change that. To reach the server from another host or a container, bind 0.0.0.0.
zshot --server --server-bind-address 0.0.0.0 --server-bind-port 3000Endpoints
GET /renders from query parameters;POST /renders from a JSON body. See the API for additional assets and theLinkheader.GET /statusreturns 200 with the current number of in-flight requests. Use it for readiness and health checks.GET /assetsserves additional artifacts referenced by the render response.GET /metricsexposes Prometheus metrics unless--server-disable-metrics-endpointis set.GET /openapi.jsonserves the OpenAPI document unless--server-disable-schema-endpointis set./swagger-uiserves interactive API docs unless--server-disable-docs-endpointis set./mcpserves the Model Context Protocol endpoint unless--server-disable-mcp-endpointis set.
Concurrency
--server-max-concurrency caps simultaneous renders. --server-queue-requests holds requests over that cap instead of rejecting them.
To run the server in Docker, see Docker.
| Flag | Description |
|---|---|
--server | Run as an HTTP server PRO |
--server-additional-asset-expiration | Lifetime in seconds for additional render assets (HAR/WARC/pprof/trace/ |
--server-basic-auth | Basic auth requirement for requests |
--server-bind-address | Bind address or path for server |
--server-bind-port | Bind port for server |
--server-disable-docs-endpoint | Disable /swagger-ui |
--server-disable-mcp-endpoint | Disable /mcp (Model Context Protocol streamable-HTTP endpoint) |
--server-disable-metrics-endpoint | Disable /metrics |
--server-disable-schema-endpoint | Disable /openapi.json |
--server-max-concurrency | Max concurrent requests ENT |
--server-queue-requests | Queue requests when at max concurrency instead of returning 429 ENT |
--server-signed-url | Require signed URLs for GET requests ENT |
--server-signed-url-max-age | Maximum age (in seconds) for signed URL expiration ENT |
--server-token-auth | Token auth requirement for requests |
--server-update-adblock-interval | Re-fetch --adblock-rules sources every N seconds in server and MCP modes ENT |
--server-update-blocklist-interval | Re-fetch --ip-blocklist sources every N seconds in server and MCP modes ENT |