diff --git a/scouting/webserver/requests/requests.go b/scouting/webserver/requests/requests.go
index 6f83bfe..3aa9076 100644
--- a/scouting/webserver/requests/requests.go
+++ b/scouting/webserver/requests/requests.go
@@ -232,9 +232,9 @@
 	return -1, errors.New(fmt.Sprint("Failed to find comp level ", comp_level, " in list ", list))
 }
 
-func (handler requestAllMatchesHandler) teamHasBeenDataScouted(key MatchAssemblyKey, teamNumber int32) (bool, error) {
+func (handler requestAllMatchesHandler) teamHasBeenDataScouted(key MatchAssemblyKey, teamNumber string) (bool, error) {
 	stats, err := handler.db.ReturnStats2023ForTeam(
-		strconv.Itoa(int(teamNumber)), key.MatchNumber, key.SetNumber, key.CompLevel)
+		teamNumber, key.MatchNumber, key.SetNumber, key.CompLevel)
 	if err != nil {
 		return false, err
 	}
@@ -277,7 +277,7 @@
 			}
 		}
 
-		var team *int32
+		var team *string
 		var dataScoutedTeam *bool
 
 		// Fill in the field for the match that we have in in the
