Some API updates (documentation, code generation, coaching history)

Not a lot of updates but the ones I do have I feel are pretty substantial:

Implementation the OpenAPI specification

This is a pretty big deal as it enables two more pieces of functionality. About which, more in a second. You can access this specification in JSON format via the /api-docs.json endpoint.

Improved documentation via Swagger UI

When you visit the homepage now at https://api.collegefootballdata.com, you will be presented with Swagger's lovely UI. I think this offers several huge improvement over the previous landing page. On large improvement is the 'Try it out' button that you will now see displayed under each endpoint's documentation. This button will present a form enabling you to fill in any of the query params via the UI to generate a call, get back real results, and largely just play around with.

Automatic code generation through Swagger Editor

You can now automatically generate code for interacting with all API endpoints across 52 languages/frameworks. To do so, visit this direct link to a Swagger Editor instance for the project. In the top menu, select 'Generate Client' to see the list of available languages and frameworks. Upon selecting an option, a code project will automatically be generated and downloaded in your language of choice for interacting with the API. This is great if you are just getting started or are just starting off with learning a particular language.

Head coaching records

You can now query FBS head coaches. The query will return a list of seasons per each coach that includes the year, school, record, and AP poll start/finish. Check out the documentation on the landing page at https://api.collegefootballdata.com to see how to use the new endpoint.

As always, I greatly appreciate notifying me of any issues you encounter as well as any features and enhancements you may like to see. Please feel free to reply to any of these posts, shoot me a direct PM, or use the Taiga board for the project.

Thank you for pointing this out. I think you are exactly right, the irregular situation caused the game to be prematurely broadcast as 'completed', triggering my importers. This has now been corrected. Thanks again!

I wonder if there are any sites out there that use this API that people could post links to.

I am currently teaching myself programming and web design, and I am building college football website with this API. I would love to see some examples of how other developers have implemented it on their own sites!

It seems like most people are using it to import data into their own statistical models. However, I do know that a few people are using it in websites. I'll try to go through my inbox and find them when I am able.

So...random thought. Has anybody ever considered making a FoIA request for information to feed into this database? Was just thinking it would be interesting to have ticket sale data (both home and away ticket allotments) and attendance numbers on a game by game basis.

I'm sure that would drastically expand the project, but getting data that way might be interesting to try.

Thanks! It's kind of a hodgepodge. The bulk of it is collected from ESPN's rather clunky, undocumented API. Other parts are scraped from places like sports-reference and 247 Sports. I've also had users provided me with some data that's been incorporated.

Hey - The API is fantastic. Thanks for all your work. I'm starting to dive in more and figured I'd share a couple pieces of feedback.

Opportunity #1: Improve documentation -- You have to assume that folks will find your API from Swagger (or other non-Reddit ways). Therefore the documentation on Swagger should be detailed. Here's some stuff I find missing / lacking:

/Game: home_line_scores, away_line_scores -- Are these point spreads? If so, from what books? It looks like you return a couple. Are they from multiple books or are they an open and a closing line?

/Team Talent: talent -- Intuitively I know that this is a number representation of the talent on the team. Is it standardized at all? Seems like it might be scaled from 1000 to 0 but it's not explicitly written.

Rationale for those being -- I can calculate the likelihood for Team A to score vs Team B (based on Drive or Play-By-Play stats) but I'd love to put that into context. It'd be great to tease out the differences in terms of likelihood to score of a Alabama vs. Georgia compared to an Alabama vs. Citadel.

Please don't take these as complaints or negatives. Just wanted to share thoughts and offer to help however I can. I'll be using your API during the offseason to prep for next year's NCAAF season.

Thanks for the feedback. I'll be adding some more detail to the documentation at some point. I was just trying to get OpenAPI and Swagger implemented and will be building on it from there. Line scores are points for each team broken down by quarter. Talent data is the 247 Team Talent Composite.

Lots of plans to add more data (you can check out the taiga board to see what's currently planned). We can definitely look into doing some of that sort of stuff, but the primary focus of the API right now is to be a comprehensive source for raw data and statistics that people can use to do their own analytics. Though, we can certainly look into adding different rankings and things like that down the road.