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
| Plan | Requests | Includes |
|---|---|---|
| Trial | 30 / minute · 10,000 / month | Results |
| Basic | 120 / minute · 250,000 / month | Results, audit log |
| Pro | 600 / minute · 2,000,000 / month | Results, audit log, CSV export, real-time feed (2 connections) |
| Enterprise | 3,000 / minute · no monthly cap | Everything, 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.
| Endpoint | Plan scope | Returns |
|---|---|---|
GET /v1/me | any | Your key: plan, limits, scopes and requests used this month. |
GET /v1/live | results | The 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= | results | Fights, 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} | results | One fight, full record. |
GET /v1/card/{day}/{no} | results | A fight by its place on the day's card. |
GET /v1/days/{day} | results | A whole day's card in order, with the day's tally. |
GET /v1/stats?from=&to= | results | Meron, Wala and Draw counts per day and in total, for up to a year. |
GET /v1/fights/{id}/audit | audit | That fight's entries in the hash-chained audit log. |
GET /v1/audit?after=0&limit=1000 | audit | The audit log in order, for checking the chain yourself. |
GET /v1/export.csv?from=&to= | export | Every finished fight in a date range (up to a year) as CSV, with every fight's sealed commitment and revealed seed. |
GET /v1/stream | stream | Real-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.