Betfred APIbetfred.com ↗
Access Betfred South Africa casino game catalogs, popularity rankings, sports match listings, and sportsbook configuration via 4 structured API endpoints.
What is the Betfred API?
The Betfred API provides 4 endpoints covering the full Betfred South Africa platform: casino game catalogs, recent biggest-win rankings, upcoming sports match events, and sportsbook configuration. The get_casino_games endpoint returns a complete catalog with fields like title, brand, category, type, and image_url. The get_sports_matches endpoint accepts sport and limit parameters to filter upcoming events sorted by closing time.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/27c79099-c133-403b-88d9-0dbf626ad44a/get_casino_games' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace betfred-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Betfred South Africa: casino catalog, winnings, sports events, and config."""
from parse_apis.betfred_api import Betfred, Sport, SportNotFound
client = Betfred()
# List casino games — cap at 5 items for quick inspection
for game in client.games.list(limit=5):
print(game.title, game.brand, game.category)
# Top winnings — proxy for game popularity
winning = client.winnings.list(limit=1).first()
if winning:
print(f"Top winning: game {winning.game_id}, amount {winning.amount}")
# Upcoming football matches
for event in client.sportevents.list(sport=Sport.FOOTBALL, limit=3):
print(event.uuid, event.sport, event.closes_at)
# Sportsbook configuration — singleton fetch
try:
config = client.sportsconfigs.get()
print(config.currency.name, config.currency.symbol)
for league in config.top_leagues[:2]:
print(league.uuid, league.sport)
except SportNotFound as exc:
print(f"Config error: {exc}")
print("exercised: games.list / winnings.list / sportevents.list / sportsconfigs.get")
Fetches the complete casino game catalog including slots, table games, and more. Returns game details such as title, brand, category, type, and image URL. The catalog is returned as a single page; use the SDK limit= kwarg to cap items client-side.
No input parameters required.
{
"type": "object",
"fields": {
"games": "array of game objects with id, uuid, name, title, brand, category, type, image_url, and module",
"total": "integer total count of games"
},
"sample": {
"data": {
"games": [
{
"id": 736,
"name": "megahot20",
"type": "slot",
"uuid": "b7b015c3-1582-52b3-b0e4-eb0d1fadf103",
"brand": "agt",
"title": "Mega Hot",
"module": "agtslots",
"category": "hot",
"image_url": "https://content.kolinz.xyz/games/agt/sqthumb/megahot20.png"
}
],
"total": 2725
},
"status": "success"
}
}About the Betfred API
Casino Game Catalog
The get_casino_games endpoint returns the full casino game catalog as a single collection. Each game object includes id, uuid, name, title, brand, category, type, image_url, and module. The response also exposes a total field giving the integer count of all available games. Because the catalog is returned as one page, use the client-side limit= parameter if you only need a subset of records.
Game Popularity via Winning Records
The get_popular_games endpoint returns recent biggest winnings across games. Each record includes gameID, sport, tournamentUUID, categoryUUID, and amount (denominated in ZAR). This serves as an activity signal — games with recent high-value wins appear in the rankings, making it useful for surfacing currently active titles.
Upcoming Sports Events
The get_sports_matches endpoint returns upcoming match events sorted by closesAt. Each event object carries uuid, type, categoryUuid, tournamentUuid, sport, and closesAt. Two optional inputs — sport (string) and limit (integer) — let you narrow results to a specific sport and cap the number of returned records. The response also includes a count field reflecting the total number of matching events.
Sportsbook Configuration
The get_sports_config endpoint exposes the current platform configuration as a single object. It includes an array of sports, an array of banners (each with type, url, and href), a currency object detailing the ZAR symbol and decimal places, a topLeagues array with uuid, categoryUuid, and sport, and a settings object covering betting limits, custom system bets, UI style, and feature flags. This endpoint is useful for building UI mirrors or monitoring platform-level changes over time.
The Betfred API is a managed, monitored endpoint for betfred.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when betfred.com 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.com 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?+
- Build a casino game browser filtered by category or brand using fields from get_casino_games.
- Track which games have the highest recent winning amounts in ZAR using get_popular_games rankings.
- Display upcoming sports fixtures for a specific sport by passing the sport param to get_sports_matches.
- Monitor Betfred sportsbook betting limits and feature flags via the settings object in get_sports_config.
- Sync top league UUIDs from get_sports_config to match against events returned by get_sports_matches.
- Compare game catalog size over time using the total count returned by get_casino_games.
- Pull banner URLs from get_sports_config to track promotional campaigns on the platform.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.