curl
curl https://organizations.totalaisports.com/api/v1/feeds/leagues/{league_id}/standings \
-H "Authorization: Bearer usf_live_…" \
-H "Accept: application/json"Developer portal
API keys, consistent envelopes, and rate limits that match the plan. Poll standings, schedule, and box scores without scraping a scoreboard.
Create a key in the league office under API Feeds. Send it on every request. Never put keys in query strings.
Authorization: Bearer usf_live_… X-Api-Key: usf_live_…
Canonical prefix /api/v1/feeds. Aliases: /api/v1/leagues/{id}/standings, /teams, /schedule, /api/v1/games/{id}/boxscore.
GET /api/v1/feeds/leagues/{league_id}League profile, sport, current season, team and game counts.
GET /api/v1/feeds/leagues/{league_id}/teamsEvery team: id, name, abbreviation.
GET /api/v1/feeds/leagues/{league_id}/standingsTable as of the last final. Rank, W-L-T, points for/against.
GET /api/v1/feeds/leagues/{league_id}/scheduleGames with scores, venue, and status. Filter with ?status=live&from=&to=.
GET /api/v1/feeds/games/{game_id}/boxscoreOne game: score, period, clock, linescore, sport stats.
curl https://organizations.totalaisports.com/api/v1/feeds/leagues/{league_id}/standings \
-H "Authorization: Bearer usf_live_…" \
-H "Accept: application/json"Every feed returns object, league, data, and meta.generated_at.
{
"object": "list",
"league": {
"id": "efaeba7b-2103-44ba-bc53-83cf79fa2c36",
"name": "Saskatoon Tuesday Softball",
"sport": "softball",
"sport_name": "Fastpitch Softball",
"timezone": "America/Chicago"
},
"data": [
{
"rank": 1,
"team": { "id": "…", "name": "Saskatoon Storm", "abbrev": "SS" },
"played": 1,
"wins": 1,
"losses": 0,
"ties": 0,
"points": 2,
"points_for": 8,
"points_against": 3,
"point_diff": 5
}
],
"meta": { "generated_at": "2026-08-23T20:00:00+00:00", "resource": "standings" }
}Hits are counted per league and per endpoint. League owners see the last 30 days on the API Feeds page.
Live schema: /api/docs