vercel httpstat
The vercel httpstat command is currently in beta. Features and behavior may change.
The vercel httpstat command works like httpstat, but automatically handles deployment protection bypass tokens for you. It provides visualization of HTTP timing statistics, showing how long each phase of an HTTP request takes. When your project has Deployment Protection enabled, this command lets you test protected deployments without manually managing bypass secrets.
The command runs the httpstat tool with the same arguments you provide, but adds an x-vercel-protection-bypass header with a valid token. This makes it simple to measure response times, analyze performance bottlenecks, or debug latency issues on protected deployments.
This command is available in Vercel CLI v48.9.0 and later. If you're using an older version, see Updating Vercel CLI.
vercel httpstat [path]Using the vercel httpstat command to visualize HTTP
timing statistics for a deployment.
Get timing statistics for your production deployment:
vercel httpstat /api/helloGetting timing statistics for the /api/hello
endpoint on your production deployment.
Analyze timing for a POST request with JSON data:
vercel httpstat /api/users -X POST -H "Content-Type: application/json" -d '{"name":"John"}'Measuring timing statistics for a POST request that creates a new user.
Test timing for a specific deployment by its URL:
vercel httpstat /api/status --deployment https://my-app-abc123.vercel.appAnalyzing timing for a specific deployment instead of the production deployment.
Run multiple requests to get average timing statistics:
vercel httpstat /api/data -n 10Running 10 requests to get more reliable timing data.
When you run vercel httpstat:
- The CLI finds your linked project (or you can specify one with
--scope) - It gets the latest production deployment URL (or uses the deployment you specified)
- It retrieves or generates a deployment protection bypass token
- It runs the
httpstattool with the bypass token in thex-vercel-protection-bypassheader - The tool displays a visual breakdown of request timing phases: DNS lookup, TCP connection, TLS handshake, server processing, and content transfer
The command requires httpstat to be installed on your system.
These are options that only apply to the vercel httpstat command.
The --deployment option, shorthand -d, lets you specify a deployment URL to request instead of using the production deployment.
vercel httpstat /api/hello --deployment https://my-app-abc123.vercel.appUsing the --deployment option to target a specific
deployment.
The --protection-bypass option, shorthand -b, lets you provide your own deployment protection bypass secret instead of automatically generating one. This is useful when you already have a bypass secret configured.
vercel httpstat /api/hello --protection-bypass your-secret-hereUsing the --protection-bypass option with a manual
secret.
You can also use the VERCEL_AUTOMATION_BYPASS_SECRET environment variable:
export VERCEL_AUTOMATION_BYPASS_SECRET=your-secret-here
vercel httpstat /api/helloSetting the bypass secret as an environment variable.
The httpstat tool displays timing information in a visual format:
- DNS Lookup: Time to resolve the domain name
- TCP Connection: Time to establish a TCP connection
- TLS Handshake: Time to complete the SSL/TLS handshake (for HTTPS)
- Server Processing: Time for the server to generate the response
- Content Transfer: Time to download the response body
Each phase is color-coded and displayed with its duration in milliseconds, helping you identify which part of the request is taking the most time.
Make sure httpstat is installed on your system:
# Install with pip (Python)
pip install httpstat
# Or install with Homebrew (macOS)
brew install httpstatInstalling httpstat on different systems.
Make sure you're in a directory with a linked Vercel project and that the project has at least one deployment:
# Link your project
vercel link
# Deploy your project
vercel deployLinking your project and creating a deployment.
If automatic token creation fails, you can create a bypass secret manually in the Vercel Dashboard:
- Go to your project's Settings → Deployment Protection
- Find "Protection Bypass for Automation"
- Click "Create" or "Generate" to create a new secret
- Copy the generated secret
- Use it with the
--protection-bypassflag orVERCEL_AUTOMATION_BYPASS_SECRETenvironment variable
When using --deployment, verify that:
- The deployment ID or URL is correct
- The deployment belongs to your linked project
- The deployment hasn't been deleted
The following global options can be passed when using the vercel httpstat command:
For more information on global options and their usage, refer to the options section.
Was this helpful?