Build guide

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 breaks

The news in one sentence, player and team first, with the source. Most of a news account's posts.

Final score

Thu, Sun, Mon

Score, the winner's record, and the three stat leaders. The script below writes it.

Injury report

Wed-Fri

Who is out, doubtful or questionable for the next game, from the Wednesday to Friday reports.

Trade and signing

As it happens

Who moved, for what, and what it does to both depth charts. Deadline day is the peak.

Fantasy note

Tue and Sun

Waiver adds, start/sit calls and snap counts for fantasy managers, who follow accounts for this alone.

Playoff picture

Weekly

Standings 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.

SourceFeed URLItemsNote
ESPN NFLespn.com/espn/rss/nfl/news26League-wide, fast on injuries and trades
Yahoo Sports NFLsports.yahoo.com/nfl/rss/50Busy; mixes news, columns and betting
ProFootballTalkprofootballtalk.nbcsports.com/feed/30Short news items, good for a headline account
CBS Sports NFLcbssports.com/rss/headlines/nfl/36News plus picks and rankings, so filter
Pro Football Rumorsprofootballrumors.com/feed15Signings, trades, IR moves. Best for deadline day
PFFpff.com/feed25Grades and analysis; strong for fantasy accounts
ESPN fantasy footballespn.com/espn/rss/nfl/fantasy29Start/sit and waiver news
BBC Sport American footballfeeds.bbci.co.uk/sport/american-football/rss.xml50UK angle, international games
The Guardian NFLtheguardian.com/sport/nfl/rss20Analysis and columns
Green Bay Packers (team site)packers.com/rss/news100Official team news; other team sites follow the same pattern
SB Nation team blogsacmepackingcompany.com/rss/index.xml10Fan 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:  @yournflnews

Running 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 TD

The 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.

DateWhat happens
Tue Nov 10, 4 p.m. ETTrade deadline: all trading ends for 2026
Wed Nov 25, 8 p.m. ETThanksgiving Eve: Packers at Rams (Netflix)
Thu Nov 26Thanksgiving: 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. ETBlack Friday: Broncos at Steelers (Prime Video)
Fri Dec 25Christmas: 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, 2027Week 18, the last regular-season week
Jan 16-18, 2027Wild Card Weekend
Sun Feb 14, 2027Super 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.

SetupTypical volumePlan
One team: news in your words plus its final scoreUp to 20 posts a dayPro, $19.99/mo
League-wide headlines with source links, or news, fantasy and one team on 3 accountsUp to 100 posts a day, 10 link posts, 3 X accountsAdvanced, $29/mo
A network of team or division accountsUp to 300 posts a day, 20 link posts, 10 X accountsAgency, $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.