# List bots

Source: https://langbot.ai/docs/api/bots/list-bots

`GET /v1/bots`

Your bots, newest first, with their status and your plan's bot allowance.

**Auth.** An account token (`Authorization: Bearer lb_…`) or a signed-in web session. A report-only token (`lbr_…`) is refused here with `403 scope_denied`.

**Limits.** Counts against your plan's API requests (60, 600 or 3,000 a minute on Free, Builder and Standard).

## Request

**curl**

```bash
curl "https://api.langbot.ai/v1/bots" \
  -H "Authorization: Bearer $LANGBOT_API_TOKEN"
```

**Python**

```python
from langbot import LangbotClient

async with LangbotClient() as lb:  # reads LANGBOT_API_TOKEN
    page = await lb.bots.list()
    for b in page["bots"]:
        print(b["name"], b["status"])
```

**TypeScript**

```ts
import { LangbotClient } from "@langbotai/sdk";

const lb = new LangbotClient(); // reads LANGBOT_API_TOKEN
const { bots } = await lb.bots.list();
console.log(bots.map((b) => b.status));
```

## Response

`200 OK`

```json
{
  "bots": [
    {
      "id": "bot_01M6G72RFQRQ8JGNG8T1447GGP",
      "name": "mention-sniper",
      "description": "Kalshi mention markets",
      "venues": [
        "kalshi",
        "polymarket"
      ],
      "test_run_id": null,
      "status": "ok",
      "status_reason": "last heartbeat 4 s ago",
      "created_at": 1793693147639,
      "updated_at": 1793693147639,
      "last_event_at": 1793693146653,
      "last_heartbeat_at": 1793693146653,
      "halted_at": null,
      "halt_reason": null,
      "retention_days": 90,
      "wallets": []
    }
  ],
  "limits": {
    "plan": "pro",
    "bots": 5,
    "used": 1,
    "retention_days": 90
  }
}
```

## Errors

| Status | `code` | When |
|---|---|---|
| 401 | `auth_required` | No token was sent. |
| 401 | `token_invalid` | The token was not recognised (mistyped, revoked or expired). |
| 429 | `rate_limited` | Over your request budget; wait `Retry-After` seconds. |

Every error body is `{"detail": …, "code": "…"}`; branch on `code`. All codes: [Errors](https://langbot.ai/docs/api#errors).
