API reference · Live events

Get the calendar

GET/v1/calendar

Live and upcoming events for the next days, with their sources, markets, speaker keys and rights.

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).

Parameters

Query parameters

NameTypeRequiredDescription
daysintegernoHow many days ahead. 1 to 90. Default 7.
limitintegernoPage size. 1 to 1000. Default 200.

Request

Terminal
curl "https://api.langbot.ai/v1/calendar?days=2&limit=1"

Response

200 OK

JSON
{
  "ts": 1793685876387,
  "days": 2,
  "count": 1,
  "events": [
    {
      "id": "ev_kxwhpressbriefing",
      "title": "Who will attend a White House Press Briefing in 2026?",
      "kind": "other",
      "starts_at": 1767898800000,
      "ends_at": 1798779540000,
      "status": "scheduled",
      "meta": {
        "venue": "kalshi",
        "window": true,
        "company": null,
        "category": "Politics",
        "sub_title": "Before 2027",
        "date_known": true,
        "time_known": false,
        "speaker_key": "whpressbriefing",
        "timing_note": "window market",
        "event_ticker": "KXWHPRESSBRIEFING",
        "market_count": 10,
        "series_title": "Who will attend a White House Press Briefing?",
        "series_ticker": "KXWHPRESSBRIEFING",
        "settlement_sources": ["The New York Times", "the Associated Press"]
      },
      "speaker_keys": [],
      "rights": "public_domain",
      "sources": [
        {
          "id": "src_kxwhpressbriefing_whitehouse_youtube_live",
          "event_id": "ev_kxwhpressbriefing",
          "kind": "hls",
          "expected_latency_ms": 20000,
          "status": "planned",
          "rights": "public_domain",
          "retention_days": 30
        }
      ],
      "markets": [
        {
          "ticker": "KXWHPRESSBRIEFING-TGAB",
          "venue": "kalshi",
          "event_id": "ev_kxwhpressbriefing",
          "title": "Will Tulsi Gabbard attend any White House press briefing which takes place in the James S. Brady Press Briefing Room?",
          "rules_text": "If Tulsi Gabbard attends any White House press briefing which takes place in the James S. Brady Press Briefing Room after Issuance and before 2027, then the…",
          "phrases": ["tulsi gabbard"],
          "status": "open",
          "close_ts": 1798779540000
        },
        {
          "ticker": "KXWHPRESSBRIEFING-BJOH",
          "venue": "kalshi",
          "event_id": "ev_kxwhpressbriefing",
          "title": "Will Benny Johnson attend any White House press briefing which takes place in the James S. Brady Press Briefing Room?",
          "rules_text": "If Benny Johnson attends any White House press briefing which takes place in the James S. Brady Press Briefing Room after Issuance and before 2027, then the…",
          "phrases": ["benny johnson"],
          "status": "open",
          "close_ts": 1798779540000
        }
      ],
      "phrases": ["ben shapiro", "benny johnson"]
    }
  ]
}

A real response from the API; long lists are cut to their first items.

Errors

StatuscodeWhen
401token_invalidA token was sent and not recognised. Send a valid one, or none to call anonymously.
422validation_errorA parameter failed validation; detail[].loc names it.
429rate_limitedOver your request budget; wait Retry-After seconds.

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