Discover/BetsAPI API
live

BetsAPI APIbetsapi.com

Retrieve match results, quarter scores, and team stats for the eBasketball H2H GG League (4x5mins) via two structured endpoints.

Endpoint health
verified 17h ago
get_results
get_match_details
2/2 passing latest checkself-healing
Endpoints
2
Verified account required
Updated
3d ago

What is the BetsAPI API?

This API exposes match results and per-match statistics for the eBasketball H2H GG League (4x5mins) via two endpoints. get_results returns paginated match listings — 30 per page — with home/away team names, IDs, final scores, and UTC timestamps. get_match_details returns a single match record including period-by-period scores (quarters 1–4, half-time, and final), full-game stats arrays, and half-game stats where the source publishes them.

This call costs2 credits / call— charged only on success
Try it
Page number for pagination (1-based).
api.parse.bot/scraper/88bd064f-14ec-46b5-b471-f891f1332e53/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/88bd064f-14ec-46b5-b471-f891f1332e53/get_results?page=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 betsapi-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.


"""Walkthrough: H2H GG League SDK — bounded, re-runnable; every call capped."""
from parse_apis.betsapi_com_api import H2hGgLeague, InputNotFound

client = H2hGgLeague()

# List recent match results — limit caps TOTAL items fetched across all pages.
for match in client.matches.list(limit=5):
    print(match.date, match.home_team, "vs", match.away_team, match.score)

# Drill-down: grab one match, then fetch its full details via the instance method.
match = client.matches.list(limit=1).first()
if match is not None:
    detail = match.details()
    print(f"{detail.home_team} vs {detail.away_team} — {detail.score}")
    print(f"Sport: {detail.sport}  League: {detail.league}")

    # Walk period scores and match stats from the detail view.
    for ps in detail.period_scores:
        print(f"  Period {ps.period}: {ps.home}-{ps.away}")
    for stat in detail.match_stats:
        print(f"  {stat.name}: {stat.home}-{stat.away}")

# Point lookup using an event_id discovered from the list.
if match is not None:
    try:
        full = client.match_details.get(event_id=match.event_id)
        print(f"Looked up: {full.home_team} vs {full.away_team}")
    except InputNotFound as e:
        print(f"Match not found: {e}")

print("exercised: matches.list / match.details / match_details.get")
All endpoints · 2 totalmissing one? ·

Retrieve match results for the eBasketball H2H GG League (4x5mins), one row per match, 30 matches per page in reverse chronological order. Each row carries the match date/time (UTC ISO 8601), home and away team names and ids, the score string (e.g. "52-55", one shape), and event_id, which is the key for get_match_details. Matches currently in progress at the top of the list may appear with a partial or 0-0 score. One request per page; page selects the page (1 when omitted) and total_pages reports how many pages the site exposes.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based).
Response
{
  "type": "object",
  "fields": {
    "page": "current page number",
    "matches": "array of match result objects",
    "total_pages": "total number of available pages",
    "matches[].date": "match start time, UTC ISO 8601",
    "matches[].score": "final (or current) score as \"home-away\"",
    "matches[].event_id": "numeric match identifier as a string; pass unchanged to get_match_details",
    "matches[].away_team": "away team name",
    "matches[].home_team": "home team name",
    "matches[].away_team_id": "site team identifier of the away team (string)",
    "matches[].home_team_id": "site team identifier of the home team (string)"
  },
  "sample": {
    "data": {
      "page": 1,
      "matches": [
        {
          "date": "2026-09-11T18:07:00Z",
          "score": "52-55",
          "event_id": "13116150",
          "away_team": "MEM Grizzlies (GRAVITY)",
          "home_team": "MIL Bucks (INVINCIBLE)",
          "away_team_id": "1133370",
          "home_team_id": "1224590"
        },
        {
          "date": "2026-09-11T18:03:00Z",
          "score": "49-51",
          "event_id": "13116070",
          "away_team": "BKN Nets (NIGHTHAWK)",
          "home_team": "MIA Heat (CYPHER)",
          "away_team_id": "1170173",
          "home_team_id": "1155064"
        }
      ],
      "total_pages": 8145
    },
    "status": "success"
  }
}

About the BetsAPI API

Match Listings with get_results

get_results returns up to 30 matches per page in reverse chronological order. Each object in the matches array includes home_team, away_team, home_team_id, away_team_id, the score string in home-away format, a UTC ISO 8601 date, and an event_id string. The total_pages field lets you calculate how many additional pages to fetch. Pass an integer page parameter to paginate through the full result history.

Per-Match Detail with get_match_details

