DJARUM POOLS131318#0700DJARUM LOTTO827939#0900MEDAN LOTTO370604#1415BENGKULU LOTTO975369#1630MAGELANG LOTTO368034#1015SURABAYA LOTTO213793#1115DENPASAR LOTTO579599#1230SAMARINDA LOTTO723432#1300GORONTALO LOTTO016801#1515MAKASAR LOTTO098988#1600BANJAR LOTTO770587#1700PADANG LOTTO462517#1730BANDUNG LOTTO798201#1800JAMBI LOTRE513561#1830PALEMBANG LOTRE759873#1845SIBOLGA LOTTO658701#1915BINJAI LOTTO288523#1945BINGO LOTTO837382#2030MACAU LOTRE043880#2100HONGKONG LOTRE242091#1100NIAS LOTTO723380#0100BARBADOS LOTRE556598#0208GANGNAM LOTRE376238#0315ROMA LOTREwaiting for resultTOKYO NIGHT8014#1000DJARUM POOLS131318#0700DJARUM LOTTO827939#0900MEDAN LOTTO370604#1415BENGKULU LOTTO975369#1630MAGELANG LOTTO368034#1015SURABAYA LOTTO213793#1115DENPASAR LOTTO579599#1230SAMARINDA LOTTO723432#1300GORONTALO LOTTO016801#1515MAKASAR LOTTO098988#1600BANJAR LOTTO770587#1700PADANG LOTTO462517#1730BANDUNG LOTTO798201#1800JAMBI LOTRE513561#1830PALEMBANG LOTRE759873#1845SIBOLGA LOTTO658701#1915BINJAI LOTTO288523#1945BINGO LOTTO837382#2030MACAU LOTRE043880#2100HONGKONG LOTRE242091#1100NIAS LOTTO723380#0100BARBADOS LOTRE556598#0208GANGNAM LOTRE376238#0315ROMA LOTREwaiting for resultTOKYO NIGHT8014#1000
DATA LIVE DRAWDATA LIVE DRAWPowered by V2G Gaming
Partner API

Developers

Build your own site or app on Data Live Draw data: live results, history, schedules, statistics and predictions — served from one source, already normalised.

Getting access

API keys are issued by the Data Live Draw team. Each key is limited to a set of markets, to scopes (results, statistics, prediction) and to your domain for browser calls. Rate limit: 120 requests per minute per key.

Base URL : https://datalivedraw.com/api/partner/v1
Auth     : X-API-Key: dld_…      (or Authorization: Bearer dld_…, or ?key=dld_… for EventSource)

Endpoints

MethodPathScopeReturns
GET/marketsresultsMarkets your key may read: latest result, 3 recent results, next draw
GET/markets/{slug}?limit=50resultsOne market with history (≤ 500 results)
GET/markets/{slug}/stream?key=…resultsServer-Sent Events: snapshot on connect, update on a new result, ping every 15 s
GET/upcomingresultsAllowed markets ordered by next draw time
GET/statistics/{slug}?sample=200statisticsHot/cold digits, odd/even, high/low, top 2D (≥ 10 draws)
GET/prediction/{slug}predictionPrediction numbers per prize slot (6 digits)

Result object

{
  "period": "202609011900", "periodShort": "1900", "drawDate": "2026-09-01T12:00:00.000Z",
  "digits": "123456", "prize1": "123456", "prize2": "9156", "prize3": "0370",
  "result4d": "3456", "result3d": "456", "result2d": "56", "shio": "Kerbau",
  "special": ["6810", "4512", "4026"], "consolation": ["3900", "7936", "3704"]
}

A market object carries slug, name, timezone, digitLength, accent, status, drawStatus (LIVE/OPEN/CLOSED), schedule.nextDrawAt, latest and results[].

Server-side (recommended)

const r = await fetch("https://datalivedraw.com/api/partner/v1/markets/djarum-pools?limit=20", {
  headers: { "X-API-Key": process.env.DLD_PARTNER_KEY } });
const { market } = await r.json();
market.latest.prize1;            // "123456"
market.schedule.nextDrawAt;      // ISO time of the next draw

Render the numbers on the server (SSR/ISR) so search engines index them; use the stream or polling only for live updates.

Browser (allowed domain only)

const es = new EventSource("https://datalivedraw.com/api/partner/v1/markets/djarum-pools/stream?key=dld_…");
es.addEventListener("snapshot", e => render(JSON.parse(e.data)));
es.addEventListener("update",   e => render(JSON.parse(e.data)));   // new official result

Prediction & statistics

GET https://datalivedraw.com/api/partner/v1/prediction/djarum-pools
→ { "prediction": { "periodShort": "1900", "groups": [ { "slot": 1, "label": "Prize 1", "numbers": ["485833", …] }, … ] }, "disclaimer": "…" }

GET https://datalivedraw.com/api/partner/v1/statistics/djarum-pools?sample=200
→ { "statistics": { "sample": 200, "hot": ["5","1","6"], "cold": ["4","7","0"], "oddPct": 50, "evenPct": 50, "highPct": 56, "lowPct": 44, "twoD": [{ "pair": "04", "n": 2 }, …] } }

Errors

401 missing/invalid key · 403 disabled key, wrong scope, market or origin not allowed · 404 market not found · 429 rate limit · 503 feature not configured. Body: { "ok": false, "error": "…" }.

Good practice for partner sites