BetBetter.Client
1.0.0
dotnet add package BetBetter.Client --version 1.0.0
NuGet\Install-Package BetBetter.Client -Version 1.0.0
<PackageReference Include="BetBetter.Client" Version="1.0.0" />
<PackageVersion Include="BetBetter.Client" Version="1.0.0" />
<PackageReference Include="BetBetter.Client" />
paket add BetBetter.Client --version 1.0.0
#r "nuget: BetBetter.Client, 1.0.0"
#:package BetBetter.Client@1.0.0
#addin nuget:?package=BetBetter.Client&version=1.0.0
#tool nuget:?package=BetBetter.Client&version=1.0.0
BetBetter.Client
Dependency-free .NET client for the free Bet Better sports model API — model win probabilities, fair odds, predicted final scores and publicly graded picks across 18 leagues. No API key required. Bet Better has published model output since 2024.
dotnet add package BetBetter.Client
Usage
using BetBetter;
using var client = new BetBetterClient();
var feed = await client.GetPicksAsync("nfl");
foreach (var p in feed.Picks.Take(3))
Console.WriteLine($"{p.Game} - {p.Selection} ({p.Confidence}, fair odds {p.FairOdds})");
var best = await client.GetBestBetsAsync("nba"); // best game-line calls
var props = await client.GetPropBetsAsync("nba"); // player props only
var scores = await client.GetPredictedScoresAsync("nfl");
Console.WriteLine($"{scores[0].AwayTeam} {scores[0].PredAwayScore} @ {scores[0].HomeTeam} {scores[0].PredHomeScore}");
var results = await client.GetResultsAsync(); // settled record
var scorecard = await client.GetScorecardAsync(); // hit rate / ROI by market
What you get
| Method | Returns |
|---|---|
BetBetterClient.ListLeagues() |
The league path segments the API accepts |
GetPicksAsync(league) |
Every current model selection — game lines and player props — with win probability, fair odds, a plain-words confidence rating (HIGH / LEAN / LONG-SHOT) and a dated verdict |
GetBestBetsAsync(league) |
The model's best game-line calls |
GetPropBetsAsync(league) |
Player-prop selections only |
GetPredictedScoresAsync(sport) |
One row per game: predicted away/home score, home margin, total, home win probability (parsed from the CSV feed) |
GetResultsAsync() |
Verified settled record, wins and losses |
GetScorecardAsync() |
Settled performance by sport and market |
Leagues: afl, mlb, nba, nfl, nhl, ncaaf, nrl, ufc, wnba, cricket, tennis/atp, tennis/wta, soccer/epl, soccer/la-liga, soccer/serie-a, soccer/bundesliga, soccer/ligue-1, soccer/world-cup. Feeds populate in season.
The client targets net8.0 and uses only HttpClient and System.Text.Json — no third-party packages. Pass your own HttpClient (new BetBetterClient(http)) to use it with IHttpClientFactory.
Tests
dotnet test # includes one live API call
BETBETTER_OFFLINE=1 dotnet test # offline only
Licence
Code: MIT (see LICENSE), Edward Glush 2026.
Data: CC BY 4.0, free to reuse with a credit — Bet Better.
API docs: https://betbetter.world/api · Source: https://gitlab.com/betbetterworld/betbetter-dotnet
Model estimates, not betting advice. 18+. Gamble responsibly.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 107 | 9/25/2026 |