Betfred APIbetfred.co.za ↗
Retrieve latest and historical Nifty 50 draw results from Betfred South Africa. Covers all 5 daily variants with main numbers, bonus ball, and hot/cold stats.
What is the Betfred API?
The Betfred South Africa Nifty 50 API exposes 2 endpoints that return draw results for all five daily Nifty 50 lottery variants. get_nifty50_results delivers the most recent completed draw for each variant in a single call, including 6 main numbers, a bonus ball, and hot/cold ball statistics. get_nifty50_draw_history provides paginated historical records per variant, going back through past draws ordered by date.
curl -X GET 'https://api.parse.bot/scraper/5343103a-49eb-45ba-bf2f-72f022044724/get_nifty50_results' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns the most recent completed draw result for each Nifty 50 variant (Draw 1 through Draw 5, each at a different UK time). One API call, no pagination needed. Each result includes 6 main numbers and 1 bonus ball drawn from a pool of 1-50, plus hot/cold ball statistics. Results are ordered by most recent draw time first.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return. There are typically 5 Nifty 50 variants, so the default of 15 is more than sufficient. |
{
"type": "object",
"fields": {
"count": "integer, number of results returned",
"draws": "array of draw result objects, each containing draw_uuid, lottery_id, lottery_name, draw_date, draw_time, state, main_numbers, bonus_ball, hot_balls, cold_balls"
},
"sample": {
"data": {
"count": 5,
"draws": [
{
"state": "ended",
"draw_date": "2026-08-28",
"draw_time": "2026-08-28T13:30:00Z",
"draw_uuid": "18cfacea-7118-eba1-7495-57ded3601fb4",
"hot_balls": [
"13",
"39",
"5"
],
"bonus_ball": "10",
"cold_balls": [
"45",
"28",
"43"
],
"lottery_id": 1341,
"lottery_name": "Nifty 50 Draw 2 (UK 14:30)",
"main_numbers": [
"29",
"44",
"26",
"4",
"5",
"17"
]
}
]
},
"status": "success"
}
}About the Betfred API
Endpoints Overview
The API contains two endpoints. get_nifty50_results returns the latest completed draw for each of the five Nifty 50 variants (Draw 1 through Draw 5, identified by lottery_id values such as 1337, 1341, 1345, 1504, and 1509). Each draw object includes draw_uuid, lottery_id, lottery_name, draw_date, draw_time, state, main_numbers (an array of 6 integers drawn from 1–50), bonus_ball, and hot/cold ball statistics. The default limit of 15 comfortably covers all five variants in one response.
Historical Draw Data
get_nifty50_draw_history accepts a required lottery_id parameter to target one specific variant. Results are paginated: set page (starting at 1) and limit (up to 50 per page) to walk through archived draws. The response returns page, count, limit, and a draws array with the same per-draw fields as the latest results endpoint — including draw_date, draw_time, main_numbers, bonus_ball, and hot/cold statistics. Use lottery_id values from get_nifty50_results to ensure accuracy when querying history.
Draw Structure and Coverage
Each Nifty 50 draw picks 6 main numbers plus 1 bonus ball from a pool of 1 to 50. The five variants run at different UK draw times each day. The state field on each draw object indicates whether a result is confirmed. Hot and cold ball statistics are included directly on each draw object, making frequency analysis possible without additional requests.
The Betfred API is a managed, monitored endpoint for betfred.co.za — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when betfred.co.za changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official betfred.co.za API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display the latest Nifty 50 winning numbers on a South African lottery results site
- Build a draw-history browser that pages through past results for a specific variant using lottery_id
- Analyse hot and cold ball frequency trends across multiple draws for a chosen Nifty 50 variant
- Send automated alerts when a new draw result appears by polling get_nifty50_results for state changes
- Compare draw times and outcomes across all five daily variants using a single get_nifty50_results call
- Populate a mobile app's lottery archive using paginated get_nifty50_draw_history responses
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Betfred South Africa have an official developer API for lottery results?+
What does get_nifty50_draw_history return, and how do I navigate pages?+
lottery_id (obtainable from get_nifty50_results). Set page to the page number (starting at 1) and limit to control page size up to a maximum of 50. Each response includes page, count, limit, and a draws array with fields including draw_date, draw_time, main_numbers, bonus_ball, and hot/cold statistics.Does the API cover Betfred SA lottery games other than Nifty 50, such as Lotto or PowerBall?+
How fresh are the results returned by get_nifty50_results?+
draw_time and state fields on each result object indicate the exact draw time and whether the result is confirmed.