How to Pull College Football Odds and Player Props

August 26, 2026

How to Pull College Football Odds and Player Props

How to Pull College Football Odds and Player Props

College football is the awkward one. An NFL Sunday is a manageable slate you can fetch in a single request and hold in memory. A college Saturday is a different shape of problem: far more games, wildly uneven market depth between a ranked conference matchup and a mid-week Group of Five fixture, and a schedule that sprawls across the whole day.

This guide covers how to query it. For the coverage and pricing picture, the college football odds API page has the full breakdown.

The leagueID is NCAAF

Everything starts there. College football is NCAAF in the API, and it sits under sportID=FOOTBALL alongside the NFL, CFL, USFL and XFL.

curl "https://api.sportsgameodds.com/v2/events?leagueID=NCAAF&oddsAvailable=true&limit=10" \
  -H "x-api-key: YOUR_API_KEY"

That returns upcoming college football events with every market currently open on them: spreads, moneylines, totals, and player props where books are pricing them.

Coverage is uneven, and your code should expect it

This is the part that catches people out. Market depth in college football is not uniform the way it is in the NFL.

Ranked matchups and major-conference games carry close to the full prop catalogue. Smaller games reliably carry the core three — spread, moneyline, total — with props appearing only where individual sportsbooks choose to price them.

So don't write code that assumes a market exists because it existed last week for a different game. Read what's actually there from byBookmaker on each odd, and treat a missing prop as normal rather than as an error.

That unevenness is also where the opportunity is. Books price marquee games sharply and agree closely with each other. On smaller games they diverge, and divergence is what line-shopping and positive EV tools are built on.

Player props use the same oddIDs as the NFL

Both leagues sit under sportID=FOOTBALL, so they share a stat vocabulary and a period structure. Anything you have already written for the NFL works here by changing one parameter.

curl "https://api.sportsgameodds.com/v2/events?leagueID=NCAAF&oddsAvailable=true&oddIDs=passing_yards-PLAYER_ID-game-ou-over,rushing_yards-PLAYER_ID-game-ou-over&includeOpposingOdds=true" \
  -H "x-api-key: YOUR_API_KEY"

PLAYER_ID is a wildcard meaning any player. Swap it for a specific player ID to narrow to one person.

The oddID format is {statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID}, and college football uses the same quarter and half periods as the NFL: game, reg, 1h, 2h, 1q, 2q, 3q, 4q. Common football statIDs include passing_yards, passing_touchdowns, rushing_yards, receiving_yards, receiving_receptions and touchdowns.

Pulling the NFL and college board together

In autumn you often want both. Drop leagueID and pass sportID instead:

curl "https://api.sportsgameodds.com/v2/events?sportID=FOOTBALL&oddsAvailable=true&startsAfter=2026-09-05T00:00:00Z&startsBefore=2026-09-08T00:00:00Z" \
  -H "x-api-key: YOUR_API_KEY"

One request, the whole American football board for that window. Each event carries its own leagueID, so splitting NFL from college on your side is trivial, and you have spent one request rather than five.

Keeping a Saturday slate fast

Three parameters do most of the work, and they matter more here than in any other league simply because of the number of games:

  • Trim oddIDs. Ask for the markets you actually use. This is the single biggest lever on response time.
  • Pass bookmakerID. If you only display four books, requesting all of them is wasted payload.
  • Set includeOpposingOdds=true. You then list only the over side of each market and get the under back automatically, halving your oddIDs list.

One more thing worth knowing on a big slate: you are charged per event object, not per market. Ten college games is ten objects whether each returns twelve markets or four hundred.

Read More: How to query NFL odds and player props | Every NFL betting market we cover | Choosing a football betting API

What is the leagueID for college football?
NCAAF. Pass leagueID=NCAAF to /v2/events. The league is NCAA Men's Football in our config, and it sits under sportID=FOOTBALL alongside the NFL, CFL, USFL and XFL.
Can I pull NFL and college football in one request?
Yes. Drop leagueID and pass sportID=FOOTBALL instead, and a single request returns every American football league we carry. Each event still tells you which league it belongs to, so you can split them apart on your side.
Do college football props use the same oddIDs as the NFL?
Yes. Both leagues sit under sportID=FOOTBALL, so they share the same statIDs and the same quarter and half periods. A query written against passing_yards-PLAYER_ID-game-ou-over works for either league by swapping the leagueID.
Is prop coverage the same for every college game?
No, and it is worth planning for. Ranked and major-conference matchups carry close to the full prop catalogue. Smaller games reliably carry spread, moneyline and total, with props only where individual books choose to price them. Read live availability from byBookmaker rather than assuming a market exists.
How do I keep a full Saturday slate fast?
Trim oddIDs to the markets you actually use, pass bookmakerID to limit the books, and set includeOpposingOdds=true so you only list one side of each market. Those three together make the largest difference on a big slate.

Build on the full college board

Free tier, no card required. Every FBS game with odds, in one feed.