A Java API for pulling robotics data from www.thebluealliance.com.
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea Bug fixes, Java 10 support Oct 11, 2018
gradle/wrapper Bug fixes, Java 10 support Oct 11, 2018
libs Added /libs/ Jan 7, 2018
src/main/java/com/cpjd Bug fixes, Java 10 support Oct 11, 2018
README.md Update README.md Sep 22, 2018
build.gradle Bug fixes, Java 10 support Oct 11, 2018
gradlew Added models Jul 7, 2017
gradlew.bat Added models Jul 7, 2017
settings.gradle Added models Jul 7, 2017



A Java library for pulling robotics data from https://www.thebluealliance.com.

I made this API because none of the other Java APIs were working for me. I hope that this will be the last place you have to go for your TBA API needs. Thanks!


You'll need to create a TBA account and register a read API key here: https://www.thebluealliance.com/account.

With JitPack

Use JitPack to install the library with Maven, Gradle, SBT, or Leiningen. Simply go to https://jitpack.io/#wdavies973/tba-api-v3, select your release, and add the provided lines to your buildfile.


Download the .jar file from https://github.com/wdavies973/TBA-API-V3/releases.

This API also requires json-simple. Download the .jar file at https://code.google.com/archive/p/json-simple/, and add both JARs to your build path.


TBA-API-V3 is modeled exactly off of the API specifications described at https://www.thebluealliance.com/apidocs/v3. All API calls found on this page are implemented in Java (or will be soon). Models can be found in the models package, if a model begins with a 'S', it represents a simple model as defined by the V3 API. To get started using the API, set the API read AUTH token with Constants.AUTH = "<auth-token>". Create a TBA object for usage with no constructors (better if parameters will be changed frequently) and a CTBA object for usage with constructors (better if parameters won't be changed frequently). For more information, visit the wiki at https://www.github.com/wdavies973/TBA-API-V3/wiki.

Android troubleshooting

Make sure you have internet permissions declared in the manifest:

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Make sure you run this line of code before calling any API commands:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitNetwork().build(); StrictMode.setThreadPolicy(policy);

Make sure you make API calls in an AsyncTask

Tutorial and Examples

Find them at https://www.github.com/wdavies973/TBA-API-V3/wiki.
The API is designed to be easy to use and fairly idiot-proof (no offense, I wish everyone designed their software like that).


There are about 5 API calls that haven't been implemented yet. JUnit tests and more would also be useful. I would greatly appreciate any help towards making this API a solid interface for the V3 API for the years to come.


Report any bugs or suggestions to wdavies973@gmail.com If you'd like any more functionality as far as ways you can pull data, and what you can pull, let me know and I'll add it right away.


This API is used by my scouting app Roblu. It's an all-in-one solution for scouting. Check it out at: https://www.roblu.net