To get Fanatics jersey prices programmatically, use Scavio's Fanatics API. POST /api/v1/fanatics/search and /browse return a team's or a player's jerseys, each with three prices kept apart: regular_price (list), clearance_price (a markdown) and with_code_price (after the site's current promo code, when it applies). /deals reads the Sale, clearance and under-25 listings, and /product returns every size with its availability, stock level, price and with-code price. The same calls read NFL Shop, MLB Shop, NHL Shop and MLS Store, and seven international storefronts in their own currencies. Every call costs 1 credit, $1 per 1,000 requests on the Growth plan.
Every response below was captured on November 11, 2026, 16 days before Black Friday. Listing calls took 2.5 to 6.5 seconds (one NFL Shop listing took 21.8), product calls 5.7 to 15.5 seconds, and reviews are slower (106 seconds for 10 in our call), so give reviews a client timeout of 300 seconds. Everything here is monitoring data: the API reads prices and availability and never carts, checks out or resells.
Step 1: Search Fanatics jerseys by player or team
curl -s https://api.scavio.dev/api/v1/fanatics/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "aaron judge jersey"}'37 jerseys came back in 2.8 seconds. Two of them and one facet, as captured (35 items and other facets trimmed):
{
"query": "aaron judge jersey",
"corrected_query": null,
"broad_match": false,
"total": 37,
"total_capped": false,
"page": 1,
"page_size": 72,
"total_pages": 1,
"sort": "top_sellers",
"count": 37,
"items": [
{
"id": "202768661",
"title": "Aaron Judge New York Yankees Nike Home Limited Player Jersey - White",
"brand": "Nike",
"price": 121.99,
"regular_price": 174.99,
"sale_price": 121.99,
"clearance_price": 121.99,
"with_code_price": 115.89,
"code_percent_off": 34,
"percent_off": 30,
"price_label": "clearance",
"top_seller": "Jerseys",
"customizable": false,
"ship_by": "2026-11-16T23:00:00.000Z"
},
{
"id": "2001542427",
"title": "Aaron Judge New York Yankees Nike Alternate Replica Jersey - Navy",
"brand": "Nike",
"price": 149.99,
"regular_price": 149.99,
"sale_price": null,
"clearance_price": null,
"with_code_price": 112.49,
"code_percent_off": 25,
"percent_off": 0,
"price_label": "coupon",
"top_seller": "Jerseys",
"customizable": false,
"ship_by": "2026-11-12T23:00:00.000Z"
}
],
"facets": [
{
"id": "featuredDepartmentsBoxes",
"label": "Featured Departments",
"values": [
{ "label": "Jerseys", "filter": "d", "value": "8011", "count": 37 },
{ "label": "T-Shirts", "filter": "d", "value": "8022", "count": 1 }
]
}
],
"data_as_of": "2026-11-11T18:42:53.426Z",
"currency": "USD",
"site": "fanatics"
}The two jerseys show the two kinds of Fanatics sale. The Home Limited is a clearance markdown: percent_off 30 takes $174.99 to $121.99, and the code takes it to $115.89, 34% off list in total (code_percent_off is measured from the list price). The Alternate Replica has no markdown: its price is the $149.99 list and only the code takes it to $112.49. with_code_price is null when the site's code does not lower that item. price_label is the site's own badge for the tile; coupon only means the item is coupon-eligible, so read with_code_price (null when the code does not lower that item) to know whether it applies. sort takes top_sellers, price_low_to_high, price_high_to_low or newest, page_size 24, 48 or 72, and gender, league_id and department_id narrow the search.
Step 2: Browse a team's or a player's jerseys with ids from facets
Search finds products by keyword; /browse reads the listing Fanatics itself keeps for a team, a player, a league section, a department, a brand or a collection. Ids come from facets and from product responses: a product's player field carried {"id": 31, "name": "Aaron Judge"}, and the Chiefs' team listing listed its departments with their ids:
curl -s https://api.scavio.dev/api/v1/fanatics/browse \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"team_id": 3433}'{
"browse": { "league": null, "team": { "id": "3433", "name": "Kansas City Chiefs" }, "player": null, "department": null, "brand": null, "collection": null, "applied_filters": [] },
"total": 7115,
"facets": [
{ "id": "featuredDepartmentsBoxes", "label": "Featured Departments", "values": [
{ "label": "Hats", "filter": "d", "value": "8008", "count": 482 },
{ "label": "Jerseys", "filter": "d", "value": "8011", "count": 180 },
{ "label": "Sweatshirts", "filter": "d", "value": "8019", "count": 1035 }
] }
]
}(Trimmed to the header and one facet.) 7,115 Chiefs products, 180 of them jerseys. Add "department_id": 8011 for the jerseys, or send player_id and department_id together: {"player_id": 31, "department_id": 8011} returned Aaron Judge's 37 jerseys in 3.7 seconds, the same 37 as the keyword search. on_sale, price_band (under_25, 25_50, 50_100, 100_150, over_150), gender and any facet value in filters narrow a listing further, and a listing link copied from fanatics.com works in url instead of ids.
Step 3: Read every size's price and stock (player jersey sizes)
curl -s https://api.scavio.dev/api/v1/fanatics/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "202768661"}'The Judge Home Limited came back in 15.4 seconds with 7 sizes, S to 4XL. As captured (4 sizes, the description, details, images, colorways and rating trimmed; the coupon block trimmed to two fields):
{
"id": "202768661",
"title": "Aaron Judge New York Yankees Nike Home Limited Player Jersey - White",
"brand": "Nike",
"league": ["MLB"],
"team": ["New York Yankees"],
"player": [{ "id": 31, "name": "Aaron Judge" }],
"price": 121.99,
"regular_price": 174.99,
"sale_price": 121.99,
"clearance_price": 121.99,
"with_code_price": 115.89,
"code_percent_off": 34,
"percent_off": 30,
"price_label": "clearance",
"coupon": { "ends_on": "2026-11-12", "applies_to_product": true },
"in_stock": true,
"sizes": [
{ "size": "S", "available": true, "stock_level": "low", "price": 121.99, "with_code_price": 115.89, "ship_by": "2026-11-12T23:00:00.000Z" },
{ "size": "M", "available": true, "stock_level": null, "price": 121.99, "with_code_price": 115.89, "ship_by": "2026-11-12T23:00:00.000Z" },
{ "size": "L", "available": true, "stock_level": null, "price": 121.99, "with_code_price": 115.89, "ship_by": "2026-11-12T23:00:00.000Z" }
],
"customizable": false,
"review_count": 196,
"data_as_of": "2026-11-11T18:42:26.133Z",
"currency": "USD",
"site": "fanatics"
}stock_level is low, out or null where the site shows no level: a level, never a unit count. Here every size was available and S was low. Each size also carries est_delivery_from and est_delivery_to. The coupon block names the site's current code, its percent off, its end date (November 12 here) and applies_to_product; Fanatics decides at checkout whether a code applies or stacks. The colors list prices the other colorways: the same player's Alternate Limited in navy was a clearance item at $103.99 that day, and the Road Limited in gray was at its $174.99 list.
A custom jersey adds a personalization block. The New York Yankees Nike Home Limited Custom Jersey (202644559, 5.7 seconds) listed at $199.99, cleared to $139.99 and read $132.99 with the code. Its name field allowed 12 letters and its number field 2 digits, the roster listed 24 players with name and number, and price_includes_personalization was true. Its sizes were the tightest we saw: S, L, 3XL and 4XL out, M available but low, XL and 2XL available.
Step 4: Track the Fanatics jersey sale and clearance
curl -s https://api.scavio.dev/api/v1/fanatics/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "clearance", "department_id": 8011}'type takes sale (the default: the site's Sale listing, code-eligible items and clearance markdowns), clearance (the clearance-priced items of each sale page) or under_25, with an optional league_id, team_id, department_id or brand_id. The clearance call came back in 4.9 seconds:
{
"type": "clearance",
"label": "Clearance",
"total": 9000,
"total_capped": true,
"page": 1,
"count": 7,
"sale_items_on_page": 70,
"items": [
{
"id": "202768661",
"title": "Aaron Judge New York Yankees Nike Home Limited Player Jersey - White",
"price": 121.99,
"regular_price": 174.99,
"clearance_price": 121.99,
"with_code_price": 115.89,
"code_percent_off": 34,
"percent_off": 30,
"price_label": "clearance"
}
],
"data_as_of": "2026-11-11T18:42:04.354Z"
}(6 items and fields trimmed.) Read count against sale_items_on_page: 7 of the 70 jerseys on the first sale page were clearance, and total counts the whole sale listing, capped at 9,000. Across the first three sale pages, 206 jerseys, 190 were priced only with the code (108 at 20% off, 65 at 25%, 12 at 30%, 5 at 35%) and 16 were clearance markdowns. So for fanatics clearance read clearance_price, and for the bigger "sale" read with_code_price against regular_price. The best Fanatics jersey sale tracker APIs charts that split.
under_25 is where the deep clearance sits. With the Jerseys department it returned 76 jerseys, in 2.5 seconds; one of them:
{ "id": "3918107", "title": "Tua Tagovailoa Miami Dolphins Nike Women's Alternate Game Jersey - Aqua", "price": 19.99, "regular_price": 129.99, "clearance_price": 19.99, "with_code_price": 18.99, "code_percent_off": 85, "percent_off": 84, "price_label": "clearance" }Step 5: Watch for Fanatics Black Friday
Black Friday is Friday, November 27, 2026, and Cyber Monday November 30. On November 11, fanatics.com's Black Friday page was up but published no 2026 dates, and the sitewide banner read "Up to 50% Off." with a code; the code in the coupon block that day was listed to end November 12. Last year, Sports Business Journal reported that "Fanatics set a company record for single day sales on Black Friday". So there is no calendar to read; there is a listing to poll. Snapshot /deals with type: "sale" for your teams' jerseys every few hours from the week before, store regular_price, clearance_price and with_code_price with data_as_of, and compare each snapshot with the last: a new code shows up as with_code_price changing on many items at once, a real markdown as clearance_price appearing on one.
Step 6: Read NFL Shop, MLB Shop, NHL Shop and MLS Store (site)
The league stores run on the same catalog. site takes nflshop, mlbshop, nhlshop or mlsstore on search, product, browse and deals, and product ids are the same on every store. Department and filter ids are not: NFL Shop's Jerseys department is 14012 where fanatics.com's is 8011, so take ids from the facets of the store you query:
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"}'The Patrick Mahomes Nike Vapor F.U.S.E. Limited Jersey listed at $174.99 on both stores on November 11. NFL Shop titled it "Men's Kansas City Chiefs Patrick Mahomes Nike Red Vapor F.U.S.E. Limited Jersey" and priced it $113.74 with its code (35% off, ending November 11); fanatics.com priced it $131.24 with its own code (25% off, ending November 12). Same jersey, same day, $17.50 apart. Each store numbers its departments its own way: Jerseys is 8011 on fanatics.com and 14012 on NFL Shop, where the jersey Sale listing held 2,413 items. Take department_id values from that store's own facets.
Step 7: Other markets and currencies (country)
country takes us (the default), gb, de, fr, es, it, jp or ca, with language en or fr on ca. Titles come in the storefront's language and prices in its currency. Searches captured on November 11, 2026:
country | Query | First result | Price |
|---|---|---|---|
gb | liverpool shirt | Liverpool adidas Home Shirt 2026-27 | £85, £42.50 with code |
de | bayern trikot | FC Bayern München adidas Heimtrikot 2026-27 - Kinder | €70 |
fr | maillot psg | Maillot Domicile Stadium PSG Nike 26/27 | €109.99 |
es | camiseta real madrid | Camiseta adidas de la 1ª equipación del Real Madrid 2026-27 | €70, €35 with code |
ca | blue jays | Kazuma Okamoto Toronto Blue Jays Nike Home Limited Jersey | CA$229.99 |
ca, fr | canadiens chandail | Maillot de joueur premium Ivan Demidov, Canadiens de Montréal | CA$274.99 |
On jp, prices are in yen and the price bands and under_25 deals are not available (Fanatics' bands are 25 to 150 in local currency). Reviews are fanatics.com only.
Step 8: Read reviews (and the fit)
curl -s --max-time 300 https://api.scavio.dev/api/v1/fanatics/reviews \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "202768661", "sort": "most_recent", "limit": 10}'This took 106 seconds (our first try returned a 502 after 200 seconds; the retry worked). The stats for the Judge Home Limited: 196 reviews, 457 ratings averaging 4.2, quality 4.4, value 4.2, and fit 3.1 of 5, with 236 of 279 fit votes "True to Size". Fanatics pools reviews across a style, and style_rollup was true: the 10 most recent reviews came from 10 different products, Lindor, Ohtani, Trout and other players' Nike Limited jerseys, each with its own product_id and product_title. Filter on product_id if you want only the jersey you asked about. ai_summary carries the site's own AI-written summary when it has one (null here).
Every Fanatics endpoint and what it costs
| Endpoint | Returns | Credits |
|---|---|---|
POST /api/v1/fanatics/search | Keyword search, 24 to 72 items, 4 sorts, facets with ids and counts, the site's spelling correction | 1 |
POST /api/v1/fanatics/browse | A team, player, league section, department, brand or collection listing by ids or URL, with price bands, on-sale and facet filters | 1 |
POST /api/v1/fanatics/deals | Sale, clearance or under-25 listing, optionally for a league, team, department or brand | 1 |
POST /api/v1/fanatics/product | One product: price block, current code, every size with availability, stock level, price and with-code price, colorways, personalization, rating | 1 |
POST /api/v1/fanatics/reviews | Up to 50 reviews with sorts and a star filter, fit, quality and value averages (US only, slow) | 1 |
Failed upstream calls are not charged; a product or listing that does not exist is a charged 404. A daily jersey watch of 5 team Sale listings and 20 products is 25 calls a day, 750 credits a month, $0.75 at the Growth rate of $1 per 1,000 credits.
What the API does not return
- Price history. Every call returns today's prices; history starts when you start polling.
- Unit counts. Stock is
low,outor no level per size. - FanCash, member prices or account data. Public storefront prices only.
- Store stock, search suggestions or Q&A. Fanatics publishes no store locator; there is no suggestion or Q&A endpoint.
- Buying. No cart, checkout or resale tooling.
Getting started
- Sign up for Scavio and copy your API key: 50 free credits, no card.
- Run Step 1 with your team or player, then Step 2 with an id from the response.
- Call
/productfor the jerseys you care about and store the three prices and each size'sstock_levelwithdata_as_of. - Schedule
/dealsfor your teams before Black Friday, November 27.
The Fanatics API overview and the docs for search, browse, deals, product and reviews list every field. For other ways to get Fanatics data, see the best Fanatics jersey sale tracker APIs; for when the sales happen, see does Fanatics have set sale times?. Try the Fanatics API free, 50 credits, no card.
Frequently asked questions
Does Fanatics have a public API?
Not for merchandise, as of November 2026. Fanatics documents Fanatics ID sign-in and FanCash loyalty APIs for partners it provisions; affiliates get product feeds through Impact; marketplace sellers sync their own orders and stock. None returns live jersey prices or size stock to the public. 'Fanatics API' searches also turn up pages about Fanatics' sportsbook, which is unrelated to the store. Scavio's Fanatics API reads the public storefronts for 1 credit a call.
What do Fanatics' terms say about scraping?
The fanatics.com Terms of Use, last updated February 29, 2024, list among unauthorized uses "Using any automated system or software to extract data from the Properties for commercial purposes (including 'screen scraping')", and say that you "may not order products with the intent to resell them." Read them and decide with your own counsel how they apply to your use.
How fresh are Fanatics prices from the API?
Every listing and product response carries data_as_of, the time Fanatics built the page. In our calls on November 11, 2026 it was 1 to 4 seconds before the response. Fanatics' terms say it "may make changes to information about price, availability or other product attributes without notice", so store what you read with its time if you need a record.
Why does a Fanatics listing say 9,000 items?
Fanatics counts at most 9,000 products per listing on fanatics.com. When the real number is 9,000 or more, Scavio returns total 9000 with total_capped true. The jersey Sale listing hit the cap on November 11, 2026. Narrow by league, team or department, or read the facet counts, to see the size of a slice.
Does Fanatics ever have sales?
Constantly, but most are code prices. On November 11, 2026, 190 of the first 206 jerseys on the fanatics.com Sale listing were priced only with the sitewide promo code, 20% to 35% off list, and 16 were clearance markdowns. No Black Friday 2026 dates had been published that day; Black Friday is November 27, 2026.