get_match_details accepts a single required parameter event_id — taken directly from a get_results response — and returns the full match record for that event. The period_scores array includes one entry per scoring period: quarters labeled "1" through "4", half-time labeled "H", and the final labeled "F". The match_stats array contains full-game team stat rows, each with a name, home value, and away value. The half_stats array follows the same shape but covers only the first half; both arrays are empty when the source has not published stats for that match.

Coverage and IDs

All team and match identifiers (home_team_id, away_team_id, event_id) are stable string representations of the site's numeric IDs. They can be used to join data across paginated result pages or to build per-team match histories by filtering the matches array on the client side. The league and sport fields in get_match_details reflect exactly what the source publishes for the event.

Reliability & maintenanceVerified

The BetsAPI API is a managed, monitored endpoint for betsapi.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when betsapi.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 betsapi.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.

Last verified
17h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a historical results table for the eBasketball H2H GG League using paginated get_results responses.
  • Calculate average quarter scores per team by aggregating period_scores entries across get_match_details calls.
  • Track head-to-head records between two teams by filtering matches on home_team_id and away_team_id.
  • Feed final scores and timestamps into a betting model that requires chronological match history.
  • Compare first-half and full-game stats using the half_stats and match_stats arrays from get_match_details.
  • Monitor score margins per quarter to identify teams that commonly lead or trail at half-time.
  • Populate a league standings or results feed that refreshes with each new page from get_results.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does BetsAPI have an official developer API?+
Yes. BetsAPI offers an official developer API documented at https://betsapi.com/docs/. It requires registration and provides access to live odds, results, and league data through paid plans.
What does get_match_details return for period scores, and how are the periods labeled?+
The period_scores array includes one entry per scored period. Quarters are labeled "1" through "4", half-time is labeled "H", and the final score is labeled "F". Each entry contains the home and away values for that period. If the source has not published period data for a given match, the array may be incomplete.
Are team stats always present in the response?+
No. Both match_stats and half_stats are returned as empty arrays when the source has not published stats for a given match. This is common for older historical records. You should check array length before attempting to read individual stat rows.
Can I filter get_results by team or date range?+
The get_results endpoint does not accept team or date filter parameters — it returns 30 matches per page in reverse chronological order, and pagination is controlled only by the page integer. Filtering by team ID or date must be done on the client side after fetching. You can fork this API on Parse and revise it to add server-side filtering as an input parameter.
Does the API cover other leagues or tournaments on BetsAPI beyond the eBasketball H2H GG League?+
Not currently. Both endpoints are scoped to the eBasketball H2H GG League (4x5mins). Other basketball leagues or esports competitions on BetsAPI are not included. You can fork this API on Parse and revise it to point at a different league endpoint.
Page content last updated . Spec covers 2 endpoints from betsapi.com.
Related APIs in SportsSee all →
h2hggl.com API
Access live e-sports match data, daily schedules, upcoming games, and final results across H2H GG League eBasketball competitions. Retrieve real-time scores, player statistics, head-to-head comparisons, and detailed match timelines.
superbet.bet.br API
Access live odds and upcoming match details for the NBA H2H GG League Mixed tournament on Superbet Brazil, including team lineups, player information, and betting markets for match winners, total points, handicaps, and individual player scoring. Track both upcoming and in-play matches with real-time start times to monitor the best available odds across all markets.
interwetten.com API
Access real-time basketball betting odds, matches, and market information from Interwetten across all major leagues including NBA, NCAA, and Euroleague. Browse available leagues, view upcoming matches, and get detailed betting details for 35+ basketball competitions worldwide.
covers.com API
Get comprehensive NBA matchup information including team records, ATS/O-U trends, head-to-head statistics, injury reports, and the best betting odds across sportsbooks. Compare matchup details and betting projections to inform your analysis before placing bets.
hltv.org API
Access Counter-Strike esports data from HLTV.org including match results, player and team statistics, team rankings, upcoming match schedules, tournament information, and fantasy league data.
oddsportal.com API
Track sports betting odds, matches, and results across multiple sports and leagues in real-time, while viewing team standings and match details to stay informed on upcoming games. Access comprehensive betting data and historical results from OddsPortal to compare odds and analyze sports outcomes.
melbet.com API
Place bets with confidence by accessing live and pre-match odds, match information, and league data across multiple sports from Melbet. Stay updated with real-time betting opportunities and comprehensive sports coverage to make informed wagering decisions.
bo3.gg API
Track and compare professional esports performance across CS2, Valorant, and League of Legends by viewing detailed player statistics like kills, deaths, assists, multikills, and clutches. Discover top-performing players and analyze individual match histories to understand player performance ratings and competitive trends.