Every week in the past on the Faculty Soccer Information Discord, some of us had been discussing the difficulties of updating their predictions for the CFBD Mannequin Choose’em Contest:
I see this criticism a good quantity–it’s tough to trace the entire video games which are obtainable to choose, to not point out vital adjustments to the outlook of various video games (a crew’s beginning QB being scratched with damage, as an example). That is why one among my prime suggestions for doing properly within the CFBD Mannequin Choose’em is to automate all the things! This doesn’t simply imply the way you make your predictions, however the way you submit your predictions as properly.
Due to some new options applied by Invoice, I’ve since moved past the Selenium-based pipeline I applied a number of years in the past, and now my total CFBD Mannequin Choose’em pipeline depends on a sequence of easy HTTP calls. On this put up, I’ll exhibit learn how to format and execute these calls utilizing cURL. cURL is an open-source library for importing and downloading knowledge from web sites.
This can be very unlikely that you’ll write these pipelines solely in cURL–quite, you’ll seemingly use a cURL wrapper library in your language of alternative. Luckily, the improbable free web site curlconverter.com will can help you copy and paste legitimate cURL instructions and convert them to the language of your alternative (R, Python, and many others.)
Acquiring your token
To start, we might want to receive a token for submitting to the sport. We’ll first want to enroll in the predictions sport if we have now not performed so already, then log in with our account. Go to predictions.collegefootballdata.com and sign up with one of many obtainable choices.

As soon as logged in, go to predictions.collegefootballdata.com/api/auth/token. You will notice a protracted string of characters–that is your prediction token. It is a distinctive identifier that the CFBD Mannequin Choose’em API will use to examine that it’s genuinely you submitting your picks, and never another person.
Two crucial notes:
This token is completely different out of your primary CFBD API key and these can’t be used interchangeably! So don’t swap them round–you can not use your automotive key to open your own home and vice versa! Don’t share this token with anybody! If you happen to give this token to another person, they will log into your account and entry your predictions and data.
This token will work for one month. You may merely set a reminder for your self as soon as a month to replace the prediction token when handy.
Getting video games to choose
Now that we have now our token, we will start to make HTTP requests to the location utilizing cURL.
Probably the most primary HTTP request is a GET request–after we make a GET request, we’re asking the url we’re querying to get us knowledge and return it to us in some format. We first have to specify the net url we try to question, which is the picks endpoint of the CFBD Mannequin Choose’em API. This API comprises the record of video games for which we will submit picks in a given week.
curl ‘https://predictionsapi.collegefootballdata.com/api/picks'{“error”:”Unauthorized”}
Bummer! We can not see the video games to choose until we will show we have now a CFBD Mannequin Choose’em account. Regardless of, we are going to simply want to offer it our token. To do that, we might want to cross in our token as a header, which is specified with an -H tag. Notice the backslashes () in our request–they permit us to place elements of our command on completely different traces, which permit us to make our requests extra readable.
Very similar to querying the CFBD API, we merely cross the header ‘authorization: Bearer {your token here–no brackets!} into our request as a header to our primary request.
curl ‘https://predictionsapi.collegefootballdata.com/api/picks’
-H ‘authorization: Bearer {your token right here!}'[{“id”:401754531,”season”:2025,”seasonType”:”regular”,”week”:3,”homeId”:154,”homeTeam”:”Wake Forest”,”awayId”:152,”awayTeam”:”NC State”,”spread”:7.5,”pickId”:120172,”pick”:[REDACTED]},
…
{“id”:401752921,”season”:2025,”seasonType”:”common”,”week”:14,”homeId”:130,”homeTeam”:”Michigan”,”awayId”:194,”awayTeam”:”Ohio State”,”unfold”:5.5,”pickId”:104248,”choose”:[REDACTED]}]
With this request, we have now uncooked JSON knowledge representing the entire video games we have now to choose! The id for every sport returned by your request is similar to the id for video games returned by requests to the CFBD API, so you possibly can simply decide which video games that you must predict for the competition.
Submitting predictions
Suppose we have now our prediction for the Michigan/Ohio State sport for the tip of the season–we predict Michigan will win by 3.5 factors (Invoice is not going to let me publish this weblog put up if I wouldn’t have Michigan profitable). We need to submit our prediction to the location. How can we? Now we have three choices:
We are able to manually submit our prediction on the web site.We are able to use the CSV import button on the web site to submit our prediction for the sport and every other video games we need to make predictions for.We are able to use cURL to make one other HTTP request and submit our predictions algorithmically!
The third possibility goes to combine most seamlessly into any prediction pipeline we construct. To do that, we will craft one other cURL, this time making a POST request.
A POST request is sort of like sending a letter–you place what you need to ship in your envelope, tackle it, after which POST it within the mail.
Identical to earlier than, we might want to embrace authorization for our request. Then, as a second header, we might want to inform cURL what format the information we’re sending it’s in–on this case, we’re sending it some JSON. Lastly, we ship it some formatted JSON to replicate the choose we’re submitting:
curl ‘https://predictionsapi.collegefootballdata.com/api/picks’
-H ‘authorization: Bearer {your token right here!}’
-H ‘content-type: utility/json’
–data-raw ‘{“gameId”:401752921,”choose”:-3.5}’
We do not get any output to our console with this request, but when we examine the web site, we will see that our submission went by to the predictions web page!

Wrapping it up
Bear in mind to make use of HTTP requests responsibly–you do not need to spam an internet site with HTTP requests, as this will trigger an unintentional denial of service or “DoS” assault or trigger your IP to be restricted (and even banned!) in case you are not cautious. Ensure you put ample time in between HTTP requests to permit the web site sufficient time to course of your requests.
This could arm you with the instruments to shortly pull in, predict, and submit your forecasts to the CFBD Mannequin Choose’em! You probably have knowledge structured with a prediction for every CFBD sport ID, submitting your predictions turns into a cinch. And due to what number of languages can help you submit HTTP requests, it ought to take little or no work to submit predictions mechanically utilizing no matter language you employ to generate predictions! Take pleasure in and better of luck within the prediction contest!