Co APIbetway.co.mz ↗
Access Betway Mozambique sports odds, live in-play scores, and league listings via 3 structured endpoints. Filter by sport, league, and region.
What is the Co API?
The Betway Mozambique API provides structured access to sports betting data across 3 endpoints, covering today's highlighted events, available leagues by sport, and live in-play matches with real-time scores. The get_highlights endpoint returns 1X2, Double Chance, and Both Teams To Score odds for upcoming events, while get_live_events delivers current match scores alongside live odds across multiple sports including soccer, basketball, cricket, and tennis.
curl -X GET 'https://api.parse.bot/scraper/12677139-4f51-4b75-9aa1-52949e848003/get_highlights?skip=0&take=20&sport_id=soccer&country_code=MZ&culture_code=pt-MZ&sort_by_lowest_odds=true' \ -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 betway-co-mz-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.
"""Walkthrough: Betway Mozambique sports odds — bounded, re-runnable."""
from parse_apis.betway_co_mz_api import Betway, SportId, SortByLowestOdds, NotFoundError
client = Betway()
# Browse available soccer leagues
for league in client.leagues.list(sport_id=SportId.SOCCER, limit=5):
print(league.league_name, "-", league.region_name)
# Get today's highlighted games sorted by lowest odds (strongest favorites)
soccer = client.sport(SportId.SOCCER)
for event in soccer.highlights(sort_by_lowest_odds=SortByLowestOdds.TRUE, limit=5):
print(f"{event.home_team} vs {event.away_team} | {event.league} | "
f"Odds: {event.odds_home}/{event.odds_draw}/{event.odds_away} | "
f"Favorite: {event.favorite} (lowest: {event.lowest_odd})")
# Check live in-play events with real-time scores
live_event = soccer.live(limit=1).first()
if live_event:
print(f"LIVE: {live_event.home_team} {live_event.score_home} - "
f"{live_event.score_away} {live_event.away_team}")
# Handle errors for invalid sport lookups
try:
bad_sport = client.sport("invalid_sport_xyz")
for ev in bad_sport.highlights(limit=1):
print(ev.home_team)
except NotFoundError as exc:
print(f"Sport not found: {exc}")
print("exercised: leagues.list / sport.highlights / sport.live / NotFoundError")
Retrieve today's highlighted/upcoming sports events with 1X2 odds (Win/Draw/Win), Double Chance, and Both Teams To Score markets. Results can be sorted by lowest odds to identify favorites most likely to win. Each event includes home/away team names, league, start time, and decimal odds.
| Param | Type | Description |
|---|---|---|
| skip | string | Number of events to skip for pagination. |
| take | string | Maximum number of events to return per request. |
| sport_id | string | Sport identifier. Accepted values: soccer, tennis, cricket, basketball, rugby-union, table-tennis, baseball, ice-hockey, handball, american-football, volleyball, boxing, ufc---martial-arts, darts, badminton, futsal. |
| league_id | string | Filter by specific league ID (e.g. fifa-world-cup, premier-league). Obtainable from get_leagues endpoint. |
| country_code | string | ISO country code for the Betway region (e.g. MZ for Mozambique). |
| culture_code | string | Locale/culture code for response language (e.g. pt-MZ for Portuguese-Mozambique). |
| sort_by_lowest_odds | string | When true, results are sorted by lowest odds first (strongest favorites). When false, results are in chronological order. |
{
"type": "object",
"fields": {
"events": "array of event objects with event_id, home_team, away_team, league, region, sport_id, start_time, is_live, odds_home, odds_draw, odds_away, lowest_odd, favorite",
"total_events": "integer"
},
"sample": {
"data": {
"events": [
{
"league": "1. deild",
"region": "Iceland",
"is_live": false,
"event_id": 72010154,
"favorite": "home",
"sport_id": "soccer",
"away_team": "KF Aegir",
"home_team": "Afturelding",
"odds_away": 8.2,
"odds_draw": 6.4,
"odds_home": 1.21,
"lowest_odd": 1.21,
"start_time": "2026-06-29 19:15 UTC"
},
{
"league": "FIFA World Cup",
"region": "International",
"is_live": false,
"event_id": 53452541,
"favorite": "home",
"sport_id": "soccer",
"away_team": "Paraguai",
"home_team": "Alemanha",
"odds_away": 8.6,
"odds_draw": 4.9,
"odds_home": 1.34,
"lowest_odd": 1.34,
"start_time": "2026-06-29 20:30 UTC"
}
],
"total_events": 19
},
"status": "success"
}
}About the Co API
Highlighted Events and Odds Markets
The get_highlights endpoint returns today's upcoming sports events with odds across three markets: 1X2 (Win/Draw/Win), Double Chance, and Both Teams To Score. Each event object includes event_id, home_team, away_team, league, region, sport_id, start_time, is_live, and decimal odds fields (odds_home, odds_draw, and corresponding market values). The sort_by_lowest_odds parameter orders results by the shortest odds first, making it straightforward to surface the strongest favorites without client-side sorting. Pagination is handled via skip and take parameters, and results can be filtered to a specific league using a league_id obtained from get_leagues.
League and Region Discovery
The get_leagues endpoint returns a flat list of all available leagues for a given sport, each entry carrying region_id, region_name, league_id, league_name, and sport_id. This is the correct source for valid league_id values to pass into get_highlights. The sport_id parameter accepts named slugs such as soccer, tennis, cricket, basketball, rugby-union, table-tennis, and baseball, making it possible to enumerate the full betting tree for any supported sport.
Live In-Play Events
The get_live_events endpoint returns events currently being played, with score_home and score_away reflecting the live score state alongside real-time odds_home and odds_away fields. The is_live flag confirms active match status. Because live coverage depends on matches being in progress, this endpoint may return zero results when no games are active for the requested sport_id. Both get_live_events and get_highlights accept a culture_code parameter (e.g. pt-MZ) to control response language, and a country_code parameter to scope results to the Betway Mozambique region.
The Co API is a managed, monitored endpoint for betway.co.mz — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when betway.co.mz 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 betway.co.mz 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 dashboard that lists today's soccer favorites by sorting
get_highlightsresults withsort_by_lowest_odds=true - Monitor live match scores in real time for in-play betting applications using
score_homeandscore_awayfromget_live_events - Enumerate all available leagues per sport via
get_leaguesto populate a sport/competition navigation tree - Filter highlighted events to a specific competition such as the Premier League by passing a
league_idtoget_highlights - Compare 1X2 and Double Chance odds across events in a single sport to build an odds comparison tool
- Track which live events have shifted odds relative to pre-match values by cross-referencing
get_highlightsandget_live_eventsresponses
| 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.
Does Betway have an official public developer API?+
What odds markets does `get_highlights` return, and can I filter by league?+
get_highlights returns three markets per event: 1X2 (Win/Draw/Win), Double Chance, and Both Teams To Score, all in decimal format. You can filter results to a specific league by passing a league_id value obtained from the get_leagues endpoint. Pagination is supported via the skip and take parameters.Does `get_live_events` always return results?+
sport_id, the response will contain an empty events array and a total_events of zero. Polling at regular intervals is the standard pattern for tracking live event availability.Are betting markets beyond 1X2, Double Chance, and Both Teams To Score available — such as Asian handicaps or over/under totals?+
Is the `culture_code` parameter needed for all endpoints?+
culture_code is accepted by get_highlights and get_live_events but is not a parameter on get_leagues. Passing pt-MZ targets the Portuguese-Mozambique locale. If omitted, the API falls back to a default language setting. For Mozambique-specific deployments, explicitly setting both country_code=MZ and culture_code=pt-MZ is recommended for consistent response content.