1xBet API1xbet.fi ↗
Get real-time live sports data from 1xBet.fi: match scores, periods, timing, and 1X2/handicap/totals odds via one API endpoint.
What is the 1xBet API?
The 1xBet.fi API exposes one endpoint — get_live_events — that returns currently active sporting events with live match status and betting odds. Each response includes up to 100 events per request, covering fields like current score, period, elapsed time, and main market coefficients (1X2, handicaps, totals). Sport coverage spans football, ice hockey, basketball, tennis, and volleyball, selectable via the sport_id parameter.
curl -X GET 'https://api.parse.bot/scraper/2a3ad92e-8788-45dd-8fe5-acf4802b2786/get_live_events?count=5&sport_id=1' \ -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 1xbet-fi-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: 1xBet Live Events SDK — bounded, re-runnable; every call capped."""
from parse_apis.api_1xbet_fi_api import OneXBet, SportId, GeoBlocked
client = OneXBet()
# List live football events with status and odds
for event in client.live_events.list(sport_id=SportId._1, limit=3):
print(event.home_team, event.home_score, "-", event.away_score, event.away_team)
print(f" {event.league} | {event.period_name} {event.time_minutes}min")
if event.main_odds.home_win:
print(f" 1X2: {event.main_odds.home_win} / {event.main_odds.draw} / {event.main_odds.away_win}")
# Drill-down: take one event and inspect its handicaps
match = client.live_events.list(sport_id=SportId._1, count=10, limit=1).first()
if match:
print(f"\nDetail: {match.home_team} vs {match.away_team}")
for h in match.handicaps[:2]:
print(f" Handicap {h.type}: {h.value} @ {h.odds}")
# Typed error handling for geo-blocked IPs
try:
for ev in client.live_events.list(sport_id=SportId._4, limit=1):
print(ev.home_team, ev.away_team)
except GeoBlocked:
print("Blocked: IP is from a restricted country")
print("exercised: live_events.list")
Retrieve currently live sporting events with real-time match status (score, period, time) and betting odds (coefficients). Returns main 1X2 odds, handicaps, and totals for each event. Results are filtered by sport; football (sport_id=1) is the default. Events reflect the current in-play state and odds shift in real time.
| Param | Type | Description |
|---|---|---|
| count | integer | Maximum number of events to return (1-100). |
| sport_id | string | Sport identifier. 1=Football, 2=Ice Hockey, 3=Basketball, 4=Tennis, 6=Volleyball. |
{
"type": "object",
"fields": {
"total": "integer count of events returned",
"events": "array of live event objects with status and odds"
},
"sample": {
"data": {
"total": 1,
"events": [
{
"sport": "Football",
"league": "USA. MLS",
"totals": [
{
"odds": 7.62,
"type": "over",
"value": 2.5
},
{
"odds": 1.09,
"type": "under",
"value": 2.5
}
],
"event_id": 739224719,
"away_team": "Los Angeles Galaxy",
"handicaps": [
{
"odds": 1.504,
"type": "home",
"value": null
},
{
"odds": 2.735,
"type": "away",
"value": null
}
],
"home_team": "San Jose Earthquakes",
"main_odds": {
"draw": 1.09,
"away_win": 24,
"home_win": 13.8,
"draw_or_away": 1.035,
"home_or_away": 8.46,
"home_or_draw": 1.007
},
"away_score": 1,
"home_score": 1,
"start_time": 1785033000,
"period_name": "2nd half",
"time_minutes": 90,
"markets_count": 40,
"current_period": 2
}
]
},
"status": "success"
}
}About the 1xBet API
What the API Returns
The get_live_events endpoint returns an array of live event objects currently running on 1xBet.fi. Each event object includes real-time match status data — current score, game period, and elapsed time — alongside the main betting markets: 1X2 outright odds, handicap lines, and over/under totals. The response also includes a total field indicating the count of events returned in that call.
Filtering and Parameters
Two optional parameters control the response. sport_id filters results by sport: 1 for Football (the default), 2 for Ice Hockey, 3 for Basketball, 4 for Tennis, and 6 for Volleyball. count limits the number of events returned, accepting integers from 1 to 100. Omitting count returns all available live events up to the maximum. Requests reflect the state of markets at the moment the call is made — odds shift continuously as matches progress.
Coverage and Freshness
Data covers the sports explicitly listed above. Since this endpoint targets live (in-play) events only, the result set changes as matches start and finish throughout the day. During peak hours, football alone can have dozens of simultaneous events. Outside peak windows or for less-watched sports, the result set may be small. There is no historical or pre-match endpoint in the current API surface.
The 1xBet API is a managed, monitored endpoint for 1xbet.fi — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 1xbet.fi 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 1xbet.fi 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?+
- Display a live odds ticker for football and basketball on a sports dashboard
- Monitor 1X2 coefficient drift across all in-play football matches in real time
- Aggregate handicap and totals lines from 1xBet alongside other bookmakers for line comparison
- Trigger alerts when the current score or period changes for a tracked event
- Power a live scoreboard widget using the score and elapsed-time fields
- Filter in-play tennis or volleyball events by sport_id to build sport-specific feeds
- Track how many live events are active at a given time using the
totalresponse field
| 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.