> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-dx-2866-inline-start-redis-snippet.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# FastAPI

<Tip>
  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`](https://upstash.com/start-redis) — free, no signup; 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.
</Tip>

<Card title="GitHub Repository" icon="github" href="https://github.com/upstash/redis-js/tree/main/examples/fastapi" horizontal>
  You can find the project source code on GitHub.
</Card>

### Environment Setup

Install FastAPI and `upstash-redis`.

```shell theme={"system"}
pip install fastapi
pip install upstash-redis
```

### Database Setup

Create a Redis database using [Upstash Console](https://console.upstash.com) or [Upstash CLI](https://github.com/upstash/cli) and export the `UPSTASH_REDIS_REST_URL` and `UPSTASH_REDIS_REST_TOKEN` to your environment.

```shell theme={"system"}
export UPSTASH_REDIS_REST_URL=<YOUR_URL>
export UPSTASH_REDIS_REST_TOKEN=<YOUR_TOKEN>
```

### API Setup

Create `main.py`:

```py main.py theme={"system"}
from fastapi import FastAPI

from upstash_redis import Redis

app = FastAPI()

redis = Redis.from_env()

@app.get("/")
def read_root():
    count = redis.incr('counter')
    return {"count": count}
```

### Run

Run the app locally with `fastapi dev main.py`, check `http://127.0.0.1:8000/`
