MoneyLine Sports API for Python
The official Python SDK for MoneyLine Sports API. Use it to get live odds, player props, hit rates, +EV and arbitrage signals, and scores for NFL, NBA, MLB, NHL, college football, college basketball, EPL, MLS and the World Cup, all through one API.
See what's covered right now, including leagues, sportsbooks, DFS apps and exchanges, at moneylineapp.com/coverage.
Install
pip install moneyline-sports-api
The SDK needs Python 3.9 or later and has no dependencies.
Get an API key
Sign up for a free key. The SDK reads it from the MONEYLINE_API_KEY environment variable, or you can pass it in yourself:
from moneyline_sports_api import MoneyLine
ml = MoneyLine(api_key="your-key")
Examples
# Today's NFL odds across every book
odds = ml.odds(league="nfl")
# Player props for one player
props = ml.player_props(league="nba", player="Jayson Tatum")
# Positive expected-value bets and arbitrage
ev = ml.ev_bets(league="nfl", limit=10)
arbs = ml.arbitrage(league="mlb")
# Hit rates over the last 5, 10 and 25 games and the season
# (player IDs come back on every player-prop record)
rates = ml.hit_rates(player_id, market="player_points")
# Ask MoneyLine AI a question grounded in live data
answer = ml.ask("Best NBA player props tonight?")
# Live coverage counts (no key needed)
coverage = ml.coverage()
Every other endpoint is reachable through ml.get(path, **query), which returns the response data. To get data and meta together, use ml.request("GET", path, query).
Errors
A failed call raises MoneyLineError with the HTTP status, a stable code such as ERR_API_KEY_INVALID or ERR_CREDIT_LIMIT, and a request_id to include when you contact support.
from moneyline_sports_api import MoneyLineError
try:
ml.odds(league="nfl")
except MoneyLineError as err:
if err.status == 429:
pass # You hit the rate limit. Wait, then try again.
Each request times out after 15 seconds. To change that, pass timeout.
Links
MIT licensed.
Release files for moneyline-sports-api 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moneyline_sports_api-0.1.0.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moneyline_sports_api-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.3 kB
Release files / moneyline_sports_api-0.1.0.tar.gz
| Download URL | moneyline_sports_api-0.1.0.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b04ecc6cded711e2f2ca52609278691f8627b9379a2eb1ec928552d927115be3
|
|
BLAKE2b-256 checksum How to use checksums |
b5efbd81b4c06ac1ef849aa6c0cf05090f3f0c3261716bedab968f94bdbccd8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency logRelease files / moneyline_sports_api-0.1.0-py3-none-any.whl
| Download URL | moneyline_sports_api-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e4ae535e02a2b0634471a17bd936bff2b1fb351c85f433a03841a0509b4ca98
|
|
BLAKE2b-256 checksum How to use checksums |
31f8da581df29a23d09c96ba390acfaf789b66b53c1f0efa5cb8b15a185128a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency log