Every dataset this API publishes as pre-built files, with the daily files and monthly bundles that exist right now: rows, bytes per format, digest, when each was generated, and the URL that serves it. Read it before pulling, and re-read it nightly — a day's file is regenerated for three nights after the day (late results, late closing lines) and its digest changes when its rows do. Daily files are Business and above; monthly bundles are Platform and above. Both formats are always present: `format=parquet` (typed columns, snappy) and `format=csv` (gzip).
X-API-Key
0 credits
curl 'https://api.puntersedge.online/v1/bulk/datasets' \
-H 'X-API-Key: YOUR_KEY'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
dataset |
query | string | no | Restrict to one dataset name. |
Status codes: 200, 401, 402, 403, 422, 429, 500. Response bodies are JSON; the full schema is in /openapi.json.
200 application/json
— this call costs 0 credits.
Field names and types are as the API returns them; values are a real sample, trimmed to a few items.
{
"datasets": [
{
"name": "closing_lines",
"title": "Closing lines",
"description": "Every bookmaker's last observed price before the jump, one row per runner per book, with the result joined on.",
"grain": "runner x bookmaker x race",
"columns": [
"race_id",
"runner_key",
"bookmaker_key",
"venue",
"race_number",
"category",
"country",
"start_time",
"meeting_date_aet",
"places_paid",
"runner_name",
"runner_number",
"runner_ref",
"horse_ref",
"win_price",
"place_price",
"finish_position",
"venue_id",
"venue_site"
],
"available_from": "2026-08-18",
"days": [
{
"period": "2026-09-24",
"kind": "day",
"rows": 31221,
"generated_at": "2026-09-25T04:31:02Z",
"bytes": {
"parquet": 1842104,
"csv": 4310882
},
"sha256": {
"parquet": "3f1c…",
"csv": "a07e…"
},
"url": "/v1/bulk/closing_lines/2026-09-24"
}
],
"months": [
{
"period": "2026-08",
"kind": "month",
"rows": 742118,
"generated_at": "2026-09-01T04:33:41Z",
"bytes": {
"parquet": 41220918,
"csv": 98551204
},
"sha256": {
"parquet": "b914…",
"csv": "6c2d…"
},
"url": "/v1/bulk/closing_lines/2026-08"
}
]
}
],
"formats": [
"parquet",
"csv"
],
"day_plans": "Business and above",
"month_plans": "Platform and above",
"credits": {
"day": 50,
"month": 500
},
"schedule": "Daily files land by 05:00 AEST; monthly bundles on the 1st.",
"notes": [
"Send If-None-Match with a file's sha256 and an unchanged file answers 304 for free."
]
}
GET /v1/bulk/{dataset}/{period} — Download one dataset fileThe free tier needs no credit card, and the sandbox endpoints need no key at all.
Get a free API key Quickstart