No: Fanatics and NFL Shop do not publish set sale dates, and the "sale" price you see on most days is a sitewide promo code, not a markdown. But jersey sales are not random either. US search interest for Fanatics sales rises in five windows that recur: late March, mid-May, the end of July, Labor Day week and Thanksgiving week. To see what is actually on sale for your team today, Scavio's Fanatics API returns every jersey's list price, clearance price and with-code price from POST /api/v1/fanatics/deals on fanatics.com and NFL Shop, 1 credit a call, $1 per 1,000 requests on the Growth plan.
The question comes from r/footballjerseys, posted September 12, 2026, with 10 upvotes and 14 comments: a first-time NFL jersey buyer asked whether NFL Shop and Fanatics ever go on sale, and whether the timing is random or tied to dates such as Black Friday and Thanksgiving. The replies were consistent with each other: 20% to 30% off at random times through the year, a Labor Day sale of up to 60% off on many items, a spring clearance event, and the very cheap "fire sale" some commenters caught at the end of July. Here is the same answer with data.
The sale calendar from search interest
Fanatics announces sales on its own site when they start, not in advance. What can be measured is when people go looking. On Google Trends for the US over the last 12 months (weekly, one chart, one scale):
| Window | Week | What peaks |
|---|---|---|
| Late March | Mar 22-28, 2026 | "fanatics sale" 47, "fanatics jersey sale" 12 |
| Mid-May | May 10-16, 2026 | "fanatics jersey sale" 34 (its 12-month peak), "fanatics clearance" 17, "fanatics sale" 68 |
| End of July | Jul 26 - Aug 1, 2026 | a smaller bump: "fanatics sale" 20, "fanatics clearance" 7 |
| Labor Day | Aug 30 - Sep 5, 2026 | "fanatics sale" 100 (its 12-month peak), "fanatics clearance" 16 |
| Thanksgiving | Nov 23-29, 2025 | "fanatics black friday" 56, "fanatics sale" 19 |
Those match the thread: the Labor Day sale the commenter had just seen, a spring clearance, and the late-July fire sale. They also match what Fanatics needs to do: clear last season's and traded players' jerseys after a season ends and before the new ones arrive. Black Friday 2026 is November 27. On November 11, Fanatics had not published its Black Friday dates, and its Black Friday page carried generic copy. Last year, Sports Business Journal reported that "Fanatics set a company record for single day sales on Black Friday".
What "on sale" means on a normal day
Between those windows there is almost always a code. On November 11, 2026, the fanatics.com banner read "Up to 50% Off." with a code, and we read the Sale listing's jerseys through /deals:
curl -s https://api.scavio.dev/api/v1/fanatics/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "sale", "department_id": 8011}'Of the first 206 jerseys (three pages, top sellers), 190 were at their list price with the code taking 20% to 35% off, and only 16 were clearance markdowns, which the code took a few percent lower still. On NFL Shop, which the asker named, the jersey Sale listing held 2,413 items ("site": "nflshop", "department_id": 14012, NFL Shop's own Jerseys id). Its first page of 72 had 64 code-only jerseys, mostly 20% or 35% off, and 8 clearance markdowns, 6 of them Nike Vapor F.U.S.E. Limited jerseys (Aidan Hutchinson, Amon-Ra St. Brown, Justin Jefferson, Trevor Lawrence, Malik Nabers) at $122.99 from $174.99.
So "20% to 30% off randomly throughout the year" is right, and it is mostly a code that comes and goes. A code is not the same as a markdown: it may exclude a product, and Fanatics decides at checkout whether it applies or stacks.
The two stores do not run the same code
The asker named both stores, and they are worth checking separately. Same jersey, same day:
curl -s https://api.scavio.dev/api/v1/fanatics/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "5029988", "site": "nflshop"}'| Store | Patrick Mahomes Nike Vapor F.U.S.E. Limited Jersey (id 5029988) | List | With code | Code ends |
|---|---|---|---|---|
| NFL Shop | "Men's Kansas City Chiefs Patrick Mahomes Nike Red Vapor F.U.S.E. Limited Jersey" | $174.99 | $113.74 (35% off) | November 11 |
| fanatics.com | "Patrick Mahomes Kansas City Chiefs Nike Vapor F.U.S.E. Limited Jersey - Red" | $174.99 | $131.24 (25% off) | November 12 |
$17.50 apart on the same product id. Both showed sizes S to 3XL available, with S marked low.
How to see a markdown coming for one player's jersey
A markdown does not arrive for a whole player at once; it arrives per colorway. Aaron Judge's 37 jerseys on fanatics.com that day (/browse with player_id 31 and the Jerseys department) were 28 at list with the code, 7 clearance markdowns and 2 custom jerseys at full price. The Nike Limited came in three colors: white cleared to $121.99 and navy to $103.99, while gray stayed at its $174.99 list. If you want one jersey, watch that jersey, in your size, on a schedule:
import os, json, requests
from datetime import datetime, timezone
H = {"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}"}
WATCH = [("5029988", "nflshop", "L"), ("5029988", "fanatics", "L")] # (product id, store, your size)
for pid, site, mine in WATCH:
p = requests.post("https://api.scavio.dev/api/v1/fanatics/product", headers=H,
json={"product_id": pid, "site": site}, timeout=120).json()["data"]
size = next(s for s in p["sizes"] if s["size"] == mine)
row = {"at": datetime.now(timezone.utc).isoformat(timespec="minutes"), "id": pid, "site": site,
"list": p["regular_price"], "clearance": p["clearance_price"], "with_code": size["with_code_price"],
"available": size["available"], "stock_level": size["stock_level"]}
with open("jersey-prices.jsonl", "a") as f:
f.write(json.dumps(row) + "\n")
if p["clearance_price"]:
print(f"{p['title']} is on clearance at {site}: ${p['clearance_price']} (list ${p['regular_price']})")Two checks a day is 4 credits a day, 120 a month, $0.12 at the Growth rate of $1 per 1,000 credits; hourly through Thanksgiving week is 24 times that for those days. After a season of rows, jersey-prices.jsonl answers the thread's question for your jersey: when the code changed, when clearance appeared, and whether your size was still there when it did. stock_level is a level (low or out), never a unit count.
What this does not tell you
- Future sale dates. Fanatics publishes none; the windows above are when shoppers searched, and your polling log shows when prices moved.
- Whether a code applies at checkout. The API returns the site's with-code price and whether the current code applies to the product; Fanatics decides at checkout.
- Member or FanCash prices. Public prices only.
- Buying. This is monitoring data. It never carts or checks out, and it is not a tool for reselling.
For every Fanatics endpoint with captured responses, see how to get Fanatics jersey prices; for the other ways to get Fanatics data, see the best Fanatics jersey sale tracker APIs. The deals docs, product docs and the Fanatics API overview list every field. Try the Fanatics API free, 50 credits, no card.
Frequently asked questions
When does Fanatics have jersey sales?
Fanatics publishes no sale calendar, but US search interest shows five recurring windows: late March, mid-May (the year's peak for 'fanatics jersey sale' and 'fanatics clearance', May 10-16, 2026), the end of July, Labor Day week (the peak for 'fanatics sale', August 30 - September 5, 2026) and Thanksgiving week for Black Friday. Between them, a sitewide promo code takes 20% to 35% off most jerseys on many days.
Does Fanatics ever have sales?
Yes, but most are code prices rather than markdowns. On November 11, 2026, 190 of the first 206 jerseys on the fanatics.com Sale listing were at their list price with a promo code taking 20% to 35% off, and 16 were clearance markdowns. Scavio's Fanatics API returns the list, clearance and with-code price separately for each jersey.
Are NFL Shop and Fanatics prices the same?
The list prices match, but the codes do not have to. On November 11, 2026, the Patrick Mahomes Nike Vapor F.U.S.E. Limited Jersey listed at $174.99 on both. NFL Shop's code took it to $113.74 (35% off, ending that day) and fanatics.com's to $131.24 (25% off, ending the next day).
When is Fanatics Black Friday 2026?
Black Friday is November 27, 2026, and Cyber Monday November 30. Fanatics had not published its 2026 Black Friday dates on November 11; its Black Friday page was up with generic copy. Last year Sports Business Journal reported that Fanatics set a company record for single-day sales on Black Friday.