Fanatics
Fanatics Sale & Clearance API
Die Angebotslisten von Fanatics auf einem von 8 Shops (auf fanatics.de in Deutsch und EUR): die Sale-Liste (Artikel mit Promo-Code und Clearance-Reduzierungen), clearance (die Clearance-Artikel jeder Sale-Seite) oder Artikel unter 25 in der Währung des Shops, optional für eine Liga, einen Verein, eine Kategorie oder eine Marke, sortiert nach Topsellern, Preis oder Neuheiten. 24, 48 oder 72 Artikel pro Seite mit regulärem, Sale-, Clearance- und Code-Preis, Rabatt in Prozent und Preiskennzeichnung, dazu total, jede Facette mit IDs und Trefferzahlen und data_as_of. Ein Sale-Tracker fragt regelmäßig ab und speichert die Preise: Eine Preishistorie gibt es nicht. Nur Fanartikel. Kostet 1 Credit pro Anfrage.
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/jsontypeenum<string>default:saleDie Angebotsliste.
Example: sale
sale— Die Sale-Liste des Shops: Artikel mit Promo-Code und Clearance-Reduzierungen. Standardwert.clearance— Die Clearance-Artikel jeder Sale-Seite (total zählt die ganze Sale-Liste).under_25— Artikel unter 25 in der Währung des Shops (auf fanatics.de unter 25 €), nach dem niedrigsten Preis des Shops. Nicht auf jp.
league_idinteger | stringNur eine Liga (auf fanatics.de Bundesliga 9820, Premier League 9846, NFL 25, NBA 23, NHL 26, MLB 19).
Example: 9820
team_idinteger | stringNur ein Verein oder Team: eine ID aus den Facetten.
Example: 3423
department_idinteger | stringNur eine Kategorie (Trikots 8011, Mützen & Caps 8008, Accessoires 8001).
Example: 8011
brand_idinteger | stringNur eine Marke: eine ID aus facets.brands (auf fanatics.de etwa Mitchell & Ness 191, Nike 76).
Example: 76
countryenum<string>default:usDer Fanatics-Shop. Titel und Facettennamen kommen in der Sprache des Shops zurück, Preise in seiner Währung. "de" ist fanatics.de.
Example: de
us— USA (fanatics.com), USD. Standardwert und der einzige Shop, der site annimmt.gb— Vereinigtes Königreich (fanatics.co.uk), GBP.de— Deutschland (fanatics.de), EUR.fr— Frankreich (fanatics.fr), EUR.es— Spanien (fanatics.es), EUR.it— Italien (fanatics.it), EUR.jp— Japan (fanatics.jp), JPY. Ohne Preisstufen.ca— Kanada (fanatics.ca), CAD. language en (Standard) oder fr.
languageenum<string>Nur für country ca: en (Standard) oder fr. fanatics.de und alle anderen Shops haben eine Sprache; dort entfällt der Parameter.
Example: fr
en— Englisch. Standard auf ca.fr— Französisch, auf ca.
siteenum<string>default:fanaticsNur USA (country us): welcher Shop gelesen wird. Die Liga-Shops nutzen dieselben Produkt-IDs wie fanatics.com und schreiben eigene Titel. Kategorie- und Filter-IDs gelten je Shop (Trikots: 8011 auf fanatics.com, 14012 im NFL Shop); übernehmen Sie sie aus den Facetten des abgefragten Shops, eine ID aus einem anderen Shop wird stillschweigend ignoriert. site mit einem anderen country, auch "de", ist ein 400-Fehler.
Example: nflshop
fanatics— fanatics.com. Standardwert.nflshop— NFL Shop (nflshop.com), nur USA.mlbshop— MLB Shop (mlbshop.com), nur USA.nhlshop— NHL Shop (shop.nhl.com), nur USA.mlsstore— MLS Store (mlsstore.com), nur USA.
pageintegerErgebnisseite, ab 1. Fanatics listet höchstens 9.000 Produkte pro Liste, die letzte Seite ist also 125 bei 72 pro Seite (188 bei 48, 375 bei 24). Standard ist 1.
Example: 2
page_sizeenum<integer>default:72Artikel pro Seite.
24— 24 Artikel.48— 48 Artikel.72— 72 Artikel. Standardwert.
sortenum<string>default:top_sellersDie Reihenfolge der Liste. Preissortierungen ordnen nach dem aktuellen Preis (price, vor jedem Promo-Code), nicht nach dem Preis mit Code.
top_sellers— Die Topseller-Reihenfolge von Fanatics. Standardwert.price_low_to_high— Günstigste zuerst.price_high_to_low— Teuerste zuerst.newest— Neueste zuerst.
Request
from datetime import datetime, timezone
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Bundesliga-Trikots im Clearance auf fanatics.de. Jede Abfrage speichern:
# das ist Ihre Preishistorie, die API liefert nur den heutigen Preis.
res = client.fanatics.deals(type="clearance", league_id=9820, department_id=8011, country="de")["data"]
seen = datetime.now(timezone.utc).isoformat()
print(res["count"], "Clearance-Artikel von", res["sale_items_on_page"], "Sale-Artikeln auf dieser Seite")
for item in res["items"]:
print(seen, item["id"], item["title"], item["regular_price"], item["clearance_price"], item["with_code_price"])Response