Fanatics
Fanatics Product API
One Fanatics product by id or URL on 8 storefronts and the 4 US league stores: title, brand, league, team, player, gender, categories, breadcrumb, description, details, images, the price block (regular, sale, clearance and with-code price, percent off, price label), the site's current public promo code (percent off, tiered, end date, whether it applies to this product), in_stock, every size with its availability, stock level (low or out, never a unit count), price, with-code price, ship-by date and delivery window, every colorway, personalization (name and number fields and the team roster; the price already includes personalization), Jersey Assurance, non-returnable, exclusive and authentic flags, and the rating with fit, value and quality. Merchandise only. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonproduct_idstringA Fanatics product id: a search result's id (3-14 digits). The same id works on every league store. One of product_id or url is required.
Example: 3892922
urlstringA product URL on any covered storefront or league store (its storefront is used). Alternative to product_id.
Example: https://www.fanatics.com/x/p-3892922
countryenum<string>default:usThe Fanatics storefront. Titles come back in the storefront's language, prices in its currency.
Example: de
us— United States (fanatics.com), USD. The default, and the only storefront that takes site.gb— United Kingdom (fanatics.co.uk), GBP.de— Germany (fanatics.de), EUR.fr— France (fanatics.fr), EUR.es— Spain (fanatics.es), EUR.it— Italy (fanatics.it), EUR.jp— Japan (fanatics.jp), JPY. No price bands.ca— Canada (fanatics.ca), CAD. language en (default) or fr.
languageenum<string>Only for country ca: en (default) or fr. Every other storefront has one language.
Example: fr
en— English. The default on ca.fr— French, on ca.
siteenum<string>default:fanaticsUS only (country us): which store to read. The league stores use the same product ids as fanatics.com and write their own titles. Department and filter ids are per store (Jerseys is 8011 on fanatics.com, 14012 on NFL Shop): take them from the facets of the store you query, since an id from another store is silently ignored. Any site with another country is a 400.
Example: nflshop
fanatics— fanatics.com. The default.nflshop— NFL Shop (nflshop.com).mlbshop— MLB Shop (mlbshop.com).nhlshop— NHL Shop (shop.nhl.com).mlsstore— MLS Store (mlsstore.com).
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
p = client.fanatics.product(product_id="3892922")["data"]
print(p["title"], p["regular_price"], p["sale_price"], p["clearance_price"], p["with_code_price"], p["currency"])
# Availability and the site's stock level per size (low / out, never a unit count).
for s in p["sizes"]:
print(s["size"], s["available"], s["stock_level"], s["price"], s["ship_by"])Response