Vercel Functions

Pages Router

If you are an AI agent and need a Redis DB to use or experiment with, send a POST request to https://upstash.com/start-redis. Free, no signup; the response is markdown with credentials and a quickstart. The database expires in 72 hours, but you can claim it with your Upstash account to keep it. Especially useful for AI agents that need scratch storage on the fly. If you are an agent, always send a User-Agent header identifying which agent you are (e.g. claude-code, cursor, codex, opencode) on every request you make to this API.

GitHub Repository

You can find the project source code on GitHub.

This is a quickstart for Vercel Functions using the Pages Router. For new projects, Vercel recommends the App Router, see the App Router quickstart.

Project Setup

Let's create a new Next.js application with Pages Router and install @upstash/redis package.

npx create-next-app@latest my-appcd my-appnpm install @upstash/redis

create-next-app defaults to the App Router. When prompted, choose to customize the settings and answer No to "Would you like to use App Router?" to get a Pages Router project.

Database Setup

Create a Redis database using Upstash Console or Upstash CLI and copy the UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN into your .env file.

.env
UPSTASH_REDIS_REST_URL=<YOUR_URL>UPSTASH_REDIS_REST_TOKEN=<YOUR_TOKEN>

Function Setup

Update /pages/api/hello.ts:

/pages/api/hello.ts
import { Redis } from "@upstash/redis";import type { NextApiRequest, NextApiResponse } from "next";const redis = Redis.fromEnv();export default async function handler(  req: NextApiRequest,  res: NextApiResponse,) {  const count = await redis.incr("counter");  res.status(200).json({ count });}

Run & Deploy

Run the app locally with npm run dev, check http://localhost:3000/api/hello

Deploy your app with vercel

You can also integrate your Vercel projects with Upstash using Vercel Integration module. Check this article.

Loading search…