Discover/ScoreStream API
live

ScoreStream APIscorestream.com

Get live, final, and scheduled high school varsity football scores with quarter-by-quarter box scores and team details by US state via the ScoreStream API.

Endpoint health
verified 3h ago
get_game
list_games
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the ScoreStream API?

The ScoreStream API exposes 2 endpoints covering live, final, and scheduled high school varsity football games across US states, including per-quarter box scores and team metadata. The list_games endpoint returns a paginated feed of games filtered by state and date window, while get_game retrieves a single game with engagement metrics such as fan cheers, chat counts, and photo counts not available in the list view.

This call costs10 credits / call— charged only on success
Try it
Games per page; values above 200 are clamped to 200.
Two-letter US state code (upper or lower case). A code with no games returns an empty result rather than an error.
Number of games to skip in the site's result stream; use offset + count of the previous page to continue.
Last day of the window inclusive, ISO date YYYY-MM-DD. Must be on or after start_date. Omitted = 7 days after today.
First day of the window, ISO date YYYY-MM-DD (UTC midnight). Omitted = 7 days before today.
api.parse.bot/scraper/6de03e57-d13b-456a-a44a-96a9b44a2abe/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/6de03e57-d13b-456a-a44a-96a9b44a2abe/list_games?state=TN&end_date=2026-09-22&start_date=2026-09-05' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace scorestream-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: ScoreStream SDK — high school football scores, bounded and re-runnable."""
from parse_apis.scorestream_com_api import ScoreStream, GameNotFound

client = ScoreStream()

# Browse upcoming/recent Tennessee football games (default state="TN").
for summary in client.game_summaries.list(limit=5):
    print(summary.home_team.name, "vs", summary.away_team.name, "|", summary.status)

# Drill into the first game for full detail including engagement counts.
summary = client.game_summaries.list(limit=1).first()
if summary is not None:
    game = summary.details()
    print(game.home_team.short_name, game.home_score, "-", game.away_score, game.away_team.short_name)
    print("cheers:", game.home_cheers, "/", game.away_cheers, "| chat:", game.chat_count)

    # Walk quarter-by-quarter box scores.
    if game.box_scores:
        for qs in game.box_scores:
            print(f"  {qs.segment}: home {qs.home_score} - away {qs.away_score}")

    # Point lookup by id discovered from the listing.
    try:
        same_game = client.games.get(game_id=game.game_id)
        print("fetched by id:", same_game.home_team.name, "at", same_game.url)
    except GameNotFound:
        print("game no longer available")

print("exercised: game_summaries.list / details / games.get / box_scores")
All endpoints · 2 totalmissing one? ·

Lists high school varsity football games (scheduled, in progress and final) for one US state within a date window, one row per game. Each game carries a derived status ('scheduled' = no score reported yet, 'in_progress' = score reported and game not marked Final, 'final'), the current score, the current period label while in progress, and per-quarter box scores (null where the site has no per-quarter figure). Date-times are UTC as the site stores them; local_timezone gives the venue's IANA zone. Omitting start_date and end_date uses a rolling window from 7 days ago through 7 days ahead (UTC midnight bounds), which covers the previous week's finals, any games in progress right now, and the coming week's schedule. Ordering follows the site: newest start date first. Paginated by offset/count over the site's own result stream; total is the site's count of matching games and has_more tells whether another page exists. One round trip per page (plus a one-time bootstrap). A window with no games returns an empty games array with total 0. Only games the site holds with at least moderate confidence are included, matching what the site's own scores page shows. Games where a Tennessee team plays an out-of-state opponent are included.

