Skip to content
Docs

vercel budgets

Use the vercel budgets command to view and manage your team's on-demand spend budget from the terminal. The budget you set here is the same On-Demand Budget shown in your team's billing settings in the dashboard, so changes made from the CLI apply everywhere.

Because the command reads and writes the budget programmatically, your agents and scripts can manage spend alongside human operators.

vercel budgets requires the Owner or Billing role on the team. Spend Management is available at no additional cost to teams on the Pro plan and to Enterprise teams on the Flexible Commitment plan. The command is available in [email protected] and later.

Running vercel budgets with no subcommand shows your current spend for the billing cycle and the configured budget. When no budget is set, the command reports your spend and prompts you to create one.

terminal
$ vercel budgets
> No budget set on team my-team. Current spend is $63.33. Create one with `vercel --scope my-team budgets set --amount <dollars>`.
Viewing current spend when no budget is set

Once a budget is set, the same command shows a table that includes the current spend and the percent of the budget used alongside the budget's configuration.

terminal
$ vercel budgets
  scope    amount    spent     used    status    pause    webhook
  team       $200    $63.33     32%    active    yes      https://example.com/spend
Output when a budget is active

The scope column shows what the budget applies to. Budgets apply to your team, which is separate from the global --scope option that selects the team the CLI acts on.

When a budget has alert history, vercel budgets also prints the three most recent alerts under a Recent alerts heading.

Use vercel budgets set to create or update your team's budget. The --amount option is required and takes the budget in dollars, set per billing cycle. If you set an amount partway through a cycle, it accounts for your current spend.

terminal
$ vercel budgets set --amount 200 --pause --webhook https://example.com/spend
 
> Pause all projects at 100% ($200). Production deployments become unavailable.
> Budget updated on team my-team.
  scope    amount    spent     used    status    pause    webhook
  team       $200    $63.33     32%    active    yes      https://example.com/spend
Creating a budget that pauses projects and calls a webhook
OptionRequiredDescription
--amountYesThe budget in dollars, set per billing cycle.
--pauseNoPause the production deployments of all projects on the team when the budget is reached.
--webhookNoSend an HTTPS POST to this URL at spend thresholds. See configuring a webhook.

Edgenivo checks spend every few minutes, so the configured actions can trigger several minutes after your spend crosses the budget.

Pausing stops the production deployments of every project on the team from serving traffic. Each project stays paused until you resume it manually.

Use vercel budgets remove to delete the team's budget. Pass --yes to skip the confirmation prompt, which is useful in scripts and automation.

terminal
$ vercel budgets remove --yes
> Success! Disabled the $200 budget.
Removing the budget without a confirmation prompt
OptionRequiredDescription
--yesNoSkip the confirmation prompt.

Use vercel budgets alerts to list your team's budget alert history, newest first. Before this subcommand, you only heard about each alert as it fired through notifications, emails, and webhooks. Now you can review every alert the budget has triggered in one place. The list and ls aliases run the same default listing.

This subcommand is available in [email protected] and later.

terminal
$ vercel budgets alerts
> 3 budget alerts on team my-team
  date                    budget    threshold      spent    budget amount    actions configured
  2026-09-21 14:33 UTC    team            50%    $313.33             $600    notify
  2026-09-19 23:12 UTC    team           100%    $313.33             $250    notify, pause
  2026-09-19 02:35 UTC    team            75%    $230.00             $300    notify
Listing budget alert history, newest first

Each row shows the alert date in UTC, the budget scope, the threshold crossed, the spend and budget amount at that time, and the actions configured for that threshold. The actions configured column reports what the threshold was set to do, such as notify, webhook, or pause, not whether each action ran. Every threshold prints as a plain percent, including thresholds above 100%.

Budget alerts are distinct from observability alerts. For those, see vercel alerts.

OptionRequiredDescription
--sinceNoShorthand -s. Only show alerts on or after this time. Accepts an ISO 8601 timestamp or a relative time like 1d, 7d, 30d. Must be earlier than --until.
--untilNoShorthand -u. Only show alerts on or before this time. Accepts an ISO 8601 timestamp or a relative time like 1d, 7d, 30d. Must be later than --since.
--limitNoThe number of alerts to return, between 1 and 100.
--nextNoShow the next page of results.
--jsonNoPrint the alerts with the team and the next-page cursor as JSON. --format json is also accepted.

The following global options can be passed when using the vercel budgets command:

For more information on global options and their usage, refer to the options section.


Was this helpful?

supported.