Skip to content
John Diebold edited this page Nov 30, 2025 · 3 revisions

Welcome to the cbs-sports-api wiki!

Currently this package only works for March Madness brackets. I'm planning to add support for other CBS fantasy sports as time allows, if there any you want me to prioritize please let me know.

I have only tested this with the men's bracket, but I think it would also work for women's.

Getting Started

You'll need the id for your pool. This is in the url for the standings page of the pool. For example:

https://picks.cbssports.com/college-basketball/ncaa-tournament/bracket/pools/kbxw63b2gezdknbsgqyds===/standings

The id is: 'kbxw63b2gezdknbsgqyds===' or 'kbxw63b2gezdknbsgqyds' (the === can be left in or out)

You can initialize your league like this:

import cbs_sports_api

my_league = cbs_sports_api.League(pool_id='kbxw63b2gezdknbsgqyds')

and then for example to print the pool name you would do this:

print(my_league.pool.pool_name)

which returns:

JD's Dance

To get details on the entries (individual brackets)

There are a couple ways to do this. If you want to get all the entries, you can use the fetch all entries function:

(Note: The way that the API works, we have to make a request for each entry individually. Because of this, fetch all entries will take a very long time for large pools. This is why fetch_all_entries is false by default.)

import cbs_sports_api

my_league = cbs_sports_api.League(pool_id='kbxw63b2gezdknbsgqyds', fetch_all_entries=True)
print(my_league.entries[0].picks)

This returns a dictionary of each matchup and the winning team that this entry picked:

{Matchup(South Round 1 Auburn vs. Alabama State): Team(Auburn), Matchup(South Round 1 Louisville vs. Creighton): Team(Creighton), ...

The other option is to specify the entry ID's of the entries you want details on and use the entry_details function:

my_league = cbs_sports_api.League(pool_id='kbxw63b2gezdknbsgqyds')
entry_IDs = my_league.pool.entry_ids
entry_0 = my_league.entry_details(entry_IDs[0])
print(entry_0.picks)

This will return the same dictionary as the fetch_all_entries method, but much quicker because we only requested the details for this one bracket.

(On my pretty old pc the fetch all entries method takes about 16 seconds for this league that has 16 entries. Just fetching the individual entry takes about 4 seconds.)

Clone this wiki locally