# List venues

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

`GET /v1/venues`

Every prediction venue Langbot records on one clock, what is recorded from each, and whether your account can read it.

**Auth.** None. Without a token the call is served as Free (the Free delay and request budget, shared per IP); send `Authorization: Bearer lb_…` for your plan's.

**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/venues"
```

**Python**

```python
from langbot import LangbotClient

async with LangbotClient() as lb:
    for v in await lb.venues():
        print(v.venue, v.money, v.readable, v.open_markets)
```

**TypeScript**

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

const lb = new LangbotClient();
const { venues } = await lb.venues();
```

## Response

`200 OK`

```json
{
  "count": 2,
  "counted_at": 1794114000000,
  "venues": [
    { "venue": "kalshi", "name": "Kalshi", "kind": "prediction", "money": "real", "play_money": false, "rights": "venue_public", "served": true, "readable": true, "data": ["markets", "book", "trades", "candles"], "ticker_prefix": "", "terms_url": null, "note": null, "open_markets": 182000, "markets": 1460000 },
    { "venue": "manifold", "name": "Manifold Markets", "kind": "prediction", "money": "play", "play_money": true, "rights": "restricted", "served": false, "readable": false, "data": ["markets", "prices", "trades"], "ticker_prefix": "mf_", "terms_url": "https://docs.manifold.markets/terms", "note": "PLAY MONEY (mana; not redeemable for cash). AMM probability, no order book", "open_markets": 34000, "markets": 34500 }
  ]
}
```

`served` says whether customers can read a venue's markets under its terms; `readable` whether your call can. Venues that are recorded but not served are listed so you know they exist; their markets are not returned by [List markets](https://langbot.ai/docs/api/markets/list-public-markets) or any other endpoint. `money` is `real`, `play` (Manifold: mana is not cash) or `points`. `ticker_prefix` is how that venue's tickers start (`pm_` Polymarket; Kalshi tickers have none). Counts are refreshed every 10 minutes.

## Errors

| Status | `code` | When |
|---|---|---|
| 401 | `token_invalid` | A token was sent and not recognised. Send a valid one, or none to call anonymously. |
| 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).
