Officially no, but there is undocumented API (if you are commercial, they provide documentation and support) that is public without authentication.

the more I think about it, the more it's actually so weird that the leagues don't have APIs

The request definitely comes from the leagues' broadcast partners, right? They would want as many eyeballs concentrated in as few places as possible so they can sell ads for more.