Python

Getting 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.

Install

PyPI

pip install upstash-redis

Usage

To be able to use upstash-redis, you need to create a database on Upstash and grab UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN from the console.

# for sync clientfrom upstash_redis import Redisredis = Redis(url="UPSTASH_REDIS_REST_URL", token="UPSTASH_REDIS_REST_TOKEN")# for async clientfrom upstash_redis.asyncio import Redisredis = Redis(url="UPSTASH_REDIS_REST_URL", token="UPSTASH_REDIS_REST_TOKEN")

Or, if you want to automatically load the credentials from the environment:

# for sync usefrom upstash_redis import Redisredis = Redis.from_env()# for async usefrom upstash_redis.asyncio import Redisredis = Redis.from_env()

If you are in a serverless environment that allows it, it's recommended to initialise the client outside the request handler to be reused while your function is still hot.

Running commands might look like this:

from upstash_redis import Redisredis = Redis.from_env()def main():  redis.set("a", "b")  print(redis.get("a"))# or for async context:from upstash_redis.asyncio import Redisredis = Redis.from_env()async def main():  await redis.set("a", "b")  print(await redis.get("a"))
Loading search…