API reference · 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.
On this page
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 "https://api.langbot.ai/v1/venues"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)import { LangbotClient } from "@langbotai/sdk";
const lb = new LangbotClient();
const { venues } = await lb.venues();Response
200 OK
{
"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 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.