Free, read-only JSON API — no authentication, no rate limits, open to everyone.
All parameters are passed as query-string arguments. The API accepts only GET requests.
?type=
| type | Lottery | Draw time slots | Letters / Prizes |
|---|---|---|---|
| kh | Khmer Lottery (KH) | 10:35 AM · 01:00 PM · 03:45 PM · 06:00 PM · 07:45 PM · 08:35 PM | p1p2p3p4 |
| tc | Vietnam Lottery (TC) | 10:30 AM · 01:30 PM · 02:30 PM · 04:30 PM · 06:30 PM · 07:30 PM · 08:30 PM | abcdfiknopzlo |
| mc | MC Lottery | 10:30 AM · 01:30 PM · 02:30 PM · 04:30 PM · 06:30 PM · 07:30 PM · 08:30 PM | abcdfnilkov1v2lo |
| mt | MT Evening Lottery | 06:30 PM · 07:30 PM · 08:30 PM | abcdlo |
| mt2 | MT Daytime Lottery | 10:30 AM · 11:30 AM · 01:30 PM · 02:30 PM · 04:30 PM | abcdfiknlo |
| Parameter | Type | Default | Description |
|---|---|---|---|
| type | string | kh | Lottery type: kh tc mc mt mt2 |
| date | string | — | Filter by draw date in YYYY-MM-DD format |
| time_slot | string | — | Filter by time slot, e.g. 06:30 PM |
| id | integer | — | Fetch a single record by its database ID (returns the record directly, no pagination wrapper) |
| limit | integer | 50 | Records per page — min 1, max 200 |
| page | integer | 1 | Page number for pagination |
Latest KH results (defaults)
KH results for a specific date
TC results — date + time slot
MC results — page 2, 20 per page
MT2 daytime results for today
Fetch single KH record by ID
JavaScript — fetch with async/await
PHP — file_get_contents
Python — requests
Successful list response
Error response
Common fields: id, draw_date, time_slot, created_at, updated_at
| Field | Size | Description |
|---|---|---|
| p1_2d | VARCHAR(2) | Prize 1 — last 2 digits |
| p1_3d | VARCHAR(3) | Prize 1 — last 3 digits |
| p2_2d | VARCHAR(2) | Prize 2 — last 2 digits |
| p2_3d | VARCHAR(3) | Prize 2 — last 3 digits |
| p3_2d | VARCHAR(2) | Prize 3 — last 2 digits |
| p3_3d | VARCHAR(3) | Prize 3 — last 3 digits |
| p4_2d | VARCHAR(2) | Prize 4 — last 2 digits |
| p4_3d | VARCHAR(3) | Prize 4 — last 3 digits |