Reference
3 min read

Usage & Pricing for Functions

Learn about usage and pricing for Vercel Functions.
Table of Contents

Functions using the Node.js runtime are measured in GB-hours, which is the memory allocated for each Function in GB, multiplied by the time in hours they were running. For example, a function configured to use 3GB of memory that executes for 1 second, would be billed at 3 GB-s, requiring 1,200 executions to reach a full GB-Hr.

Functions using the edge runtime are measured in the number of execution units, which are the amount of CPU time — or time spent performing calculations — used when a function is invoked. CPU time does not include idle time spent waiting for data fetching.

A function can use up to 50 ms of CPU time per execution unit. If a function uses more than 50 ms, it will be divided into multiple 50 ms units for billing purposes.

See viewing function usage for more information on how to track your usage.

This section details our improved infrastructure pricing. On April 25, 2024, these changes will apply to all new Pro customers. Starting May 25, 2024, current Pro customers will see these changes take effect on their next billing cycle. The Hobby tier remains free.

The following table outlines the price for each resource according to the plan you are on, and the runtime your function is using.

Vercel Functions are available for free with the included usage limits. If you exceed the included usage and are on the Pro plan, you will be charged for the additional usage according to the on-demand costs:

Managed Infrastructure hobby and pro resources
Resource
Hobby Included
Pro Included
Pro Additional
Pro Price
First 100 GB-HoursFirst 1,000 GB-Hours1 GB-Hour$0.18
First 100,000First 1,000,0001,000,000 Invocations$0.60
Managed Infrastructure hobby and pro resources
Resource
Hobby Included
Pro Included
Pro Additional
Pro Price
First 500,000First 1,000,0001,000,000 Execution Units$2.00
First 100,000First 1,000,0001,000,000 Invocations$0.60

Vercel will send you emails as you are nearing your usage limits. On the Hobby plan you will not pay for any additional usage. However, your account may be paused if you do exceed the limits.

When your Hobby account is set to paused, it remains in this state indefinitely unless you take action. This means all new and existing deployments will be paused.

If you have reached this state, your application is likely a good candidate for a Pro account.

To unpause your account, you have two main options:

  • Contact Support: You can reach out to our support team to discuss the reason for the pause and potential resolutions
  • Transfer to a Pro team: If your Hobby account is paused, you won't have the option to initiate a Pro trial. Instead, you can set up a Pro team:
    1. Create a Pro team account
    2. Add a valid credit card to this account. Select the Settings tab, then select Billing and Payment Method

Once set up, a transfer modal will appear, prompting you to transfer your previous Hobby projects to this new team. After transferring, you can continue with your projects as usual.

For teams on a Pro trial, the trial will end when your team reaches the trial limits.

Once your team exceeds the included usage, you will continue to be charged the on-demand costs going forward.

Pro teams can set up Spend Management to get notified or to automatically take action, such as using a webhook or pausing your projects when your usage hits a set spend amount.

Enterprise agreements provide custom usage and pricing for Vercel Functions, including:

See Vercel Enterprise plans for more information.

Usage metrics can be found in the Usage tab on your dashboard. Functions are invoked for every request that is served.

You can see the usage for functions using the Node.js runtime on the Serverless Functions section of the Usage tab.

Manage and Optimize pricing
Metric
Description
Priced
Optimize
Function InvocationsThe number of times your Functions have been invokedYesLearn More
Function DurationThe time your Serverless Functions have spent responding to requestsYesLearn More
ThrottlesInstances where requests to Functions are not served due to concurrency limitsNoN/A

You can see the usage for functions using the edge runtime on the Edge Functions section of the Usage tab. The dashboard tracks the usage values:

Manage and Optimize pricing
Metric
Description
Priced
Optimize
InvocationsThe number of times your Functions have been invokedYesLearn More
Execution UnitsThe number of execution units that your Edge Functions have used. An execution unit is 50 ms of CPU time.YesLearn More
CPU TimeThe time your Edge Functions have spent computing responses to requestsNoLearn more
Last updated on April 27, 2024