Skip to content

Files

Latest commit

2f93092 · Mar 30, 2022

History

History
This branch is 7 commits ahead of, 578 commits behind vercel/examples:main.

api-rate-limit

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jan 12, 2022
Feb 26, 2022
Feb 26, 2022
Feb 2, 2022
Oct 25, 2021
Feb 26, 2022
Mar 30, 2022
Jan 24, 2022
Oct 25, 2021
Jan 12, 2022
Feb 26, 2022
Feb 26, 2022
Oct 25, 2021
Feb 3, 2022
Oct 25, 2021

API Rate Limiting with Upstash

This demo features API Rate limiting at the edge with Redis using Upstash.

The pattern for rate limiting is inspired by the GitHub API.

Demo

https://edge-functions-api-rate-limit.vercel.app

One-Click Deploy

Deploy the example using Vercel:

Deploy with Vercel

Getting Started

Execute create-next-app with npm or Yarn to bootstrap the example:

npx create-next-app --example https://github.com/vercel/examples/tree/main/edge-functions/api-rate-limit api-rate-limit
# or
yarn create next-app --example https://github.com/vercel/examples/tree/main/edge-functions/api-rate-limit api-rate-limit

You'll need to have an account with Upstash. Once that's done, copy the .env.example file in this directory to .env.local (which will be ignored by Git):

cp .env.example .env.local

Then open .env.local and set the environment variables to match the REST API of your database. It should look like this:

UPSTASH_REST_API_DOMAIN = "us1-shiny-firefly-12345.upstash.io"
UPSTASH_REST_API_TOKEN = "your-api-token"

Next, run Next.js in development mode:

npm install
npm run dev

# or

yarn
yarn dev