This page outlines all relevant limits and limitations present when using the Vercel platform.

Note: If your project is likely to exceed these limits, please contact Vercel Support to discuss an increase.

General Limits

To prevent abuse of our platform, we apply the following limits to all accounts.

Deployments (per day)
Serverless Functions per Deployment
Serverless Functions per Month
Serverless Function Duration (Seconds)
Deployments created from CLI per week
Team members per Team
Note: Next.js Static Site Generation and Next.js Preview Serverless Functions are excluded from the count for "Serverless Functions per Deployment".


All log types - Build Time, Edge Network, and Runtime - have differing behavior when it comes to storing logs.

During the Build Step, all logs are stored and persisted.

For Edge Network requests, all logs are not persisted.

For Serverless Functions, only logs from failed requests are persisted.

All other logs are stored in memory only and are not persisted between page views. Each log output is limited to 4kb. For log outputs greater than 4kb per Serverless Function invocation, only the last 4kb will be retained.

Environment Variables

The maximum number of Environment Variables per Environment per Project is 100. For example, you can not have more than 100 Production Environment Variables.

Moreover, the total size of Environment Variables applied to a Deployment (including all the Environment Variables Names and Values) is limited to 4kb. Deployments made with Environment Variables exceeding the 4kb limit will fail during the Build Step.


The maximum amount of domains that can be applied to a single project is 50. If your Project requires more than 50 domains, please contact our enterprise team.


The maximum number of files that can be uploaded when making a deployment is 10,000 for source files and 16,000 for build output files.

Deployments made that contain more files than the limit will fail at the build step.

HTTP/2 Push

The Vercel platform does not currently support HTTP/2 Push.


Serverless Functions do not support WebSockets.

Instead of pushing data, you can intelligently fetch data on-demand. For example, the Vercel dashboard delivers real-time updates using SWR.

If you need persistent connections to push data to the client, consider using third party pub/sub services. See the Pusher Channels Guide for an example.


For security reasons, the Vercel platform blocks outgoing SMTP connections.

As a result of this, we recommend using a third-party service to enable email functionality for deployments.

Serverless Function Size

The maximum size for a Serverless Function is 50 MB.

You can configure functions with includeFiles and excludeFiles which may affect the function size, however the limit cannot be configured.

Serverless Function Memory

The maximum memory size for a Serverless Function deployed on a personal account (Hobby plan) is 1024 MB. For teams (Pro plan), it can be increased to up to 3008 MB.

You can use the functions property to adjust the memory size for each Serverless Function.

Serverless Function Concurrency

The maximum number of concurrent executions for a Serverless Function is 1000.

If you require a limit above 1000, you should contact our enterprise team to discuss custom limits available on an enterprise plan.

Serverless Function Payload Size Limit

The maximum payload size for the request body or the response body of a Serverless Function is 5MB.

If a Serverless Function receives a payload in excess of the limit it will return an error - 413: FUNCTION_PAYLOAD_TOO_LARGE.

Serverless Function Regions

It is possible to deploy Serverless Functions to multiple regions, however this featured is limited to paid plans.

When attempting to deploy Serverless Functions to multiple regions on the Hobby plan, the deployment will fail before entering the build step.

Streaming Responses

‚ÄčVercel does not support streaming responses from Serverless Functions due to an upstream limitation from AWS.

This means that background tasks, also known as "fire-and-forget" is not supported. Once the function returns the response payload, it stops processing including any pending background tasks.

Reserved Variables

The following environment variable names are reserved and therefore unavailable for use:

  • Names starting with VERCEL_
  • Names starting with NOW_
  • TZ

Deployments made that use any of the reserved variable names will fail at the build step.

Rate Limits

Rate limits are hard limits that apply to the platform when performing actions that require a response from an API.

The rate limits table consists of the following four columns:

  • Description - A brief summary of the limit which, where relevant, will advise what type of plan it applies to.
  • Limit - The amount of actions permitted within the amount of time (Duration) specified.
  • Duration - The amount of time (seconds) in which you can perform the specified amount of actions. Once a rate limit is hit, it will be reset after the Duration has expired.
  • Scope - Who the limit applies to, owner refers to the account owner, user refers to an individual user on a Team account.


Below are three examples that provide further information on how the rate limits work.

Domain Deletion

Taking the domains deletion rate limit as an example, you are allowed to delete up to 60 domains every 60 seconds (1 minute). Should you hit the rate limit, you will need to wait another minute before deleting another domain.

Team Deletion

With the team deletion rate limit, you are able to delete up to 20 teams every 3600 seconds (1 hour). Should you hit the rate limit, you will need to wait another hour before deleting another team.

Username Update

For the username update rate limit, you are able to change your username up to 6 times every 604800 seconds (1 week). Should you hit the rate limit, you will need to wait another week before changing your username again.