4D Results API & MCP Server — 4dlivetoday
[M8ven Score]
Official 4D lottery results for Malaysia, Singapore and Cambodia, as a free JSON API and a remote MCP server that AI assistants (Claude, ChatGPT, Cursor and others) can query directly.
- MCP server:
https://4dlivetoday.com/mcp (Streamable HTTP, no sign-in)
- REST API:
https://4dlivetoday.com/api/v1/ (JSON, no key)
- Docs page: https://4dlivetoday.com/en/developers
- Data licence: CC BY 4.0 — free to use, including commercially, with attribution
On draw nights, results are read from each operator's own official website and cross-checked against independent results sites where one exists. Older draws come from results archives (Magnum's official archive back to 1985, the others mainly the check4d.org archive); see data sources for each operator's coverage. This service publishes results and draw history only. It does not sell tickets or accept bets, and it offers no number recommendations, "hot" numbers or forecasts.
Contents
What's covered
Every 4D draw has 23 numbers: 1st, 2nd and 3rd prize, 10 special (starter) and 10 consolation.
Other official games (game ids):
History: 4D results go back decades (Magnum from 1985). Magnum and Da Ma Cai other games cover the last 12 months and grow daily; Sports Toto games and Singapore Toto are kept from late September 2026 onward.
Draw days and times: see https://4dlivetoday.com/en/schedule (or the get_draw_schedule tool).
Use it from an AI assistant (MCP)
The server speaks Streamable HTTP at:
No API key and no OAuth.
Claude (claude.ai and Claude Desktop, via connectors)
Settings → Connectors → Add custom connector → paste https://4dlivetoday.com/mcp.
Claude Desktop (config file, via mcp-remote)
claude_desktop_config.json:
Claude Code
Cursor
~/.cursor/mcp.json (or .cursor/mcp.json in a project):
VS Code
.vscode/mcp.json:
Try it
Ask your assistant things like:
- "What were last night's Magnum 4D results?"
- "Show me every operator's 4D results for 27 September 2026."
- "Has 1063 ever won a prize? When?"
- "What's the latest Supreme Toto 6/58 result and jackpot?"
- "When is the next Singapore 4D draw?"
Ready-made config files are in examples/mcp.
MCP tools
Every tool result includes a short text summary plus the full structured data, and each result carries a url to the matching page on 4dlivetoday.com so the assistant can link to it.
REST API
Base URL: https://4dlivetoday.com/api/v1
Examples
More in examples/: curl, Python, Node.js.
CORS is open (Access-Control-Allow-Origin: *), so you can call it from a browser.
Response format
Every successful response has the same envelope (url is the matching human-readable page on 4dlivetoday.com):
What data holds per endpoint:
A 4D draw (real, trimmed):
Numbers are always strings, so leading zeros are kept ("0650", never 650).
status tells you how far a result has been verified:
A game result (real, trimmed):
Money amounts are strings exactly as the operator published them, with currency ("RM 12,749,753.62", "S$ 1,298,326"). draw_no can be empty for operators that don't publish a readable draw number.
Errors
A date with no draws (for example a regular Monday for the weekly operators) is not an error: it returns 200 with an empty list.
In MCP, the same problems come back as a tool result with isError: true and the same message.
Fair use and caching
- No key and no sign-up. Responses are cached for about 60 seconds; results change only around draw times, so please cache on your side too.
- Unknown query parameters are dropped with a redirect to the canonical URL.
- The MCP endpoint accepts one request per call (no JSON-RPC batches).
- Draw nights (roughly 18:30–21:30 Malaysia time on draw days) are when results change; polling more often than once a minute gains nothing.
- Abusive traffic may be rate-limited without notice.
Attribution
The data is licensed CC BY 4.0. If you show or republish it, credit:
Results from 4dlivetoday.com, compiled from each operator's official site.
A link back is appreciated and is how this stays free.
Data quality
- On draw nights each result is read from the operator's own official site. Where a second independent source exists, the result is cross-checked and its
status becomes checked.
- Older draws were imported from results archives. They carry
status: history, or checked where a second source confirmed the same numbers (for example every Magnum draw back to 1985). How far each operator goes back, and how many older draws a second source has confirmed, is listed on the data sources page.
- Always treat the operator's own announcement as final. If you find a result that differs from the operator's official site, please open an issue with the date, operator and the operator's page.
Licence
4dlivetoday is an independent results site. It is not affiliated with any operator named above; operator names are used only to identify their results. For readers aged 21 and over, where the law allows.