API reference / Racing Archive
GET /v1/racing/closing-lines/coverageWhat the closing-line archive actually holds
The archive's own measurements of itself — depth, date floor, how much of it is a genuine closing line, how much has a result, and how many rows carry a contamination flag. Results are collected for Australian and New Zealand racing only, from `results_from` onward. Races in other countries appear in the archive because an Australian book priced them, and they carry closing prices but never a finish position. So `resulted_races_pct` is the share of the WHOLE archive with a result, while `settleable_races` / `settleable_resulted_pct` count only AU and NZ races that started after results collection began — the figure to read if you intend to settle against the archive. `by_category` carries `resulted_races` per code for the same reason. `finish_position_pct` is the finish-position fill rate: of the rows whose race has a result (runners marked scratched left out), the share that carry a position. AU thoroughbred and greyhound results publish every finisher's position, so those codes run near 100%; harness and NZ results name the placegetters only, so theirs is roughly the placed share of the field. `by_category` carries it per code. `consensus_close_pct` (from 2026-10-05) is the share of genuine closing lines that carry `consensus_close_prob`, the market's margin-free probability stored at the close. Rows without one belong to races where fewer than two complete-field books closed. This exists so nobody has to take a marketing number on trust before paying for a bulk pull. Every figure is computed from the table at request time. Open to every key, Free included, so you can check the archive before paying for it; the numbers describe the whole archive. Reading the rows themselves (/v1/racing/closing-lines) is a paid endpoint.
X-API-Key
1 credit
curl 'https://api.puntersedge.online/v1/racing/closing-lines/coverage' \
-H 'X-API-Key: YOUR_KEY'
This endpoint takes no parameters beyond authentication.
Status codes: 200, 401, 402, 422, 429, 500. Response bodies are JSON; the full schema is in /openapi.json.
200 application/json
— this call costs 1 credit.
Field names and types are as the API returns them; values are a real sample, trimmed to a few items.
{
"archive_from": "2026-08-04T09:22:00Z",
"archive_to": "2026-09-29T04:10:00Z",
"rows": 1474236,
"races": 40953,
"bookmakers": 14,
"is_closing_line_pct": 84.34,
"open_is_baseline_pct": 62.13,
"resulted_races_pct": 23.82,
"results_from": "2026-08-15T05:53:00Z",
"settleable_races": 10296,
"settleable_resulted_pct": 94.69,
"results_scope": "Results are collected for Australian and New Zealand racing only, from results_from onward. Races in other countries carry closing prices but no finish position. settleable_races counts AU and NZ races that started after results_from.",
"venue_split_suspect_rows": 13323,
"name_fragment_suspect_rows": 387,
"scratched_rows": 9058,
"finish_position_pct": 61.29,
"by_category": [
{
"category": "greyhound",
"rows": 654868,
"races": 15309,
"resulted_races": 5570,
"finish_position_pct": 71.51
},
{
"category": "horse",
"rows": 514720,
"races": 19466,
"resulted_races": 2214,
"finish_position_pct": 57.53
},
{
"category": "harness",
"rows": 304648,
"races": 6178,
"resulted_races": 1965,
"finish_position_pct": 43.14
}
]
}
GET /v1/racing/closing-lines — Permanent closing-line and result archiveGET /v1/racing/market-summary — The market's path per runner, stored at the jump: consensus at fixed marks, moves, breadth, first mover, signalGET /v1/racing/price-paths — Bulk export of the permanent price-movement archiveThe free tier needs no credit card, and the sandbox endpoints need no key at all.
Get a free API key Quickstart