What BetsAPI does and who it is for

BetsAPI is a REST API that surfaces data from bet365, one of the largest online sportsbooks in the world. Rather than building and maintaining your own bet365 data pipeline, you call BetsAPI's endpoints to get live event state, prematch odds, upcoming schedules, and final results. The target audience is clear: developers working on sports betting analytics platforms, odds comparison sites, trading bots, or any product where bet365 market data is a core ingredient.

The API distinguishes itself by covering both sides of the timeline — what is happening right now (inplay) and what is scheduled to happen (prematch/upcoming), plus what already happened (results). That breadth, combined with a very high reported success rate of 100% and a marketplace subscriber base north of 6,700, suggests it is a mature and dependable feed rather than an experimental project.

Endpoint walkthrough

BetsAPI exposes seven GET endpoints, each targeting a distinct slice of the bet365 data model.

Inplay endpoints

  • GET /v1/bet365/inplay_filter — Returns a filtered list of currently live events. Useful for narrowing down to a specific sport or market before pulling full event data, which helps you stay within rate limits by fetching only what you need.
  • GET /v1/bet365/inplay — The main inplay feed. Expect a collection of currently active events with their associated markets and odds. This is the endpoint you would poll repeatedly in a live-scores or live-odds widget.
  • GET /v1/bet365/event — Retrieves granular data for a single inplay event. Where the /inplay endpoint gives you breadth across all live events, this one gives you depth on one — likely including scores, match state, and detailed market breakdowns.

Prematch and scheduling endpoints

  • GET /v1/bet365/upcoming — Lists events that are scheduled but not yet started. Ideal for building pre-game odds displays or scheduling background jobs that will later switch to inplay polling.
  • GET /v1/bet365/league — Returns upcoming events grouped or filtered by league. Useful when your product is sport- or competition-specific and you want to avoid fetching all upcoming events globally.
  • GET /v3/bet365/prematch — Delivers prematch odds. Note that this is on API version v3 while most other endpoints are v1, which may indicate the prematch odds model has gone through more revision. This is the endpoint to integrate if you need full market depth before a game starts.

Results endpoint

  • GET /v1/bet365/result — Returns historical results. This supports use cases like settlement verification, back-testing trading strategies, or populating a statistics database.

Performance characteristics

The API reports an average latency of 481 ms and a 100% success rate based on monitored calls. For inplay polling applications, 481 ms round-trip is acceptable but worth factoring into your polling architecture — if you are updating odds in near-real-time, you will want to design your loop around that baseline rather than assuming sub-100 ms responses.

Pricing breakdown

BetsAPI follows a freemium model with three tiers.

Plan Monthly cost Rate limit (per hour) Rate limit (per day) Overage
BASIC $0 10 24
PRO (recommended) $150 3,600 86,400 $0.0500 per call
ULTRA $200 99,999 2,400,000 $0.0100 per call

What the free tier realistically allows

At 10 requests per hour and only 24 per day, the BASIC plan is effectively a trial or evaluation tier. You can verify the data format and explore responses, but you cannot build any polling-based product on it — 24 calls per day is roughly one call every hour, which is far too infrequent for live odds or inplay scores. Plan for BASIC to be a development and integration testing environment only.

PRO vs ULTRA

The PRO plan at $150/month gives you 3,600 calls/hour, which works out to one call per second sustained over the full hour. For a product polling a handful of live events every few seconds, this is a reasonable budget. The $0.05 overage rate is steep — 100 extra calls costs $5 — so you will want alerting in place before you exceed the daily cap of 86,400.

The ULTRA plan at $200/month is effectively unlimited for most applications: 99,999 calls/hour and 2,400,000 per day. The $50 price gap over PRO is modest if you need headroom for high-frequency polling across many simultaneous events, and the overage rate drops to $0.01 per call, meaning overages are far less punishing. For any serious production workload with multiple concurrent users or aggressive refresh rates, ULTRA is the safer long-term choice.

Practical use cases

  • Live odds aggregation: Poll /inplay and /v1/bet365/event to compare bet365's live markets against other books in near-real-time.
  • Pre-match trading tools: Use /v3/bet365/prematch to track line movement in the hours before kickoff, then switch to inplay endpoints once the event starts.
  • Sports dashboards: Combine /upcoming, /league, and /result to build a schedule and results feed without needing a bet365 account or scraping infrastructure.
  • Strategy back-testing: Pull historical results via /result to validate a model against real bet365 settlement data.

Things to check before integrating

Rate limit math: If you plan to poll ten simultaneous inplay events every two seconds, that is 5 calls/second or 18,000 calls/hour — well above the PRO cap of 3,600. Map out your polling frequency and event count before choosing a plan.

Overage costs on PRO: The $0.05/call overage on PRO can add up quickly during high-traffic sports periods (major tournaments, weekend fixtures). Either cap your request volume programmatically or move to ULTRA if your traffic is spiky.

Versioning gap: Most endpoints are v1, but prematch odds sit on v3. Confirm whether a client library handles this transparently or whether you need to manage two base URLs.

Data rights and ToS: BetsAPI re-exposes bet365 data. Before building a consumer-facing product, verify that your use case aligns with both BetsAPI's and bet365's terms of service, particularly around odds display and attribution.

Getting started

Head to betsapi.com to sign up and obtain an API key. The BASIC plan requires no payment details, so you can start experimenting immediately. A sensible integration path is to hit /v1/bet365/inplay_filter first to understand the sport and competition taxonomy, then move to /v1/bet365/upcoming to get a feel for the prematch data structure, and finally wire up /v1/bet365/inplay once your data model is settled. With all endpoints using standard HTTP GET requests, there is no SDK required — a simple HTTP client in any language is sufficient to get your first responses.