---
title: How to Setup Cron Jobs on Vercel
description: Learn how to setup and use cron jobs on Vercel
url: /kb/guide/how-to-setup-cron-jobs-on-vercel
canonical_url: "https://vercel.com/kb/guide/how-to-setup-cron-jobs-on-vercel"
published: 2025-11-03
last_updated: 2026-07-16
authors: Rich Haines
related:
  - /docs/cron-jobs
  - /docs/concepts/functions/serverless-functions
  - /docs/concepts/functions/edge-functions
  - /docs/concepts/functions/serverless-functions/quickstart
  - /docs/concepts/functions/edge-functions/quickstart
  - /docs/concepts/deployments/environments
  - /docs/concepts/deployments/preview-deployments
  - /docs/concepts/deployments/overview
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---
<!-- docsgraph:related -->
## Related pages

> **For AI agents:** Follow these links to understand how this page connects to the rest of the Vercel ecosystem. For the full cross-link map (inbound, outbound, prerequisites, and semantic neighbors), see the .graph.md link below.

- [Getting Started](https://vercel.com/docs/cron-jobs/quickstart?from=related) — Learn how to schedule cron jobs to run at specific times or intervals.
- [Managing Cron Jobs](https://vercel.com/docs/cron-jobs/manage-cron-jobs?from=related) — Learn how to manage Cron Jobs effectively in Vercel. Explore cron job duration, error handling, deployments, concurrency
- [vercel crons](https://vercel.com/docs/cli/crons?from=related) — Manage Cron Jobs from the Vercel CLI: add cron entries to your vercel.json, list them, and trigger them on demand.
- [Usage & Pricing](https://vercel.com/docs/cron-jobs/usage-and-pricing?from=related) — Learn about cron jobs usage and pricing details.
- [Rust](https://vercel.com/docs/functions/runtimes/rust?from=related) — Build fast, memory-safe serverless functions with Rust on Vercel.
- [Troubleshooting Vercel Cron Jobs](https://vercel.com/kb/guide/troubleshooting-vercel-cron-jobs?from=related) — Learn how to troubleshoot cron jobs that aren't being run or logged when using Vercel Cron Jobs.
- [How to Deploy a Brunch App with Vercel](https://vercel.com/kb/guide/deploying-brunch-with-vercel?from=related) — Create a Brunch app and deploy it live with Vercel.
- [Migrate a TanStack Start app from Cloudflare to Vercel](https://vercel.com/kb/guide/migrate-a-tanstack-start-app-from-cloudflare-to-vercel?from=related) — Move your TanStack Start app off Cloudflare Workers and onto Vercel Functions, where Fluid compute scales it automatical

Full cross-link map for this page: [/kb/guide/how-to-setup-cron-jobs-on-vercel.graph.md](/kb/guide/how-to-setup-cron-jobs-on-vercel.graph.md)
<!-- /docsgraph:related -->


Cron jobs are time-based scheduling tools used to automate repetitive tasks. By using a specific syntax called a [cron expression](https://vercel.com/docs/cron-jobs#cron-expressions), you can define the frequency and timing of each task. This helps improve efficiency and ensures that important processes are performed consistently.

Vercel supports cron jobs for [Serverless](https://vercel.com/docs/concepts/functions/serverless-functions) and [Edge](https://vercel.com/docs/concepts/functions/edge-functions) Functions. This guide will show you how to create your first cron job. Alternatively, you can [start from a template](https://vercel.com/templates/next.js/vercel-cron).

## Create a cron job

The following steps will demonstrate how to create a cron job on Vercel that executes every day at 5 am UTC.

### Create a function

First, create a [Serverless](https://vercel.com/docs/concepts/functions/serverless-functions/quickstart#create-a-serverless-function) or [Edge](https://vercel.com/docs/concepts/functions/edge-functions/quickstart#create-an-edge-function) Function for your project. The function will be called every time the cron job is triggered.

### Create or update your `vercel.json` file

Go to your `vercel.json` file and add the following code:

```json
{
  "crons": [
    {
      "path": "/api/cron",
      "schedule": "0 5 * * *"
    }
  ]
}
```

- The `path` must start with `/`
  
- The `schedule` property must be a string that represents a [cron expression](https://vercel.com/docs/cron-jobs#cron-expressions). In this example, the job is scheduled to execute every day at 5:00 am UTC
  

### Deploy your project

Once your project is deployed on Vercel, our build process will create the cron job. Cron jobs are invoked only for [production](https://vercel.com/docs/concepts/deployments/environments#production) deployments. [Preview](https://vercel.com/docs/concepts/deployments/preview-deployments) deployments are ignored. You can also deploy to your production domain via [Git](https://vercel.com/docs/concepts/deployments/overview#git).

Your cron job is now active and will call the `/api/cron` path every day at 5:00 am UTC. [Learn more about cron jobs](https://vercel.com/docs/cron-jobs).

## Alternative cron providers

If you prefer using a different provider for cron jobs, the following services pair well with Vercel:

- [Upstash's QStash](https://docs.upstash.com/qstash)
  
- [Pipedream](https://pipedream.com/)
  
- [Cronhub](https://cronhub.io/)
  
- [Zeplo](https://zeplo.io/)
  
- [Mergent](https://mergent.co/)
  
- [Inngest](https://vercel.com/integrations/inngest)
  
- [Defer](https://www.defer.run)