Typescript
Get Started
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.
@upstash/redis is written in Deno and can be imported from
deno.land
import { Redis } from "https://deno.land/x/upstash_redis/mod.ts";We transpile the package into an npm compatible package as well:
npm install @upstash/redisyarn add @upstash/redispnpm add @upstash/redisBasic Usage:
import { Redis } from "@upstash/redis"const redis = new Redis({ url: <UPSTASH_REDIS_REST_URL>, token: <UPSTASH_REDIS_REST_TOKEN>,})// stringawait redis.set('key', 'value');let data = await redis.get('key');console.log(data)await redis.set('key2', 'value2', {ex: 1});// sorted setawait redis.zadd('scores', { score: 1, member: 'team1' })data = await redis.zrange('scores', 0, 100 )console.log(data)// listawait redis.lpush('elements', 'magnesium')data = await redis.lrange('elements', 0, 100 )console.log(data)// hashawait redis.hset('people', {name: 'joe'})data = await redis.hget('people', 'name' )console.log(data)// setsawait redis.sadd('animals', 'cat')data = await redis.spop('animals', 1)console.log(data)