Input
ParamTypeDescription
countintegerGames per page; values above 200 are clamped to 200.
statestringTwo-letter US state code (upper or lower case). A code with no games returns an empty result rather than an error.
offsetintegerNumber of games to skip in the site's result stream; use offset + count of the previous page to continue.
end_datestringLast day of the window inclusive, ISO date YYYY-MM-DD. Must be on or after start_date. Omitted = 7 days after today.
start_datestringFirst day of the window, ISO date YYYY-MM-DD (UTC midnight). Omitted = 7 days before today.
Response
{
  "type": "object",
  "fields": {
    "count": "number of games in this page",
    "games": "array of game rows: game_id, status (scheduled|in_progress|final), sport, start_datetime_utc, local_timezone, home_team/away_team {team_id, name, short_name, mascot, city, state}, home_score/away_score (null while scheduled), current_segment_id/current_segment (period label, only while in_progress), game_clock (seconds, may be null), last_scored_at_utc, score_confidence (site's 0-100 confidence grade), stoppage_message, box_scores [{segment_id, segment, away_score, home_score}], game_title, venue_id, latitude, longitude, url",
    "state": "state code the query was run for",
    "total": "site's total number of matching games in the window",
    "offset": "offset applied",
    "has_more": "true when offset + count < total",
    "window_end_utc": "exclusive end of the queried window, UTC",
    "window_start_utc": "start of the queried window, 'YYYY-MM-DD HH:MM:SS' UTC"
  },
  "sample": {
    "data": {
      "count": 1,
      "games": [
        {
          "url": "https://scorestream.com/game/portland-vs-east-robertson-6239700",
          "sport": "football",
          "status": "final",
          "game_id": 6239700,
          "latitude": 36.570949915256975,
          "venue_id": 151586,
          "away_team": {
            "city": "Cross Plains",
            "name": "East Robertson High School",
            "state": "TN",
            "mascot": "Indians",
            "team_id": 15418,
            "short_name": "East Robertson"
          },
          "home_team": {
            "city": "Portland",
            "name": "Portland High School",
            "state": "TN",
            "mascot": "Panthers",
            "team_id": 15569,
            "short_name": "Portland"
          },
          "longitude": -86.50950369425118,
          "away_score": 49,
          "box_scores": [
            {
              "segment": "1st Qtr",
              "away_score": null,
              "home_score": null,
              "segment_id": 10010
            },
            {
              "segment": "2nd Qtr",
              "away_score": null,
              "home_score": null,
              "segment_id": 10020
            },
            {
              "segment": "3rd Qtr",
              "away_score": null,
              "home_score": null,
              "segment_id": 10030
            },
            {
              "segment": "4th Qtr",
              "away_score": null,
              "home_score": null,
              "segment_id": 10040
            },
            {
              "segment": "Final",
              "away_score": 49,
              "home_score": 7,
              "segment_id": 19999
            }
          ],
          "game_clock": null,
          "game_title": null,
          "home_score": 7,
          "local_timezone": "America/Chicago",
          "current_segment": null,
          "score_confidence": 99,
          "stoppage_message": null,
          "current_segment_id": null,
          "last_scored_at_utc": "2026-09-12 04:13:27",
          "start_datetime_utc": "2026-09-12 00:00:00"
        }
      ],
      "state": "TN",
      "total": 345,
      "offset": 50,
      "has_more": true,
      "window_end_utc": "2026-09-15 00:00:00",
      "window_start_utc": "2026-09-01 00:00:00"
    },
    "status": "success"
  }
}

About the ScoreStream API

Game Feed by State

The list_games endpoint returns a page of high school varsity football games for a given US state (state param, two-letter code) within a date window defined by start_date and end_date (ISO format, YYYY-MM-DD). The response includes total, count, offset, and has_more for cursor-style pagination — pass offset + count as the next offset to walk through all results. Each game row contains game_id, a derived status of scheduled, in_progress, or final, start_datetime_utc, local_timezone, and structured home_team and away_team objects with team_id, name, short_name, mascot, city, and state. Current and final scores appear as home_score and away_score (null while scheduled).

Per-Game Detail and Box Scores

