# Quickstart

This walks you through getting an API key and making your first request. It takes about two minutes.

> Using Claude Code, Cursor or Codex? Paste “Read roterminal.co/start.md and follow it.” into it, and it sets itself up. See [AI agents](/docs/agents).

## 1. Create an API key

You can call the API without a key: you get 50 calls a day for each address. A free API key gives you 200 calls a day, and your own games.

1. Open [Settings → Developer](https://roterminal.co/account/developer). Sign in if you’re asked to. It’s free.
2. Select **Create**, name it after where you’ll use it (like “My server”), and select **Create key**.
3. Copy the key. It starts with `rta_`, and it’s only shown once.

Then keep it in an environment variable, not in your code:

```bash title="Terminal"
export ROTERMINAL_API_KEY="rta_…"
```

## 2. Make a request

Ask for one game. You can name it by its universe ID or by its name.

```bash tab="cURL"
curl https://roterminal.co/api/v1/games/7436755782 \
  -H "Authorization: Bearer $ROTERMINAL_API_KEY"
```

```js tab="JavaScript"
import RoTerminal from 'roterminal'

const rt = new RoTerminal({ apiKey: process.env.ROTERMINAL_API_KEY })

const { data } = await rt.games.retrieve('grow a garden')
```

```python tab="Python"
from roterminal import RoTerminal

rt = RoTerminal()  # reads ROTERMINAL_API_KEY

data = rt.games.retrieve("grow a garden")["data"]
```

## 3. Read the answer

```json title="Response"
{
  "data": {
    "id": 7436755782,
    "name": "Grow a Garden",
    "playing_now": 20523,
    "change_24h": -8.1,
    "place_on_roblox_by_players": { "rank": 57, "of": 33681 },
    "came_out": "2025-03-25",
    "last_updated": "2026-10-19T21:28:00-04:00"
  },
  "link": "https://roterminal.co/g/7436755782",
  "as_of": "2026-10-20T11:41:00-04:00"
}
```

- Numbers are numbers. A percent is in percent: `-8.1` means down 8.1%.
- Times are ISO 8601 in New York time, with the offset. Days are `YYYY-MM-DD`.
- Every response has a `link` to the same numbers on roterminal.co. Link to it when you show them.

The response above is shortened. [Retrieve a game](/docs/api/games-retrieve) lists every field.

## 4. Install an SDK (optional)

The JavaScript SDK is typed, retries for you and works in Node 18 and up, Deno, Bun and edge runtimes.

```bash title="Terminal"
npm install roterminal
```

```js title="index.js"
import RoTerminal from 'roterminal'

const rt = new RoTerminal({ apiKey: process.env.ROTERMINAL_API_KEY })

const { data } = await rt.games.rising({ range: '7d', limit: 5 })
for (const game of data.games) console.log(game.name, game.change)
```

## Next steps

- [Build a dashboard](/docs/dashboard): a live page for your games, with AI or from a starter file.
- [API reference](/docs/api): every endpoint, its parameters and its fields.
- [Rate limits](/docs/rate-limits): calls a day, and the headers that tell you how many are left.
- [Errors](/docs/errors): what each error means and what to do.

---

RoTerminal docs: https://roterminal.co/docs/quickstart · Every page: https://roterminal.co/llms-full.txt
