API reference · Markets

Get a market brief

GET/v1/markets/{ticker}/brief

Everything Langbot holds on one market that settles on what is said, every block labelled as a fact or as context.

On this page

Auth. An API token: Authorization: Bearer lb_… (create one). Signed-in web sessions work too.

Limits. One history query per call (500 a day on Free; unlimited on Builder and Standard). Served at your plan's delay (+60 s Free, +10 s Builder, +2 s Standard).

Parameters

Path parameters

NameTypeRequiredDescription
tickerstringyesThe venue ticker or pm_<id>.

Request

Terminal
curl "https://api.langbot.ai/v1/markets/KXEARNINGSMENTIONNVDA-26OCT-BLACKWELL/brief" \
  -H "Authorization: Bearer $LANGBOT_API_TOKEN"

Response

200 OK

JSON
{
  "v": 1,
  "report": "brief",
  "ticker": "KXEARNINGSMENTIONNVDA-26OCT-BLACKWELL",
  "market": {
    "label": "the market as the venue publishes it",
    "ticker": "KXEARNINGSMENTIONNVDA-26OCT-BLACKWELL",
    "venue": "kalshi",
    "event_id": "ev_nvda_q3_2026",
    "title": "Will NVIDIA say \"Blackwell\" on its Q3 earnings call?",
    "phrases": ["blackwell"],
    "status": "open",
    "book": { "label": "context: the venue's latest prices", "ts": 1760050100000, "yes_bid": 0.91, "yes_ask": 0.93 }
  },
  "event": { "label": "the event that settles this market", "id": "ev_nvda_q3_2026", "status": "live", "rights": "restricted", "sources": [] },
  "facts": [
    { "id": "evt_01J9ABCDEFGHJKMNPQRSTVWXYZ", "phrase": "blackwell", "speaker": { "role": "SPK_1", "name": null, "confidence": 0.91 }, "t_spoken": 1760050123412, "receipt": { "hash": "5d0e05c3…", "chain_seq": 48213, "url": "/v1/receipts/evt_01J9ABCDEFGHJKMNPQRSTVWXYZ" } }
  ],
  "facts_count": 1,
  "history": { "label": "context, not a prediction", "speaker": "huang", "phrase": "blackwell", "base_rate": { "markets": 4, "yes": 4, "no": 0, "void": 0, "yes_rate": 1.0 }, "last_outcomes": [] },
  "related": { "label": "context: other open markets, not facts about this one", "same_event": [], "same_speaker": [] },
  "listening": { "subscribed": false, "subscription_ids": [], "webhook": false },
  "rights": "restricted",
  "delay_ms": 10000,
  "generated_at": 1760050130000
}

facts are only the phrase hits heard on the market's own event, newest first (up to 50), never the surrounding text. Everything else is labelled context. The venue settles the market; nothing here is a verdict.

Errors

StatuscodeWhen
404not_foundNo market with that ticker.
401auth_requiredNo token was sent.
401token_invalidThe token was not recognised (mistyped, revoked or expired).
422validation_errorA parameter failed validation; detail[].loc names it.
429quota_exceededToday's history queries are spent; quota.resets_at says when they reset.
429rate_limitedOver your request budget; wait Retry-After seconds.

Every error body is {"detail": …, "code": "…"}; branch on code. All codes: Errors.