Skip to content

Sports API

Access University of Houston athletics data including schedules, rosters, standings, and game details.

https://api.coogcasa.com/sports

Or directly:

https://coog-sports-backend.coog-planner.workers.dev
Sport KeyName
mens-basketballMen’s Basketball
womens-basketballWomen’s Basketball
footballFootball
baseballBaseball
softballSoftball

Returns upcoming games across all sports.

GET /api/schedules

Response:

{
"games": [
{
"id": "401827646",
"sport": "mens-basketball",
"date": "2026-01-24T19:00Z",
"name": "Houston Cougars at Texas Tech Red Raiders",
"shortName": "HOU @ TTU",
"status": "scheduled",
"houston": {
"score": 0,
"record": "17-1",
"ranking": 6,
"isHome": false
},
"opponent": {
"id": "2641",
"name": "Texas Tech Red Raiders",
"abbreviation": "TTU",
"logo": "https://..."
},
"location": {
"name": "United Supermarkets Arena",
"city": "Lubbock, TX"
}
}
],
"lastUpdated": "2026-01-24T06:00:00.000Z"
}

Returns schedule and team info for a specific sport.

GET /api/schedules/sport?sport={sport}

Parameters:

NameTypeRequiredDescription
sportstringYesSport key (e.g., mens-basketball)

Response:

{
"sport": "mens-basketball",
"team": {
"id": "248",
"name": "Houston Cougars",
"abbreviation": "HOU",
"logo": "https://...",
"record": "17-1",
"conferenceRecord": "4-0",
"ranking": 6
},
"games": [...],
"lastUpdated": "2026-01-24T06:00:00.000Z"
}

Returns the team roster for a specific sport.

GET /api/roster?sport={sport}

Parameters:

NameTypeRequiredDescription
sportstringYesSport key

Response:

{
"sport": "mens-basketball",
"team": {
"id": "248",
"name": "Houston Cougars"
},
"athletes": [
{
"id": "4433147",
"name": "Emanuel Sharp",
"firstName": "Emanuel",
"lastName": "Sharp",
"jersey": "21",
"position": "Guard",
"height": "6'4\"",
"weight": "185 lbs",
"class": "Junior",
"hometown": "Houston, TX",
"headshot": "https://..."
}
],
"coaches": [
{
"name": "Kelvin Sampson",
"title": "Head Coach"
}
]
}

Returns Big 12 Conference standings for a sport.

GET /api/standings?sport={sport}

Parameters:

NameTypeRequiredDescription
sportstringYesSport key

Response:

{
"sport": "mens-basketball",
"conference": "Big 12",
"standings": [
{
"rank": 1,
"team": {
"id": "248",
"name": "Houston",
"abbreviation": "HOU",
"logo": "https://..."
},
"conferenceRecord": "4-0",
"overallRecord": "17-1",
"winPercentage": 0.944,
"streak": "W5"
}
],
"lastUpdated": "2026-01-24T09:00:00.000Z"
}

Returns detailed information about a specific game.

GET /api/game?id={gameId}

Parameters:

NameTypeRequiredDescription
idstringYesESPN Game ID

Response:

{
"id": "401827646",
"sport": "mens-basketball",
"date": "2026-01-24T19:00Z",
"status": "in_progress",
"period": 2,
"clock": "8:45",
"houston": {
"score": 45,
"record": "17-1"
},
"opponent": {
"score": 42,
"name": "Texas Tech Red Raiders"
},
"boxScore": {
"houston": {
"leaders": {
"points": { "name": "Emanuel Sharp", "value": 18 },
"rebounds": { "name": "J'Wan Roberts", "value": 8 },
"assists": { "name": "Jamal Shead", "value": 6 }
}
}
}
}

Returns team information for a sport.

GET /api/team?sport={sport}

Returns system statistics and health info.

GET /api/stats

Response:

{
"requests": {
"count": 42,
"date": "Fri Jan 24 2026"
},
"polling": {
"activeGames": 1,
"lastCheck": "2026-01-24T18:55:00.000Z"
},
"schedules": {
"totalGames": 156,
"lastUpdated": "2026-01-24T06:00:00.000Z"
}
}

Proxies ESPN images through our CDN to protect referrer headers.

GET /api/image?url={encodedEspnUrl}

Parameters:

NameTypeRequiredDescription
urlstringYesURL-encoded ESPN image URL

Example:

/api/image?url=https%3A%2F%2Fa.espncdn.com%2Fi%2Fteamlogos%2Fncaa%2F500%2F248.png

Returns the image with proper caching headers. Only ESPN domains are allowed.

{
"error": "sport parameter required"
}
{
"error": "Game not found"
}
{
"error": "Internal server error",
"message": "An error occurred"
}
  • Standard rate: 60 requests/minute per IP
  • Handled by Cloudflare WAF
EndpointCache Duration
/api/schedules24 hours
/api/roster24 hours
/api/standings1 hour
/api/gameVaries by status
/api/image7 days