API reference · Live events

List official releases

GET/v1/releases

Official US federal publications on Langbot's clock, newest first, from the Fed, BLS, BEA, Treasury, the White House and the Federal Register.

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). Served at your plan's delay (+60 s Free, +10 s Builder, +2 s Standard).

Parameters

Query parameters

NameTypeRequiredDescription
agencystringnoComma-separated: fed, bls, bea, treasury, whitehouse, fedreg.
source_idstringnoComma-separated official source ids (src_wire_bls, src_wire_treasury_auctions, …).
qstringnoWords the title must contain.
sinceintegernoPublish time from, ms epoch (default 7 days back).
untilintegernoPublish time before, ms epoch.
linkedbooleannotrue for releases a calendar row links (scheduled releases), false for the rest.
textbooleannotrue to include each release's full text. Default false.
cursorstringnonext_cursor from the previous page.
limitintegernoPage size. 1 to 200. Default 50.

Request

Terminal
curl "https://api.langbot.ai/v1/releases?agency=bls,treasury&linked=true&limit=1"

Response

200 OK

JSON
{
  "ts": 1794317460000,
  "since": 1793712660000,
  "until": null,
  "delay_ms": 0,
  "rights": "public_domain",
  "next_cursor": "cmVsOjE3OTQzMTc0MDIxMDA6ZXZ0XzBHQVY0S0NDMDkxRjAxRksyREU0QVA5WTQ2",
  "releases": [
    {
      "id": "evt_0GAV4KCC091F01FK2DE4AP9Y46",
      "source_id": "src_wire_bls",
      "agency_key": "bls",
      "title": "CPI for all items increases 0.3% in October",
      "url": "https://www.bls.gov/news.release/archives/cpi_11102026.htm",
      "published_at": "2026-11-10T07:50:31.2-05:00",
      "author": null,
      "agency": "U.S. Bureau of Labor Statistics",
      "summary": "In October, the Consumer Price Index for All Urban Consumers rose 0.3 percent, seasonally adjusted…",
      "t_published": 1794317402100,
      "t_detected": 1794317402100,
      "t_emitted": 1794317402141,
      "seq": 41,
      "hash": "5b0c8d3e0f4a…",
      "chain_seq": 42,
      "extra": {"release": "cpi", "release_name": "Consumer Price Index"},
      "calendar": {
        "id": "ecal_bls_cpi_20261110",
        "kind": "cpi",
        "agency": "bls",
        "title": "Consumer Price Index",
        "scheduled_at": 1794317400000,
        "time_known": true,
        "importance": "high",
        "status": "released",
        "source_ids": ["src_wire_bls"],
        "meta": {"release": "cpi"},
        "release": {"event_id": "evt_0GAV4KCC091F01FK2DE4AP9Y46", "source_id": "src_wire_bls", "title": "CPI for all items increases 0.3% in October", "url": "https://www.bls.gov/news.release/archives/cpi_11102026.htm", "released_at": 1794317402100, "first_seen_at": 1794317402100, "latency_ms": 2100, "publish_latency_ms": 2100}
      }
    }
  ]
}

Each release is a feed event on the same clock as the transcripts and the market data: t_published is the item's own publish time, t_detected when Langbot first saw it, t_emitted when the feed sent it; id is the event id, so Get a receipt verifies it. BLS stamps its feed entries when the release is staged, before it is public, so a BLS release's t_published is when Langbot first saw it and the BLS stamp stays in published_at. extra carries what the source adds: the release series and headline numbers (BEA current / previous), the auction's cusip and results (high rate or yield, bid-to-cover, bidder shares). US federal works are public domain, so text=true returns the full text. On the live stream the same items arrive as text_posted events when you ask for them (types=text_posted, or the source's ev_wire_… event).

Errors

StatuscodeWhen
422validation_errorAn unknown agency, or a source_id that is not an official source.
400bad_requestA cursor that is not one this endpoint returned.
401token_invalidA token was sent and not recognised. Send a valid one, or none to call anonymously.
429rate_limitedOver your request budget; wait Retry-After seconds.

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