API reference · Receipts
Get a public replay
GET/v1/public/replays/{event_id}
The replay bundle of a showcase event, such as election night 2026, with no account; top of book only.
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; anonymous callers also share 6 a minute per IP. Not counted against any allowance.
Parameters
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | A showcase event id, such as ev_us-midterms-2026-night. |
Request
curl "https://api.langbot.ai/v1/public/replays/ev_us-midterms-2026-night"import httpx
r = httpx.get("https://api.langbot.ai/v1/public/replays/ev_us-midterms-2026-night")
print(r.json())const res = await fetch("https://api.langbot.ai/v1/public/replays/ev_us-midterms-2026-night");
console.log(await res.json());Response
200 OK
{
"manifest": {
"v": 1,
"event_id": "ev_us-midterms-2026-night",
"generated_at": 1793880000000,
"delay_ms": 60000,
"rights": "unknown",
"key": { "key_id": "56475aa75463474c", "public_key": "A6EHv/…" },
"sources": [],
"filters": { "since_seq": null, "source_id": null, "types": null }
},
"events": [],
"checkpoints": [],
"books": [ { "ticker": "CONTROLH-2026-D", "ts": 1793743200040, "yes_bid": 0.81, "yes_ask": 0.82 } ]
}The same bundle as Get a replay bundle with books=2, at the Free delay, whoever asks: never depth and never anyone's attestations. Only a short list of ended showcase events answer. The body is the same for every caller and is sent with Cache-Control: public, s-maxage=3600.
Errors
| Status | code | When |
|---|---|---|
| 404 | not_found | Not a showcase event, or it has not ended yet. |
| 401 | token_invalid | A token was sent and not recognised. Send a valid one, or none to call anonymously. |
| 422 | validation_error | A parameter failed validation; detail[].loc names it. |
| 429 | rate_limited | Over your request budget; wait Retry-After seconds. |
Every error body is {"detail": …, "code": "…"}; branch on code. All codes: Errors.