Skip to content

CLI reference ​

The package installs a single binary: headless-prerender.

bash
headless-prerender <command> [options]
CommandPurpose
serveStart the prerender HTTP server
render <url>Render one URL and print or save the HTML
helpPrint usage (also --help)

serve ​

Starts a long-running HTTP server.

bash
headless-prerender serve --port 3000 --cache-ttl 60000

Endpoints ​

RouteDescription
GET /render?url=<page>Returns the fully-rendered HTML of <page>
GET /healthReturns {"ok":true}

Options ​

FlagDefaultDescription
--port <n>3000TCP port to listen on
--host <host>0.0.0.0Interface to bind
--cache-ttl <ms>0In-memory cache TTL; 0 disables caching
--token <string>noneRequire this token via ?token= or x-prerender-token

Plus all common render options.

render <url> ​

Renders one page and exits.

bash
headless-prerender render https://example.com --extra-wait 500 --out page.html
FlagDefaultDescription
--out <file>stdoutWrite the HTML to a file instead of standard output

Plus all common render options.

Progress and result details are written to stderr, so --out is optional and piping the HTML on stdout stays clean:

bash
headless-prerender render https://example.com > page.html

Common render options ​

These apply to both serve and render.

FlagDefaultDescription
--timeout <ms>20000Navigation timeout
--wait-until <event>networkidle2load, domcontentloaded, networkidle0, or networkidle2
--extra-wait <ms>0Extra settle time after the page is considered loaded
--user-agent <string>Mozilla/5.0 (compatible; headless-prerender)User-Agent sent to the target page
--allow-origin <origin>noneOnly render URLs on this origin; repeatable
--executable-path <path>bundled ChromiumPath to a Chromium binary

Restricting origins ​

Pass --allow-origin more than once to allow several origins:

bash
headless-prerender serve \
  --allow-origin https://www.example.com \
  --allow-origin https://blog.example.com

Any request for a URL outside the list returns an error.

Exit codes ​

CodeMeaning
0Success
1Invalid arguments, or a render/serve error

Released under the MIT License.