DEV Community

Cover image for How to Run Cron Jobs in a Vercel Serverless Environment (Without Paying Extra)
HexShift
HexShift

Posted on

How to Run Cron Jobs in a Vercel Serverless Environment (Without Paying Extra)

Running scheduled tasks in a serverless environment like Vercel might seem challenging, especially since Vercel doesn’t have built-in cron job support. But with a clever combination of Vercel’s edge functions, GitHub Actions, or external schedulers like Upstash or cron-job.org, you can run cron jobs completely for free and reliably.

Why Use Cron Jobs on Vercel?

  • Perform background maintenance (e.g. data cleanup, backups)
  • Trigger API calls or workflows at fixed intervals
  • Run periodic scripts in a cost-effective and scalable way

Method 1: Using GitHub Actions (Free and Serverless)

This method uses GitHub Actions to ping a deployed Vercel edge function or API route on a schedule.

Step 1: Create Your Vercel API Route

// /api/scheduled-task.js export default async function handler(req, res) { // Your scheduled logic here console.log("Scheduled task triggered"); res.status(200).json({ message: "Task complete" }); } 

Step 2: Add GitHub Action to Trigger the API

# .github/workflows/cron.yml name: Trigger Vercel Cron on: schedule: - cron: '*/30 * * * *' # every 30 minutes jobs: ping-vercel: runs-on: ubuntu-latest steps: - name: Curl scheduled endpoint run: curl https://your-vercel-app.vercel.app/api/scheduled-task 

Method 2: Using Upstash Scheduler (Also Free)

Upstash provides a free cron-based HTTP scheduler. It's simple and works great with serverless endpoints.

  1. Create an account at Upstash Scheduler
  2. Set up a cron rule pointing to your Vercel API route

That’s it — no infra required!

Pros and Cons

✅ Pros

  • Entirely free setup with Vercel + GitHub or Upstash
  • No infrastructure or servers needed
  • Scales perfectly with Vercel's edge/runtime

⚠️ Cons

  • GitHub Actions have cold starts; not precise for real-time events
  • External schedulers mean slight external dependencies

🚀 Alternatives

  • cron-job.org: Free public HTTP scheduler, no login required
  • Trigger.dev: Self-hostable advanced cron/scheduler

Conclusion

You don’t need expensive services or persistent infrastructure to run cron jobs on Vercel. Whether using GitHub Actions, Upstash, or other HTTP-based solutions, you can build reliable scheduled tasks while keeping your setup clean, fast, and entirely free.

If this helped you or saved you money, support future content: buymeacoffee.com/hexshift

Top comments (0)