When a data feed stops working mid-game, you need to know fast whether the problem is the sender, the address or ScoreCastr. Most Data Hub problems come down to a few causes: an old URL, the wrong field names, a missing header, or a browser that lost access to a file. Work through the section that matches what you see.
The ScoreCastr button
- It has a lock and a Pro badge. The Data Hub needs the Pro plan on the account you're signed in with. See Plans explained.
- There's no ScoreCastr button. MMA and swimming don't have the Data Hub. Every other sport has it at the top of the Scoring tab.
- "Failed to enable ScoreCastr". Only the account that owns the match can turn ScoreCastr Server on, off or regenerate its token. Sign in as the owner. If you are the owner, try again in a moment.
Webhook error replies
Check what the webhook sends back. Your app may show it in a log; a test from Terminal or PowerShell prints it. See Send live data by webhook for a test command.
| Reply | Fix |
|---|---|
| 401 "Invalid authentication token" | The token changed. After Regenerate Token, or turning ScoreCastr Server off and on, copy the new Webhook URL into your app. |
| 403 "ScoreCastr is not enabled for this match" | ScoreCastr Server is off. Someone disabled it, or it turned itself off after 12 hours without an update. Enable it again and paste the new URL. |
| 404 "Match not found" | The match id in the URL is wrong, or the match was deleted. |
| 400 with a JSON message | The body isn't valid JSON. Check for missing quotes, a trailing comma, or single quotes around names. |
| 400 "This match is not configured for XML updates" | Your app is sending XML. Send JSON, or use the XML File Monitor instead. |
| 500 "Failed to process update" | ScoreCastr couldn't save that update. Send it again; if it keeps happening, contact support with the time it happened. |
The reply is fine but nothing changes
- Missing header. Every request needs
Content-Type: application/json. Without it, ScoreCastr doesn't read the body, still replies 200, and"changed"isfalse. - Wrong field names. Use the names in your sport's field guide, for example basketball or football. The common ones are
home_score,away_score,clockandperiod. - Nested JSON. Put every field at the top level of the body, not inside another object.
- Home and away swapped.
away_is the match's first team (the visitors). Swap the two names in your app. - Volleyball shows the wrong number.
home_scoreandaway_scoreare sets won. The current set's points arehome_current_set_pointsandaway_current_set_points. - The clock is wrong. Send
"MM:SS"or a number of seconds, nothing else in the value. - Same values.
"changed": falsecan simply mean the values already matched.
Scores keep changing back
- You fix a value and it reverts. The feed sends that field, so its next update replaces your fix. Correct it at the source too. See Use more than one data source.
- Basketball scores drop to 0. A basketball update arrived without both score fields. Include
home_scoreandaway_scorein every basketball update, and don't let a second sender post basketball updates without them. - Two senders fight over a field. Give each app its own fields.
XML fields won't detect
Detect Fields shows "XML probe failed" with a reason:
- "Only http(s) URLs are allowed" or "Invalid URL": paste the full address, starting with
https://. - "URL resolves to a private/internal address": the file is on your own network. Use a local file instead, or host it at a public address.
- "Source returned HTTP 403" or 404: the file isn't public, or the address is wrong. Open the link in a private browser window to check.
- "Failed to fetch URL": the server didn't answer, or the link redirects. ScoreCastr doesn't follow redirects, so use a direct download link.
- "Invalid XML": the file isn't valid XML. Open it and check your software finished writing it.
- "Source response too large (max 2 MB)": the file is too big to read.
For a local file, the Pick XML file button is greyed out in Firefox and Safari. Use Chrome, Edge, Brave or Opera.
The XML feed is red or stopped
Click the XML pill next to the status dot to see each feed's state.
- "Browser permission expired" or the resume banner. The browser dropped access to the file after the tab closed, reloaded or slept. Click Resume Feed or Re-grant and allow access.
- No saved file on this device. The file was picked on another computer or in another browser. Click Re-pick file, choose the file, then Resume Feed.
- "Paused after 3 consecutive errors". Fix the cause shown, then click Resume or Retry.
- Paused by hand. A feed you paused shows red too. Click Resume.
- "Mapping not yet confirmed". Open the XML setup page and click Confirm & Enable.
- A cloud URL feed shows Errored and stays stopped. After 3 failed reads in a row it stops trying. Fix the file or link, then on the setup page change Polling Interval (s) (for example from 2 to 3) and click Save Mapping. That restarts it. Disabling and setting it up again also works, but you'll redo the mapping.
- Amber, "stale". No update for 30 seconds. That's normal while the clock is stopped. If it lasts, check the software is still writing the file. "Feed appears stale" in Other Sources means nothing has changed for a few minutes during a live game.
- The local feed stopped when the laptop slept. The feed runs in the browser. Keep the computer awake and a ScoreCastr tab open for the whole game.
After the game
- End Match doesn't turn off a feed. Disable the feed after the game too: Disable ScoreCastr for a webhook, Disable XML Feed for XML. See End a match.
- The match still counts toward your plan. A match with a feed on counts as active for as long as the feed is on. Disable it to free the slot. See Run several matches at once.
- The feed turned itself off. ScoreCastr turns off a feed that goes 12 hours without an update. Enable it again and give your app the new URL.
Checklist
- Reply checked: 200 with "success": true
- Content-Type: application/json on every webhook request
- Field names from the sport's field guide, home and away the right way round
- Both scores in every basketball update
- XML pill green, with Resume Feed used after any restart
- Feed disabled after the game