Home/Guides/Data Hub

Use more than one data source

A feed, a Google Sheet, StatsCastr and the operator can all work on the same match. Here's which ones can run together, and what wins when two of them touch the same thing.

Updated 3 min readPro

Most broadcasts mix sources. A scoreboard reader handles the score and clock, a spreadsheet fills in the team info, a stat crew keeps the box score, and the operator covers everything else. That works well as long as each source owns its own part of the match. This guide explains what can run together and what happens when two sources send the same thing.

Short versionRun one feed (webhook or XML) for the game, plus Google Sheets for show info and StatsCastr for player stats if you want them. When the feed and the operator change the same field, the feed's next update wins. Give each source its own fields.

What can run together

Source Runs alongside Writes
Webhook or XML feed Sheets, StatsCastr, the dashboard Score, clock, period, game state, team stats
Google Sheets Everything Team names, venue, records, rosters, player bios and stats, lineups
StatsCastr Everything Player Stats graphics set to StatsCastr
The dashboard Everything Anything, any time

The one limit: a match has a single ScoreCastr Server connection. It's the webhook or the XML File Monitor, never both. Setting up XML on a match with the webhook on replaces the webhook, and the old URL stops working.

The feed and the operator

The dashboard keeps working while a feed is on. The rule for the same field is simple:

  • The feed sends a field: its value replaces what's on the match at each update. If the operator changes that field, the feed puts its own value back on its next update.
  • The feed doesn't send a field: the operator owns it. Changes made on the dashboard stay.

So if your OCR only reads the score and clock, the operator can run timeouts, stats, cards and graphics without the feed getting in the way.

BasketballEvery basketball update sets both scores, even when it leaves them out (they become 0). Don't send basketball updates from a source that doesn't carry the score.

Fixing a wrong value

If the feed sends a wrong number, like an OCR misread:

  1. Fix it on the dashboard so viewers see the right value now.
  2. Fix it at the source (the OCR reading, the scoring software or the file), or the next update brings the mistake back.

To stop the feed for a while:

  • Webhook: stop sending from your app. Don't disable ScoreCastr Server mid-game: that deletes the URL, and turning it back on makes a new one you'd have to paste into your app.
  • XML local file: click Pause in the XML setup page's Live Monitor, or in the XML pill's popup, and Resume when you're ready.
  • XML cloud URL: there's no pause. Stop updating the file, or disable the feed (this deletes the mapping).

Google Sheets alongside a feed

Google Sheets doesn't touch the score, clock or period. It writes show info and player data, and only when you click its sync or push buttons. A feed and a sheet don't compete, because they write different things.

If you also type team names or records on the dashboard, the last one saved shows: a sheet sync replaces what you typed, and your typing replaces the last sync. See Google Sheets and Google Sheets modes.

StatsCastr alongside a feed

StatsCastr's box score feeds the Player Stats graphics. A graphic uses StatsCastr's numbers when its data source is set to StatsCastr; otherwise it keeps its own values. The score, clock and period always stay ScoreCastr's, so a feed and StatsCastr can run together. See Link StatsCastr.

Two senders on one webhook

A match has one webhook URL, but more than one app can send to it, for example two OCR cameras on different parts of the scoreboard. Each update is applied as it arrives.

  • Give each sender different fields. If both send the same field, the value flips between them.
  • Avoid this setup for basketball, where every update sets the score.

Checklist

  • One feed per match: webhook or XML
  • Each source given its own fields
  • Operator knows which fields the feed controls
  • Misreads fixed at the source as well as on the dashboard
  • Feed paused by stopping the sender, not by disabling mid-game