Build an NFL news bot for X
headlines, final scores, the trade deadline
NFL news runs on a weekly rhythm a bot can follow: injuries and moves during the week, scores on game days, the playoff picture from December. RSS feeds and a 30-line script cover all of it, with no X developer account.
Card required, cancel any time.
The short answer
Add https://www.espn.com/espn/rss/nfl/news or another working NFL feed to the OpenTweet RSS connector, write one prompt that turns each headline into a post, and set it to check every 15 minutes. For scores, read https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard after each game window and post every new final to POST https://opentweet.io/api/v1/posts. Write in your own words, name the source, and never repost game footage.
NFL accounts already run on OpenTweet. In the last 30 days, 12 paying accounts posted 320 NFL posts through it: a team account that posts a recap after every game ("Game Recap: Green Bay Packers at New England Patriots, Week 9, GB 45 - NE 27"), team news and quote accounts, and a fan forum that posts its game-day threads.
This week: the trade deadline is Tuesday
All trading for 2026 ends at 4:00 p.m. New York time on Tuesday, November 10, per the NFL's 2026-27 calendar. It is the one regular-season day when transaction news outruns game news. Point a connector at Pro Football Rumors and ESPN with a 5-minute check for the day, and schedule a "deadline is closed, here is every move" post for 4:30 p.m. ET.
Six posts an NFL account runs on
The RSS connector covers headlines, moves and fantasy notes. A small script covers final scores. Scheduled posts cover the rest.
Headline
As it breaksThe news in one sentence, player and team first, with the source. Most of a news account's posts.
Final score
Thu, Sun, MonScore, the winner's record, and the three stat leaders. The script below writes it.
Injury report
Wed-FriWho is out, doubtful or questionable for the next game, from the Wednesday to Friday reports.
Trade and signing
As it happensWho moved, for what, and what it does to both depth charts. Deadline day is the peak.
Fantasy note
Tue and SunWaiver adds, start/sit calls and snap counts for fantasy managers, who follow accounts for this alone.
Playoff picture
WeeklyStandings and who clinched, every week from December. Your most quoted post.
NFL RSS feeds that work
We requested each feed with the OpenTweet connector's own User-Agent on November 9, 2026, the morning after Week 9's Sunday games. Every one below returned items from that weekend.
| Source | Feed URL | Items | Note |
|---|---|---|---|
| ESPN NFL | espn.com/espn/rss/nfl/news | 26 | League-wide, fast on injuries and trades |
| Yahoo Sports NFL | sports.yahoo.com/nfl/rss/ | 50 | Busy; mixes news, columns and betting |
| ProFootballTalk | profootballtalk.nbcsports.com/feed/ | 30 | Short news items, good for a headline account |
| CBS Sports NFL | cbssports.com/rss/headlines/nfl/ | 36 | News plus picks and rankings, so filter |
| Pro Football Rumors | profootballrumors.com/feed | 15 | Signings, trades, IR moves. Best for deadline day |
| PFF | pff.com/feed | 25 | Grades and analysis; strong for fantasy accounts |
| ESPN fantasy football | espn.com/espn/rss/nfl/fantasy | 29 | Start/sit and waiver news |
| BBC Sport American football | feeds.bbci.co.uk/sport/american-football/rss.xml | 50 | UK angle, international games |
| The Guardian NFL | theguardian.com/sport/nfl/rss | 20 | Analysis and columns |
| Green Bay Packers (team site) | packers.com/rss/news | 100 | Official team news; other team sites follow the same pattern |
| SB Nation team blogs | acmepackingcompany.com/rss/index.xml | 10 | Fan blogs, one per team (prideofdetroit.com, and so on) |
Did not work: NFL.com (nfl.com/rss/rsslanding) returned an empty page; Sporting News and SI returned 404; Spotrac returned 403 to automated requests. More feeds for other beats are in news RSS feeds that work.
Set it up in the RSS connector
Connectors -> New connector -> Blog or newsletter (RSS)
Feed URL: https://www.profootballrumors.com/feed
Prompt: One post for NFL fans: the news in one sentence,
player and team first, then what it changes for
this week's game or the standings. Name the source.
No hashtags, no "BREAKING", no emoji.
Featured image: off (agency photos are licensed)
Frequency: Every 15 minutes
X account: @yournflnewsRunning a team account? Use the team's own site feed plus its SB Nation blog, and add "skip items that are not about the Packers" to the prompt. Scheduled runs skip items older than 48 hours, and each run posts at most the number of posts you set (1, 5 or 10), so a new connector won't flood the account with last week's news.
A final-score post in Python
Reads this week's scoreboard, posts each game that has finished, and remembers which games it already posted. Run it from cron every 15 minutes on game days. We ran it on November 9, 2026 against Week 9 (with the post call swapped for a print): it wrote 14 finals, skipped Monday night's Bills at Vikings, which had not kicked off, and a second run posted nothing.
import os, json, pathlib, requests
OT = {"Authorization": f"Bearer {os.environ['OPENTWEET_API_KEY']}"}
SEEN = pathlib.Path("posted_games.json")
seen = set(json.loads(SEEN.read_text())) if SEEN.exists() else set()
board = requests.get("https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard", timeout=20).json()
for event in board["events"]:
comp = event["competitions"][0]
if not comp["status"]["type"]["completed"] or event["id"] in seen:
continue
teams = {c["homeAway"]: c for c in comp["competitors"]}
win = teams["away"] if teams["away"].get("winner") else teams["home"]
lose = teams["home"] if win is teams["away"] else teams["away"]
record = win.get("records", [{}])[0].get("summary", "")
leaders = [f"{c['leaders'][0]['athlete']['shortName']}: {c['leaders'][0]['displayValue']}"
for c in comp.get("leaders", [])[:3]]
text = (f"FINAL: {win['team']['displayName']} {win['score']}, {lose['team']['displayName']} {lose['score']}"
+ (f" ({win['team']['abbreviation']} {record})" if record else "")
+ "\n\n" + "\n".join(leaders))
requests.post("https://opentweet.io/api/v1/posts", headers=OT,
json={"text": text, "publish_now": True}).raise_for_status()
seen.add(event["id"])
SEEN.write_text(json.dumps(sorted(seen)))What it posted
FINAL: Cincinnati Bengals 34, Atlanta Falcons 17 (CIN 6-2)
J. Burrow: 24/29, 271 YDS, 3 TD
B. Robinson: 19 CAR, 100 YDS, 1 TD
J. Chase: 10 REC, 155 YDS, 1 TDThe three stat lines are the game's leaders, which can come from the losing team. For a team account, filter comp["competitors"] to your team and post only its games. Every final is a plain-text post, so it does not use a link post.
ESPN's site API is unofficial. It needs no key and has served NFL scoreboards for years, but it is undocumented and can change. Check the response before posting, and license data (Sportradar and others) if the account is a business.
The rest of the 2026 season
From NFL.com's 2026-27 calendar and its Thanksgiving and Christmas schedule releases, read November 9, 2026. Schedule the previews now and let the script handle the scores.
| Date | What happens |
|---|---|
| Tue Nov 10, 4 p.m. ET | Trade deadline: all trading ends for 2026 |
| Wed Nov 25, 8 p.m. ET | Thanksgiving Eve: Packers at Rams (Netflix) |
| Thu Nov 26 | Thanksgiving: Bears at Lions 1 p.m. (CBS), Eagles at Cowboys 4:30 p.m. (FOX), Chiefs at Bills 8:20 p.m. (NBC) |
| Fri Nov 27, 3 p.m. ET | Black Friday: Broncos at Steelers (Prime Video) |
| Fri Dec 25 | Christmas: Packers at Bears 1 p.m. and Bills at Broncos 4:30 p.m. (Netflix), Rams at Seahawks 8:15 p.m. (FOX) |
| Jan 9-10, 2027 | Week 18, the last regular-season week |
| Jan 16-18, 2027 | Wild Card Weekend |
| Sun Feb 14, 2027 | Super Bowl LXI, SoFi Stadium, Inglewood |
Plan game week with an AI agent
Connect Claude, ChatGPT or Cursor to the OpenTweet MCP server and ask: "Here are Thursday's three Thanksgiving games and both teams' injury reports. Write a preview for each, schedule them for 10:00 ET Thursday, and save a draft for the Black Friday game." Give it the facts; it writes the words and fills the calendar.
Which plan fits your account
Flat monthly price, no per-post fee. The deciding numbers are posts a day and how many carry a link.
| Setup | Typical volume | Plan |
|---|---|---|
| One team: news in your words plus its final score | Up to 20 posts a day | Pro, $19.99/mo |
| League-wide headlines with source links, or news, fantasy and one team on 3 accounts | Up to 100 posts a day, 10 link posts, 3 X accounts | Advanced, $29/mo |
| A network of team or division accounts | Up to 300 posts a day, 20 link posts, 10 X accounts | Agency, $49/mo |
Pro includes 1 link post a day; link credits cover deadline day and busy Sundays on any plan. See pricing.
No game footage. Highlight clips belong to the NFL and its broadcasters, who send takedowns, and repeated strikes cost X accounts. Post the score in text and quote-post the official clip instead.
Your words, their credit. A one-sentence summary that names the source is news. Pasting the article is copying. Leave agency photos off.
Don't pose as a team or the league. Pick a name and avatar that don't look official, turn on X's Automated label, and name who runs the account. More in X automation rules.
Rumors are not news. Say "reported by" until a team confirms a trade. A bot that posts every rumor as fact loses followers on deadline day. See running a news aggregator account.
Frequently asked questions
How do I auto-post NFL news to X?
Add an NFL RSS feed (ESPN, Yahoo Sports, ProFootballTalk, CBS Sports, Pro Football Rumors, PFF, BBC Sport and The Guardian all worked on November 9, 2026) to the OpenTweet RSS connector, write one prompt that turns each headline into a post in your voice, set it to check every 15 minutes, and pick the X account. For final scores, run a short script after each game window. OpenTweet posts through a normal X login, so you need no X developer account.
Which NFL RSS feeds still work?
On November 9, 2026 these returned fresh items: espn.com/espn/rss/nfl/news (26 items), sports.yahoo.com/nfl/rss/ (50), profootballtalk.nbcsports.com/feed/ (30), cbssports.com/rss/headlines/nfl/ (36), profootballrumors.com/feed (15), pff.com/feed (25), feeds.bbci.co.uk/sport/american-football/rss.xml (50), theguardian.com/sport/nfl/rss (20) and espn.com/espn/rss/nfl/fantasy (29). Team feeds work too: packers.com/rss/news returned 100 items, and SB Nation team blogs publish /rss/index.xml. NFL.com's old RSS address returns an empty page, Sporting News and SI returned 404, and Spotrac returned 403.
Is there a free NFL scores API?
There is no official free NFL API. ESPN's site API answers https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard without a key, with each game's status, score, team records and the passing, rushing and receiving leaders. It is undocumented and unsupported, so it can change without notice; for a business, license data from a provider such as Sportradar.
When is the 2026 NFL trade deadline?
Tuesday, November 10, 2026, at 4:00 p.m. New York time, per the NFL's 2026-27 calendar. It is the busiest news day of the regular season for a news account: rumors in the morning, trades confirmed through the afternoon, and grades and fallout after 4 p.m.
Can I post NFL highlight clips on X?
Not clips you don't own. Game footage belongs to the NFL and its broadcast partners, and they file copyright takedowns against accounts that repost it; repeated strikes get X accounts suspended. Post the score and the stat line in text, link to or quote-post the team's or the league's own clip, and turn off the featured image option for agency photos.
How often should an NFL news account post?
Follow the football week: news and injury reports Monday to Saturday, game-day scores Thursday, Sunday and Monday nights, and the big stories as they break. Twenty to forty posts on a Sunday is normal for a league-wide account, most of them final scores. A team account posts less and goes deeper.
Other sports? See the sports stats bot, the golf news bot and the football transfer news bot. Game odds? See the prediction market odds bot. Video games? See the gaming news account. Game recaps on YouTube? See auto-post YouTube videos to X.
Everything you can build on X with OpenTweet
Post to X from your code, a watcher, or an AI agent. Start anywhere in the cluster.
OpenTweet vs the X API
Post, schedule, and automate X without a developer account or the $200/mo minimum.
X DM outreach, human-approved
Find and qualify leads, AI-draft DMs, approve each one, and drip-send from your own account via API or MCP.
Post to X without an API
The clean, account-safe way to post to X from your code or an AI agent.
Twitter MCP Server
Give Claude, Cursor, and OpenClaw the ability to post to X. 44 tools included.
Developer docs
Quickstart, API keys, MCP setup, and the REST reference for posting to X from code or an agent.
Cross-posting reference
One call posts to X, Bluesky and LinkedIn. The platforms field, per-network results, and why a network gets skipped.
Social media API for AI agents
Three ways an agent can post to X, Bluesky and LinkedIn, and the trade-offs of each.
LinkedIn MCP server
Post and schedule to a LinkedIn profile from Claude or Cursor through the official LinkedIn API.
XMCP vs OpenTweet
X's official MCP server bills per API call and cannot schedule. Compare it with the flat-fee hosted MCP.
MCP for AI agents
Connect your AI client to X in under two minutes, no X developer account.
Developer API and keys
REST endpoints, one bearer key, and usage tracking. Build on OpenTweet.
OpenTweet for AI agents
The posting layer for autonomous agents and automations that live on X.
Build an AI Twitter persona
Give your AI agent its own X account. Setup, cadence, and the rules that keep it safe.
Best MCP servers for social media
The 2026 ranked list. How the hosted OpenTweet MCP compares with the official X MCP and others.
Best API to post to X
Seven options priced at real volumes, and why links decide the bill.
Cheapest way to post to X via code
Flat fee vs pay-per-use. Why the $0.20 per-link fee flips the math past ~145 link posts a month.
X API pricing 2026
Every pay-per-use X API endpoint price from docs.x.com in one searchable table.
Bluesky posting API
Post and schedule to Bluesky with one REST call and OAuth, and cross-post to X and LinkedIn in the same request.
Automate LinkedIn posts
Post to LinkedIn from an AI agent, n8n or a script through the official Posts API, with one REST or MCP call.
The final score posted before the postgame show
Connect X, add an NFL feed, and have the account running before the deadline closes.