DEV Community

Alex Spinov
Alex Spinov

Posted on

Vercel Has a Free Tier — Deploy Websites, Serverless Functions, and Edge APIs Without Paying

Vercel's free Hobby plan gives you unlimited deployments, serverless functions, edge middleware, and a global CDN. Deploy from Git push. No server management. No credit card required.

Get Started

  1. Sign up at vercel.com with GitHub
  2. Import a repo or create from template
  3. Every push to main = automatic deployment

1. Deploy via API

# Trigger a deployment
curl -X POST "https://api.vercel.com/v13/deployments" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-project",
    "gitSource": {
      "type": "github",
      "repo": "username/my-app",
      "ref": "main"
    }
  }'
Enter fullscreen mode Exit fullscreen mode

2. Serverless Functions (Zero Config)

Create api/hello.js in your project:

// api/hello.js — this becomes https://your-app.vercel.app/api/hello
export default function handler(req, res) {
  const { name } = req.query;
  res.status(200).json({ message: `Hello ${name || "World"}!` });
}
Enter fullscreen mode Exit fullscreen mode

That's it. Deploy and you have an API endpoint.

3. Edge Functions (Fastest Response)

// api/geo.js
export const config = { runtime: "edge" };

export default function handler(req) {
  const country = req.headers.get("x-vercel-ip-country") || "Unknown";
  const city = req.headers.get("x-vercel-ip-city") || "Unknown";

  return new Response(
    JSON.stringify({ country, city, timestamp: Date.now() }),
    { headers: { "Content-Type": "application/json" } }
  );
}
Enter fullscreen mode Exit fullscreen mode

Runs at the edge in ~50ms worldwide.

4. Python Serverless Function

# api/data.py
from http.server import BaseHTTPRequestHandler
import json

class handler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header("Content-Type", "application/json")
        self.end_headers()
        self.wfile.write(json.dumps({
            "status": "ok",
            "data": ["item1", "item2", "item3"]
        }).encode())
Enter fullscreen mode Exit fullscreen mode

5. Cron Jobs (Free)

Add to vercel.json:

{
  "crons": [
    {
      "path": "/api/daily-report",
      "schedule": "0 9 * * *"
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Your serverless function runs daily at 9 AM UTC — free on Hobby plan.

Free Tier (Hobby Plan)

Resource Limit
Deployments Unlimited
Serverless Functions 100 GB-hours/month
Edge Functions 500K invocations/month
Bandwidth 100 GB/month
Builds 6,000 minutes/month
Cron Jobs 2 per project
Team members 1 (personal)

What You Can Build

  • API backend — serverless functions as REST endpoints
  • Portfolio site — deploy Next.js/React with custom domain
  • Webhook processor — receive and process webhooks from any service
  • Scheduled tasks — cron jobs for data collection, reports, alerts
  • Edge API — ultra-fast responses from 30+ global locations
  • Full-stack app — Next.js with API routes and database connections

More Free API Articles


Need Web Data? Try These Tools

If you're building apps that need web scraping or data extraction, check out my ready-made tools on Apify Store — scrapers for Reddit, YouTube, Google News, Trustpilot, and 80+ more. No coding needed, just run and get your data.

Need a custom scraping solution? Email me at spinov001@gmail.com


More Free APIs You Should Know About

Need custom data scraping? Email me or check my Apify actors.

Top comments (0)