The get_game endpoint accepts a single game_id (from list_games) and returns the full game record in the same shape plus a box_scores array. Each element of box_scores includes segment_id, segment (e.g., "Q1", "Q2"), away_score, and home_score, giving quarter-by-quarter breakdowns when the source has them. This endpoint also adds fan engagement fields absent from the list view: chat_count, photo_count, video_count, home_cheers, and away_cheers.

Status Logic and Date Windows

The status field is derived: a game with no score reported is scheduled; one with a score but not yet marked final is in_progress; otherwise it is final. The default date window is 7 days before today through 7 days after. The window_start_utc and window_end_utc fields in the list_games response confirm the actual window applied. Passing a state code with no matching games returns an empty result set rather than an error.

Reliability & maintenanceVerified

The ScoreStream API is a managed, monitored endpoint for scorestream.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when scorestream.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official scorestream.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display a live high school football scoreboard filtered by state using list_games with a narrow start_date/end_date window
  • Build a quarter-by-quarter box score view for a specific game using the box_scores array from get_game
  • Track fan engagement on rivalry games by monitoring home_cheers, away_cheers, and chat_count from get_game
  • Aggregate weekly game results across multiple states by looping list_games with different state params
  • Power a high school sports schedule widget using status: scheduled games and start_datetime_utc for countdowns
  • Identify high-activity games by sorting on photo_count and video_count returned by get_game
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does ScoreStream have an official developer API?+
ScoreStream does not publish a documented public developer API. There is no official endpoint reference or API key portal listed on scorestream.com.
How does pagination work in list_games?+
The response includes total, count, offset, and has_more. To fetch the next page, set offset to the sum of the previous offset and count. The maximum count per request is 200; values above that are clamped automatically.
Does the API cover sports other than high school football, or other competition levels like JV or middle school?+
Currently the API covers varsity high school football only. Other sports, JV games, and middle school games are not included in the current endpoints. You can fork this API on Parse and revise it to add coverage for other sports or competition levels listed on ScoreStream.
Are per-quarter box scores always populated?+
Not always. The box_scores array is present for every game returned by get_game, but individual away_score and home_score values within each segment are null when the source has not reported quarter-level data for that game.
Does the API return player-level stats such as passing yards or rushing touchdowns?+
No player or play-level statistics are returned. The endpoints expose team scores, quarter-by-quarter segment totals, and fan engagement counts. You can fork this API on Parse and revise it to target a source that includes individual player stats.
Page content last updated . Spec covers 2 endpoints from scorestream.com.
Related APIs in SportsSee all →
livescore.com API
Track live scores and detailed statistics across football, hockey, basketball, tennis, and cricket with the ability to filter by date, sport, and league. Access match summaries, team overviews, standings, fixtures, and results to stay updated on your favorite competitions and teams.
insidelacrosse.com API
Access lacrosse game scores, schedules, and detailed statistics from InsideLacrosse.com. Retrieve results by date, gender, division, and season, and drill into individual game box scores including team and player performance data.
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
espn.com API
Get live scores, schedules, standings, teams, rosters, athlete profiles, game logs, and league news across major sports from ESPN.
cbssports.com API
Access comprehensive CBS Sports data including live game schedules, scores, game details, expert picks and analyst performance rankings, and team social feeds — all from a single API.
scorecatonline.com API
Access live gymnastics competition results, schedules, and meet information from across the country, with the ability to search meets, view session scores, and filter by state and season. Get detailed breakdowns of individual and team performances at specific gymnastics events.
footystats.org API
Get live football scores, team performance metrics, league standings, and head-to-head match statistics all in one place. Search teams and leagues to access detailed player stats, comprehensive analytics, and in-depth performance data across football competitions worldwide.
ncaa.com API
Access live college sports scores, game schedules, detailed boxscores, play-by-play breakdowns, and team statistics across NCAA sports. Search for specific contests and retrieve comprehensive game information for any NCAA sport, division, or team.