Data API

Results, the daily card, statistics, the audit log, CSV export and a real-time results feed, as JSON over HTTPS. Every response follows the broadcast: a result appears only once the live stream has shown it. Access is by API key.

Authentication

Send your key on every request. Keys start with sk_live_ and are shown once, when they are issued; keep them on your server, not in a web page.

curl -H "Authorization: Bearer sk_live_…" https://3dsabong.com/v1/fights?limit=20

X-API-Key: sk_live_… works too. Answers: 401 no key, a wrong key, or a revoked or expired one; 403 your plan does not include that endpoint; 429 over the per-minute limit (wait Retry-After seconds) or the monthly quota.

Every answer carries X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset and, on plans with a monthly quota, X-Quota-Limit and X-Quota-Remaining.

Plans

PlanRequestsIncludes
Trial30 / minute · 10,000 / monthResults
Basic120 / minute · 250,000 / monthResults, audit log
Pro600 / minute · 2,000,000 / monthResults, audit log, CSV export, real-time feed (2 connections)
Enterprise3,000 / minute · no monthly capEverything, 10 feed connections

Endpoints

Fights are numbered from 1 each day (day and dayNo, Philippine time); id is the permanent record number used in the audit log and commitments. Dates are YYYY-MM-DD.

EndpointPlan scopeReturns
GET /v1/meanyYour key: plan, limits, scopes and requests used this month.
GET /v1/liveresultsThe fight on screen now: entries, stage, fight clock, the sealed seed commitment, and the result once shown.
GET /v1/fights?day=&result=&limit=100&before=resultsFights, newest first, up to 500 a page; filter by day and by result (MERON, WALA, DRAW); page back with before = the next of the last page. Full records: entries, result, how it ended, duration, the sealed seed commitment and the revealed seed (older fights: the draw and its salt).
GET /v1/fights/{id}resultsOne fight, full record.
GET /v1/card/{day}/{no}resultsA fight by its place on the day's card.
GET /v1/days/{day}resultsA whole day's card in order, with the day's tally.
GET /v1/stats?from=&to=resultsMeron, Wala and Draw counts per day and in total, for up to a year.
GET /v1/fights/{id}/auditauditThat fight's entries in the hash-chained audit log.
GET /v1/audit?after=0&limit=1000auditThe audit log in order, for checking the chain yourself.
GET /v1/export.csv?from=&to=exportEvery finished fight in a date range (up to a year) as CSV, with every fight's sealed commitment and revealed seed.
GET /v1/streamstreamReal-time feed (server-sent events): a fight event as each fight is called, a result event as each result is shown, with the full record. Browsers' EventSource may pass the key as ?api_key=.

Real-time feed

curl -N -H "Authorization: Bearer sk_live_…" https://3dsabong.com/v1/stream

The site's own API

This site's pages read /api/… (live fight, results, fight pages, the fairness check). It serves this site only and may change without notice; integrations should use /v1. The fairness data stays open to everyone: anyone can check the audit chain on the Fairness page.