Discover/Melbet API
live

Melbet APImelbet.com

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.

Endpoint health
monitored
get_match_odds
list_leagues
list_matches
Checks pendingself-healing
Endpoints
3
Updated
3h ago
Try it
Match mode filter.
Number of matches to return (max 50).
Language code for team and league names (e.g. en, ru, fr, de, es).
Numeric sport identifier. Common values: 1 (Football), 2 (Ice Hockey), 3 (Basketball), 4 (Tennis), 5 (Baseball), 6 (Volleyball), 10 (Table Tennis), 13 (American Football), 40 (Esports), 66 (Cricket).
api.parse.bot/scraper/90539490-4895-4d3b-a6ce-228423d98330/<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/90539490-4895-4d3b-a6ce-228423d98330/list_matches?mode=2&count=10&language=en&sport_id=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 melbet-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: Melbet Sports Betting API — live odds, deep markets, league discovery."""
from parse_apis.melbet_com_api import Melbet, MatchMode, MatchNotFound

client = Melbet()

# List pre-match football matches with basic odds
for match in client.match_summaries.list(mode=MatchMode.PREMATCH, limit=3):
    print(match.team1_name, "vs", match.team2_name, "—", match.league_name)
    print("  1X2:", match.odds._1x2)

# Drill into a single match for all deep betting markets
summary = client.match_summaries.list(mode=MatchMode.LIVE, limit=1).first()
if summary:
    detail = summary.details()
    print(detail.team1_name, "vs", detail.team2_name, "— markets:", len(detail.markets))
    for market in detail.markets[:3]:
        print(f"  {market.market_name}: {len(market.outcomes)} outcomes")
        if market.outcomes:
            out = market.outcomes[0]
            print(f"    first outcome: type={out.outcome_type} odds={out.odds}")

# Fetch a match directly by ID with typed error handling
try:
    match = client.matches.get(match_id="733605854")
    print(match.team1_name, "vs", match.team2_name, "— event_count:", match.event_count)
except MatchNotFound as exc:
    print(f"Match not found: {exc.match_id}")

# List available football leagues
for league in client.leagues.list(sport_id="1", limit=5):
    print(league.league_name, "— games:", league.game_count)

print("exercised: match_summaries.list / .details / matches.get / leagues.list")
All endpoints · 3 totalmissing one? ·

Retrieve sports matches with basic betting odds (1X2, handicap, over/under). Supports filtering by sport and match mode (live or pre-match). Returns up to 50 matches per call ordered by start time proximity.

Input
ParamTypeDescription
modestringMatch mode filter.
countstringNumber of matches to return (max 50).
languagestringLanguage code for team and league names (e.g. en, ru, fr, de, es).
sport_idstringNumeric sport identifier. Common values: 1 (Football), 2 (Ice Hockey), 3 (Basketball), 4 (Tennis), 5 (Baseball), 6 (Volleyball), 10 (Table Tennis), 13 (American Football), 40 (Esports), 66 (Cricket).
Response
{
  "type": "object",
  "fields": {
    "total": "integer",
    "matches": "array of match summary objects with basic odds"
  },
  "sample": {
    "data": {
      "total": 10,
      "matches": [
        {
          "odds": {
            "1x2": {
              "away": {
                "odds": 3.52,
                "odds_str": "3.52"
              },
              "draw": {
                "odds": 1.92,
                "odds_str": "1.92"
              },
              "home": {
                "odds": 4.02,
                "odds_str": "4.02"
              }
            },
            "handicap": [
              {
                "odds": 1.405,
                "type": "away",
                "handicap": null,
                "odds_str": "1.405"
              }
            ],
            "over_under": [
              {
                "odds": 1.78,
                "type": "over",
                "total": 2.5,
                "odds_str": "1.78"
              }
            ]
          },
          "match_id": 733605854,
          "sport_id": 1,
          "team1_id": 12711,
          "team2_id": 13299,
          "league_id": 2708736,
          "sport_name": "Football",
          "start_time": 1783364400,
          "team1_name": "Portugal",
          "team2_name": "Spain",
          "event_count": 1455,
          "league_name": "World Cup 2026"
        }
      ]
    },
    "status": "success"
  }
}

About the Melbet API

The Melbet API on Parse exposes 3 endpoints for the publicly available data on melbet.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.