API reference · Receipts
Get an evidence pack
GET/v1/markets/{ticker}/evidence
Everything Langbot heard that bears on one market's phrases, in one signed document a resolver can check.
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
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
ticker | string | yes | The venue ticker or pm_<id>. |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
format | string | no | json or jsonl. Default json. |
Request
curl "https://api.langbot.ai/v1/markets/KXTRUMPSAYCOMPANY-26DEC01-CVX/evidence"import httpx
r = httpx.get("https://api.langbot.ai/v1/markets/KXTRUMPSAYCOMPANY-26DEC01-CVX/evidence")
print(r.json())const res = await fetch("https://api.langbot.ai/v1/markets/KXTRUMPSAYCOMPANY-26DEC01-CVX/evidence");
console.log(await res.json());Response
200 OK
{
"v": 1,
"report": "evidence",
"ticker": "KXTRUMPSAYCOMPANY-26DEC01-CVX",
"market": {
"ticker": "KXTRUMPSAYCOMPANY-26DEC01-CVX",
"venue": "kalshi",
"event_id": "ev_kxtrumpsaycompany_26dec01",
"title": "Will Trump say \"Chevron / CVX\" before Dec 1, 2026?",
"rules_text": "If Chevron / CVX, or a plural or possessive form of Chevron / CVX, is stated by Donald Trump before Dec 1, 2026 at 12:00am ET, then the market resolves to Ye…",
"phrases": ["chevron"],
"status": "open",
"close_ts": 1796137200000
},
"event": {
"id": "ev_kxtrumpsaycompany_26dec01",
"title": "What companies will Trump say in November?",
"kind": "other",
"starts_at": 1793505600000,
"ends_at": 1796137200000,
"status": "scheduled"
},
"phrases": ["chevron"],
"facts": [
{
"id": "evt_R68F7JMMJWQ8P5PH5VKJGDCCB2",
"type": "phrase_detected",
"source_id": "src_shared_cbsnews_live",
"event_id": "ev_kxtrumpsaycompany_26dec01",
"phrase": "chevron",
"speaker": {
"key": "trump",
"name": null,
"label": "voice",
"score": -0.018,
"method": "voiceprint",
"outcome": "other",
"verified": false,
"confidence": 0.0
},
"confidence": 0.18,
"market_refs": ["KXTRUMPSAYCOMPANY-26DEC01-CVX"],
"t_spoken": 1793603547492,
"t_detected": 1793603547559,
"t_emitted": 1793603547566,
"lag_vs_public_ms": null,
"source_kind": "hls",
"seq": 1660,
"raw_hash": "71298bdf7279e6ea3b55494cae03433a8b2536f583c23fbf79f6a89ff4b84886",
"hash": "3b657a24a3d8f07b6afbf4cd6eb9e9dca1eb49353b4ce2ff0cf3103758666847",
"prev_hash": "2117cd3977ed4731f4ed6e46664adb26d8754d558d73df10a1b2f60f14f5abaa",
"chain_seq": 77126
}
],
"facts_count": 29,
"transcript_excerpts": null,
"reason": "transcript text is not redistributable for this event's sources (rights: restricted); phrase facts and receipts are complete without it (CONTRACTS §10)",
"checkpoints": [
{
"id": "ckp_01M6EHAQ99A7ZQH3CTSTKWQE3G",
"event_id": "ev_kxtrumpsaycompany_26dec01",
"chain_seq": 15812,
"hash": "a7a90db1d290757bf71849d4cca71b8019503b2981e5da567d8d6de522cdcee5",
"count": 15812,
"created_at": 1793636785449,
"key_id": "25fda96224f38010",
"signature": "nDbsJ2A9lW9tdK7IlgscJ1JbvjZcxTRZGiWrvFR8cpjfNdTMaVU4zx0frqx24anV7uhPFmgqYKDG1+UEXG3rDQ=="
}
],
"rights": "restricted",
"delay_ms": 60000,
"disclaimer": "Evidence pack: facts Langbot heard, with their receipts. It records what was said and when; it is not a determination of any market outcome.",
"generated_at": 1793685895988,
"key_id": "7c2794192d3cf5a0",
"signature": "UtzL1bp7AlXGGysRAM3NxUPIvKnr2YZLFeUCk+1c0a99s4N8ON5M3QoqJo7KjvWzhCf9Ei5ge8ePoGVMuIP5DQ=="
}A real response from the API; long lists are cut to their first items.
No field in a pack says yes, no or resolved: the venue settles its markets, and a pack is what someone resolving one can check. Transcript excerpts appear only where the source's rights allow.
Errors
| Status | code | When |
|---|---|---|
| 404 | not_found | No market with that ticker. |
| 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.