TBA APIv3 Client

I wrote this program to be used for robotics teams taking part in the FIRST Robotics Competition. Our team needed a way to download match schedules and team lists for various events, and we didn’t have an efficient way to automate that. This Java program uses the TBA APIv3 to download event match schedules, event team lists, and a complete FRC team list.

When using the program, most settings are saved when the program is closed, including the TBA API key, data to export setting, output file location, file export type, and the team number to highlight. The only thing that is not saved is the match ID. Instructions for how to use the program can be found below.

Additional information can be found on the GitHub repository.

Download now!


To use the program, you first must obtain an API key. This can be done by logging in to The Blue Alliance and requesting a key on your account page. These instructions can be found here. Open the program and copy and paste the key into the “TBA API key” field in the program.

TBA APIv3 Client API key

Data to Export

You can select what data to pull from The Blue Alliance database. The “Data to Export” drop down lists all of the options available. “Match schedule” will download a list of all qualification matches with team numbers and alliance colors. “Event Team List” will download a list of all teams present at an event. “Complete Team List” will download a list of all registered FRC teams. Other program settings will determine which file type this data will be exported to.

TBA APIv3 Client data to export

File Type & Location

The next settings available determine where the exported file will save and what format the file will be. The “Browse” button will open a dialog where the output location can be changed. To change the output file type, open the “File type” drop down. Available output file types are .XLSX (default), .TXT, and .XLS.

TBA APIv3 Client file type and location

Match ID

The match ID is determines what match data to fetch. To find a match ID for an event, first open the corresponding TBA page. For this example, I will use the 2019 Indiana FIRST championship event. The URL of the event page for this event is “thebluealliance.com/event/2019incmp.” The match ID is the text after “/event/,” which for this event, is “2019incmp.” This text should be copied into the “Match ID” text field.

TBA APIv3 Client match ID

(Optional) Team Number

This setting simply highlights the given team number in the exported Excel file. This can be used to easily find which matches a specific team is competing in. To use this setting, type a team number into the “Team number” text field.

TBA APIv3 Client team number

Run Program

Once all the settings are chosen, run the program by pressing the “Start” button. As the program runs, the progress bar will estimate how much data is left to process. Additional information will be given in the output log during the process. Once the program is finished, the output file will contain the downloaded information.

TBA APIv3 Client start

Example Output

TBA APIv3 Client excel output
TBA APIv3 Client TXT output


View the GitHub repository!

VersionGitHubJAR (local)
2.3[18.8 MB]
2.2[18.7 MB]
2.1[18.2 MB]
2.0[18.2 MB]

2 thoughts on “TBA APIv3 Client”

Leave a Comment