How to get live sports scores in a Discord server
Discord has no built-in sports feed, so live scores need a bot. Adding one takes two steps — authorise it on your server, then run its setup command in the channel you want scores in — and you need the Manage Server permission to do it. Most take under a minute.
The three ways to do it
| Approach | Effort | Worth it when |
|---|---|---|
| A sports bot | About a minute | Almost always. Formats scores readably and updates while the game runs. |
| An RSS or IFTTT webhook | An afternoon | You want one feed nobody supports. Expect headlines rather than live scores. |
| Writing your own | Days, then upkeep | You want data nobody else carries — and you are buying the data feed. |
For nearly everyone the answer is a bot. The rest of this page walks that route.
What to check before you pick one
- Does it cover your sport? Most are single-sport, so check before installing rather than after. If you are still shortlisting, best sports Discord bots compares six on coverage, price and what they post.
- Is there a free-tier limit? Several cap teams per server or leagues per feed, and that cap is what you hit three weeks in.
- How often does it update, and can you scope it? A bot polling every few minutes tells you about a touchdown after your group chat does, and one team versus a whole league on a Saturday is a different channel entirely.
- What permissions does it want? A scores bot needs to see a channel, post in it and embed links; one asking for Administrator or Manage Roles wants more than the job needs. The permissions Layup asks for is a worked example of reading a prompt line by line.
Adding one, step by step
- Open the bot's install link and pick your server. Only servers where you have Manage Server appear.
- Review the permission prompt and approve it.
- Go to the channel you want scores in and run the bot's setup command there. Nearly all of them attach the feed to the channel it was run in, which is the step people miss.
Free. You need Manage Server on the server you're adding to.
A worked example
Using Layup, the sports Discord bot this site is about, step three is one command run in the channel you want scores in:
/layup addBlank options give you everything — seven sports across more than thirty leagues, updating every five seconds while games are live. To narrow it, name a sport, league or team in the same line:
/layup add league:ncaafIt is free, with no paid tier and no team limit. The setup guide covers it in full and the /layup add command reference documents all five options.
Which sports can you get scores for?
Ask before you install, because most bots answer this with one sport. Layup's sport option is a fixed list of seven — Baseball, Basketball, Football, Golf, Hockey, Motorsport and Soccer — with a league filter under each, and four have a catch-all so you need not pick one: ncaaf, ncaab, all-golf and all-nascar.
Two things are easy to get wrong. College football and college basketball conferences are separate filters even where the name is identical, so following the Big Ten for football gets you no basketball. And golf and motorsport split finer than most coverage lists suggest — each major, the Ryder Cup, the Presidents Cup, the three NASCAR series and the Daytona 500, Coca-Cola 600 and Brickyard 400 are each their own filter.
One consequence of seven sports at once: team abbreviations collide, hard. 187 are claimed by more than one team, 152 across a sport boundary — BOS is the Celtics, the Bruins and the Red Sox. Hence team is an autocomplete, not a text box: pick the team and the sport comes with it. For a season end to end see the college football Discord bot page, or the NFL Discord bot page for the Sunday version.
What happens in the first minute after you add it
The confirmation is private. Layup answers the add command by naming the feed and the channel it landed in, and that reply is ephemeral — only whoever ran the command sees it, and it disappears when dismissed. Nobody else in the server gets any signal a feed now exists, so if you set one up for someone else, tell them.
The bot opens a support line, unprompted. On install it tries to DM whoever added it; if that person has DMs from server members switched off, Discord refuses and it creates a #layup-support channel instead. Messages in either reach the people who build the bot, which is the fastest way to report a game it got wrong.
Common problems
Nothing posts. Usually no game is live. Sports bots post events as they happen and do not backfill, so a quiet channel at 3am on a Tuesday is working correctly.
It posts in the wrong channel. The feed belongs to wherever the setup command was run. Remove it there and re-add it where you meant.
It stopped after working. Check channel-level permission overrides: a channel can revoke View Channel or Send Messages on its own.
Can you do this without a bot?
Yes, and it is worth knowing the cost first. Discord's own primitive is an incoming webhook: a per-channel URL that accepts a JSON POST and renders up to ten embeds per message. That part is easy. The rest is what a bot does for you.
- A data source. Free scoreboard endpoints are undocumented and change without notice. Paid feeds are where most people stop.
- A scheduler, and somewhere to keep state. A webhook posts what you send it, so something must run on a timer, compare the game to how it looked last time, and post only the difference — skip that and you post the scoreboard every cycle instead of the touchdown. A five-second cycle is 17,280 checks a day, per sport, before one message goes out.
- Back-off. Discord publishes no fixed rate-limit numbers; its developer docs say limits are dynamic and must not be hard-coded, so you read them off the response headers and slow down when told. Checked 2026-08-16.
The relay route — RSS or an IFTTT-style connector pointed at a webhook — skips the code and inherits the source feed's cadence, which for sports is article publication, not scoring plays. It has ceilings of its own: on 2026-08-16 IFTTT's plans page listed two Applets and “standard Applet speeds” free, with Webhooks paid. Fine for a daily digest, wrong for a live game.
Does this work on a phone?
Reading, yes — alerts are ordinary Discord messages and render the same in the mobile app. Installing is the awkward half: authorising a bot means picking a server on Discord's authorisation screen, with Manage Server on it, which is a lot of small targets and a login wall on a phone. Layup's install link notices a phone and offers to copy itself so you can finish on a computer.
FAQ
- Is there a free bot for live sports scores?
- Yes, several. Most free tiers cap how many teams or leagues one server can follow, so check for the cap before you commit a server to one. Layup has no cap and no paid tier to upgrade to.
- Can I get scores for more than one sport?
- Only if the bot covers more than one, and most do not. Layup takes a sport option with seven fixed choices, and leaving it blank puts all seven in one feed.
- How fast do the scores update?
- Layup checks every live game on a five-second cycle. Related events for the same game and channel inside a 30-second window edit the message already posted rather than adding another, so a busy sequence collapses into one updating post instead of five.
- What permission do I need to add one?
- Manage Server, on the server you are adding to. Most sports bots restrict their setup commands to it so ordinary members cannot reconfigure feeds.
- Will it spam the channel?
- It depends on how wide you scope the feed. Following a single team is quiet; following an entire sport on a busy day is not. Any bot worth installing lets you narrow the scope or reduce the alert types.
- Can I put different sports in different channels?
- Yes, where feeds belong to channels rather than to the server. A Layup feed belongs to the channel its add command was run in, so you run it once per channel with a different scope — NFL in one, your school in another.
Free. Two commands, no account, about 30 seconds.