Bet APIsuperbet.bet.br ↗
Fetch live and upcoming NBA H2H GG League Mixed matches from Superbet Brazil — odds, players, teams, handicaps, totals, and per-player points markets.
What is the Bet API?
The Superbet Brazil NBA H2H GG League Mixed API exposes 1 endpoint — list_matches — that returns every pre-match and in-play event in this esports basketball tournament with 10+ response fields per match, including UTC and local start times, home and away team names, the human players controlling each side, match status, and full betting market data covering match winner, total points, handicap, and individual player scoring lines.
curl -X GET 'https://api.parse.bot/scraper/6b854762-3035-43ca-bf90-7b2fea14211c/list_matches?within_hours=0.2' \ -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 superbet-bet-br-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: Superbet Brazil e-basketball odds — bounded, re-runnable."""
from parse_apis.superbet_bet_br_api import SuperbetBR, InputFormatInvalid
client = SuperbetBR()
# List all current matches, capped to 5 items.
for match in client.matches.list(limit=5):
print(f"{match.home_team} vs {match.away_team} ({match.status})")
print(f" Players: {match.home_player} vs {match.away_player}")
print(f" Start (UTC): {match.start_time_utc} Markets: {match.market_count}")
# Match winner odds are absent when no market is open.
if match.match_winner is not None:
mw = match.match_winner
print(f" Winner odds — home {mw.home_odd} away {mw.away_odd}")
# Walk nested total-points lines.
for tp in match.total_points:
print(f" Total pts line {tp.line}: over {tp.over_odd} / under {tp.under_odd}")
# Narrow to matches starting within the next hour.
try:
upcoming = client.matches.list(within_hours=1, limit=3).first()
except InputFormatInvalid as e:
print(f"Bad filter value: {e.message}")
upcoming = None
if upcoming is not None:
print(f"\nNext up: {upcoming.home_team} vs {upcoming.away_team}")
for ah in upcoming.asian_handicap:
print(f" Handicap {ah.home_line}/{ah.away_line}: home {ah.home_odd} away {ah.away_odd}")
print("exercised: matches.list / Match / MatchWinner / TotalPoint / AsianHandicap")
Returns ALL matches currently shown on the NBA H2H GG League Mixed page (pre-match and in-play) in one response, sorted by start time. Each match carries its UTC start time, home/away team names, the human player controlling each team, the current match status (NOT_STARTED or STARTED), the odds update timestamp published by the site, and four market groups: match_winner (odd per side; a side is null when the site has suspended that outcome, and the whole object is null when the market is not offered at that moment), total_points (one entry per over/under line), asian_handicap (one entry per handicap line; away_line is the negated home line), and player_points (per-player total points over/under lines; the player name is taken from the parenthesised tag in the team label). In-play matches often have fewer lines, and market arrays are empty when the site offers none for that match. Market labels are in Portuguese as shown on the site. The optional within_hours filter keeps only matches whose start time is not later than now plus that many hours (matches already in play are therefore always included). One listing request plus one detail request per match is made (capped at 40 matches, reported through total_listed vs returned); per-match detail failures are reported in failed_events instead of failing the whole call.
| Param | Type | Description |
|---|---|---|
| within_hours | number | Only return matches starting within the next N hours (decimals allowed, must be > 0). Omitted = every match listed on the page. |
{
"type": "object",
"fields": {
"matches": "array of match objects: event_id, start_time_utc, start_time_local (site local time), status, home_team, home_player, away_team, away_player, market_count, odds_updated_at (site-published odds update timestamp, UTC), match_winner {market, home_odd, away_odd} or null, total_points [{market, line, over_odd, under_odd}], asian_handicap [{market, home_line, away_line, home_odd, away_odd}], player_points [{market, team, player, line, over_odd, under_odd}]",
"returned": "number of matches whose markets were fetched (may be lower than total_listed on detail failures or the 40-match cap)",
"fetched_at": "UTC timestamp (ISO 8601) at which the listing was read",
"total_listed": "number of matches shown on the page that passed the filter",
"within_hours": "the filter that was applied, or null when omitted",
"failed_events": "array of {event_id, reason} for matches whose detail could not be read"
},
"sample": {
"data": {
"matches": [
{
"status": "STARTED",
"event_id": 14876972,
"away_team": "Cleveland Cavaliers",
"home_team": "Memphis Grizzlies",
"away_player": "LIGHT",
"home_player": "TRANQUILITY",
"market_count": 12,
"match_winner": {
"market": "Vencedor da Partida (Inc. prorrogação)",
"away_odd": 6,
"home_odd": 1.07
},
"total_points": [
{
"line": 114.5,
"market": "Total de Pontos (Inc. prorrogação)",
"over_odd": 1.5,
"under_odd": 2.3
},
{
"line": 115.5,
"market": "Total de Pontos (Inc. prorrogação)",
"over_odd": 1.65,
"under_odd": 2.05
}
],
"player_points": [
{
"line": 51.5,
"team": "Cleveland Cavaliers",
"market": "Cleveland Cavaliers (LIGHT) - Total de Pontos (Inc. prorrogação)",
"player": "LIGHT",
"over_odd": 1.4,
"under_odd": 2.5
}
],
"asian_handicap": [
{
"market": "Handicap (Inc. prorrogação)",
"away_odd": 1.75,
"home_odd": 1.8,
"away_line": 9.5,
"home_line": -9.5
}
],
"start_time_utc": "2026-09-07T13:43:00Z",
"odds_updated_at": "2026-09-07T13:57:54Z",
"start_time_local": "2026-09-07 13:43:00"
}
],
"returned": 5,
"fetched_at": "2026-09-07T13:57:58Z",
"total_listed": 5,
"within_hours": 0.15,
"failed_events": []
},
"status": "success"
}
}About the Bet API
What the API Returns
The list_matches endpoint returns a single paginated response of all matches currently listed on the Superbet Brazil NBA H2H GG League Mixed tournament page. Each match object in the matches array includes event_id, start_time_utc, start_time_local, status (either NOT_STARTED or an in-play status), home_team, home_player, away_team, away_player, and a structured set of betting markets. Markets cover match winner (1X2 or head-to-head), over/under total points lines, handicap spreads, and per-player points props for both the home and away player.
Filtering and Response Metadata
The optional within_hours parameter accepts a positive decimal number and restricts results to matches starting within that time window. Omitting it returns every listed match regardless of start time. The response envelope provides total_listed (how many matches passed the filter), returned (how many had markets successfully fetched — subject to a 40-match cap), fetched_at (ISO 8601 UTC timestamp of when the listing was read), and failed_events (an array of {event_id, reason} objects for any matches whose detail could not be retrieved).
Coverage Scope and Limitations
This API covers only the NBA H2H GG League Mixed tournament on Superbet Brazil. The 40-match cap means very long lists may not fully reflect every event on the page in a single call. The failed_events array lets callers identify specific events that returned incomplete data and handle them gracefully. Odds are point-in-time snapshots tied to the fetched_at timestamp; this is not a streaming feed.
The Bet API is a managed, monitored endpoint for superbet.bet.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when superbet.bet.br 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 superbet.bet.br 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?+
- Monitor live esports basketball odds for the NBA H2H GG League Mixed tournament as matches move from NOT_STARTED to in-play
- Compare handicap and total points lines across all upcoming matches using the market data in each match object
- Build a player-vs-player dashboard using home_player and away_player fields alongside per-player points markets
- Set time-windowed alerts with within_hours to surface only matches starting within the next 2 hours
- Track which events return failed_events entries to detect data gaps and re-query specific event_ids
- Aggregate historical snapshots by storing fetched_at timestamps alongside odds to observe line movement over time
| 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.