Skip to contents

oddsapiR is an R package for accessing live and historical sports betting odds, scores, events, and participants from The Odds API — spanning dozens of sports and 60+ bookmakers worldwide. Every endpoint returns a clean, tidy data.frame/tibble ready for analysis, built on a single httr2-based request layer with automatic API-key handling and usage-quota tracking.

Part of the SportsDataverse family of R & Python packages for sports analytics. To access the API, get a free API key at https://the-odds-api.com.

Data freshness and pipeline status for every SportsDataverse dataset: sportsdataverse.org/status.

Installation

You can install the CRAN version of oddsapiR with:

install.packages("oddsapiR")

You can install the development version of oddsapiR from GitHub with:

# using the pak package (recommended):
if (!requireNamespace('pak', quietly = TRUE)){
  install.packages('pak')
}
pak::pak("sportsdataverse/oddsapiR")
# or using the devtools package:
if (!requireNamespace('devtools', quietly = TRUE)){
  install.packages('devtools')
}
devtools::install_github(repo = "sportsdataverse/oddsapiR")
# or clone and install locally
git clone https://github.com/sportsdataverse/oddsapiR
cd oddsapiR
Rscript -e "pak::local_install()"  # or: Rscript -e "devtools::install()"

Odds API Keys

The Odds API requires an API key, here’s a quick run-down:

  • Using the key: You can save the key for consistent usage by adding ODDS_API_KEY=XXXX-YOUR-API-KEY-HERE-XXXXX to your .Renviron file (easily accessed via usethis::edit_r_environ()). Run usethis::edit_r_environ(), a new script will pop open named .Renviron, THEN paste the following in the new script that pops up (without quotations)
ODDS_API_KEY = XXXX-YOUR-API-KEY-HERE-XXXXX

Save the script and restart your RStudio session, by clicking Session (in between Plots and Build) and click Restart R (there also exists the shortcut Ctrl + Shift + F10 to restart your session). If set correctly, from then on you should be able to use any of the functions without any other changes.

  • For less consistent usage: At the beginning of every session or within an R environment, save your API key as the environment variable ODDS_API_KEY (with quotations) using a command like the following.
Sys.setenv(ODDS_API_KEY = "XXXX-YOUR-API-KEY-HERE-XXXXX")

Documentation

For more information on the package and function reference, please see the oddsapiR documentation website.

There is also a printable oddsapiR cheat sheet (PDF), one of a set covering every SportsDataverse package.

Breaking Changes

Full News on Releases

Follow the SportsDataverse on Twitter and star this repo

Twitter Follow

GitHub stars

Star history of sportsdataverse/oddsapiR

The SportsDataverse

oddsapiR is part of the SportsDataverse, a family of open-source R, Python, and Node.js packages for sports data. Related packages you can pair odds data with:

Package Sport / Scope
cfbfastR College football
hoopR Men’s basketball (NBA & NCAA)
wehoop Women’s basketball (WNBA & NCAA)
fastRhockey Hockey (NHL & PWHL)
baseballr Baseball (MLB, MiLB, NCAA)
sportsdataverse-R Umbrella R metapackage
sportsdataverse-py · sportsdataverse.js Python & Node.js

See the full ecosystem at sportsdataverse.org.

Our Authors

Cheat sheet

A printable one-page reference for oddsapiR — the function families, the loaders, and what each one returns.

📄 Download the oddsapiR cheat sheet (PDF)

Free to download, print and hand out; light and dark, US Letter landscape. Every SportsDataverse package has one — browse them all at sportsdataverse.org/cheatsheets.

Citations

To cite the oddsapiR R package in publications, use:

BibTeX Citation

@misc{gilani_2022_oddsapiR,
  author = {Gilani, Saiem},
  title = {oddsapiR: The SportsDataverse's R Package for The Odds API.},
  url = {https://oddsapiR.sportsdataverse.org},
  doi = {10.32614/CRAN.package.oddsapiR},
  year = {2026}
}