Every delivery is a signed HTTP POST with a JSON body. Verify authenticity by computing
HMAC-SHA256(raw_request_body, webhook_secret) and comparing to the
X-ResultsZA-Signature header. Click any game pill to see its payload.
Content-Type: application/json X-ResultsZA-Signature: sha256=<hmac_hex> X-ResultsZA-Game: LOTTO X-ResultsZA-Event: result.published
Test payloads sent from the settings page use "event": "result.test".
{
"event": "result.published",
"game": "<game_id>",
"country": "<ISO country code>",
"dispatched_at": "2026-06-25T21:05:00Z",
"data": { ... }
}
The data object varies by game — see each section below.
| Game | game field |
Country | Numbers | Range | Bonus / Special | Format |
|---|---|---|---|---|---|---|
| Daily Lotto | DAILYLOTTO | ZA | 5 | 1-36 | None (bonus_ball: null) | string |
| Lotto | LOTTO | ZA | 6 | 1-52 | Bonus ball, range 1-52 | string |
| Lotto Plus 1 | LOTTO PLUS1 | ZA | 6 | 1-52 | Bonus ball, range 1-52 | string |
| Lotto 5 Max | LOTTO 5 MAX | ZA | 6 | 1-52 | Bonus ball, range 1-52 | string |
| Powerball | POWERBALL | ZA | 5 | 1-50 | powerball, range 1-16 | string |
| Powerball Xtra | POWERBALL XTRA | ZA | 5 | 1-50 | powerball, range 1-16 | string |
| Nigeria | ||||||
| Baba Ijebu (25 draws) | PREMIER <NAME> | NG | 5 | 1-90 | None | integer array |
| Ghana | ||||||
| Ghana Lottery (10 draws) | Ghana <Name> | GH | 5 | 1-90 | None | integer array |
| Kenya | ||||||
| Kenya Lotto (daily) | Kenya Lotto <Day> | KE | 6 | 0-39 | None | string |
| Kenya Mega Jackpot | Kenya Mega Jackpot | KE | 6 | 0-39 | None | string |
| UK | ||||||
| UK 49s (4 draws/day) | UK49s <Draw> | GB | 6 | 1-49 | Booster ball (booster_ball), range 1-49 | string |
| Europe | ||||||
| EuroMillions | EuroMillions | EU | 5 | 1-50 | 2 Lucky Stars (lucky_star_1/2), range 1-12 | string |
| USA | ||||||
| Powerball | Powerball | US | 5 | 1-69 | Powerball (special_ball), range 1-26 | string |
| Mega Millions | Mega Millions | US | 5 | 1-70 | Mega Ball (special_ball), range 1-24 | string |
| Horse Racing | ||||||
| Horse Racing | horse_racing | ZA | No numbers — signals that race results for the day are available | - | ||
Format: string = comma-separated e.g. "4, 11, 23" —
integer array = JSON array e.g. [3, 17, 28]
{
"event": "result.published",
"game": "DAILYLOTTO",
"country": "ZA",
"dispatched_at": "2026-06-25T21:05:00Z",
"data": {
"draw_number": 2381,
"draw_date": "2026-06-25",
"winning_numbers": "4, 11, 23, 31, 38",
"bonus_ball": null,
"jackpot": null,
"divisions": [
{ "division": 1, "match": "5 correct", "winners": 12, "payout": 52000 },
{ "division": 2, "match": "4 correct", "winners": 380, "payout": 340 },
{ "division": 3, "match": "3 correct", "winners": 8200, "payout": 20 }
]
}
}
| Field | Type | Notes |
|---|---|---|
| draw_number | integer | Official draw number |
| draw_date | string | YYYY-MM-DD |
| winning_numbers | string |
DAILYLOTTO: 5 balls, range 1-36 LOTTO / LOTTO PLUS1 / LOTTO 5 MAX: 6 balls, range 1-52 POWERBALL / POWERBALL XTRA: 5 balls, range 1-50 |
| bonus_ball | integer or null |
DAILYLOTTO: always null (no bonus ball) LOTTO / LOTTO PLUS1 / LOTTO 5 MAX: bonus ball, range 1-52 Not present for POWERBALL / POWERBALL XTRA — use powerball instead
|
| powerball | integer | POWERBALL / POWERBALL XTRA only. Range 1-16 |
| jackpot | integer or null | Next jackpot estimate in ZAR; null if not yet known |
| divisions | array or null | Prize breakdown; null if not yet published |
{
"event": "result.published",
"game": "PREMIER 06",
"country": "NG",
"dispatched_at": "2026-06-25T19:05:00Z",
"data": {
"draw_date": "2026-06-25",
"draw_time": "19:00",
"numbers": [3, 17, 28, 45, 61]
}
}
| Field | Type | Notes |
|---|---|---|
| draw_date | string | YYYY-MM-DD |
| draw_time | string or null | SAST HH:MM |
| numbers | array of integers | 5 numbers, range 1-90 |
{
"event": "result.published",
"game": "Ghana Monday Special",
"country": "GH",
"dispatched_at": "2026-06-23T22:05:00Z",
"data": {
"draw_date": "2026-06-23",
"draw_time": "20:00",
"numbers": [2, 19, 33, 44, 56]
}
}
| Field | Type | Notes |
|---|---|---|
| draw_date | string | YYYY-MM-DD |
| draw_time | string or null | SAST HH:MM |
| numbers | array of integers | 5 numbers, range 1-90 |
{
"event": "result.published",
"game": "Kenya Lotto Monday",
"country": "KE",
"dispatched_at": "2026-06-23T22:05:00Z",
"data": {
"draw_date": "2026-06-23",
"draw_time": "22:00",
"winning_numbers": "5, 12, 23, 31, 35, 39"
}
}
| Field | Type | Notes |
|---|---|---|
| draw_date | string | YYYY-MM-DD |
| draw_time | string | SAST HH:MM |
| winning_numbers | string | 6 numbers, range 0-39, comma-separated |
{
"event": "result.published",
"game": "UK49s Brunchtime",
"country": "GB",
"dispatched_at": "2026-06-25T15:05:00Z",
"data": {
"draw_date": "2026-06-25",
"winning_numbers": "7, 10, 11, 17, 26, 35",
"booster_ball": 49
}
}
| Field | Type | Notes |
|---|---|---|
| draw_date | string | YYYY-MM-DD |
| winning_numbers | string | 6 numbers, range 1-49, comma-separated |
| booster_ball | integer | Range 1-49 |
{
"event": "result.published",
"game": "EuroMillions",
"country": "EU",
"dispatched_at": "2026-06-24T23:05:00Z",
"data": {
"draw_date": "2026-06-24",
"winning_numbers": "7, 14, 21, 28, 35",
"lucky_star_1": 3,
"lucky_star_2": 11,
"jackpot": 17000000
}
}
| Field | Type | Notes |
|---|---|---|
| draw_date | string | YYYY-MM-DD |
| winning_numbers | string | 5 numbers, range 1-50, comma-separated |
| lucky_star_1 | integer | First Lucky Star, range 1-12 |
| lucky_star_2 | integer | Second Lucky Star, range 1-12 |
| jackpot | integer or null | Jackpot in EUR; null if not yet published |
Draws every Tuesday and Friday at ~21:00 CET (23:00 SAST in summer).
{
"event": "result.published",
"game": "Powerball",
"country": "US",
"dispatched_at": "2026-06-26T05:05:00Z",
"data": {
"draw_date": "2026-06-25",
"winning_numbers": "12, 24, 36, 48, 65",
"special_ball": 7,
"multiplier": 3
}
}
| Field | Type | Notes |
|---|---|---|
| draw_date | string | YYYY-MM-DD (ET draw date) |
| winning_numbers | string | 5 numbers (Powerball: range 1-69; Mega Millions: range 1-70), comma-separated |
| special_ball | integer | Powerball: range 1-26. Mega Millions (Mega Ball): range 1-24 |
| multiplier | integer or null | Power Play / Megaplier; null if not available |
Powerball: Mon / Wed / Sat. Mega Millions: Tue / Fri. Results arrive ~05:00 SAST the morning after the draw.
{
"event": "result.published",
"game": "horse_racing",
"country": "ZA",
"dispatched_at": "2026-06-25T18:05:00Z",
"data": {
"race_date": "2026-06-25",
"races_scraped": 12,
"dividends_found": 9
}
}
| Field | Type | Notes |
|---|---|---|
| race_date | string | YYYY-MM-DD |
| races_scraped | integer | Number of races stored for this date |
| dividends_found | integer | Dividend rows stored (Swinger, Exacta, Trifecta, etc.) |
This payload signals that results for the day are available. Use the ResultsZA API to fetch full race, runner, and dividend details.
Questions? Contact support@resultsza.co.za