Licensed sports-merchandise catalog monitoring
Use Fanatics endpoints to turn licensed sports-merchandise catalog monitoring into repeatable API requests with documented inputs and JSON responses.
Turn Fanatics' licensed sports-merchandise storefront -- jerseys, fan gear, and collectibles across every major league and college program -- into structured retail data: the full league/team navigation tree, one category's product listing, one product's detail with per-size availability and price, and keyword search results. Credential-free.
Extract Fanatics' league/team navigation tree, category product listings, product detail, and keyword search results as structured JSON.
Endpoint families
4
Documented params
13
Examples
4
Live catalog snapshot
Active endpoints
4
Methods
GET
Required params
7
Schema refs
4
{
"platform": "Fanatics",
"endpoint": "fanatics-search",
"method": "GET",
"path": "/fanatics/search",
"auth": "apiKey"
}Use cases
Extract Fanatics' league/team navigation tree, category product listings, product detail, and keyword search results as structured JSON.
Use Fanatics endpoints to turn licensed sports-merchandise catalog monitoring into repeatable API requests with documented inputs and JSON responses.
Use Fanatics endpoints to turn league/team category coverage research into repeatable API requests with documented inputs and JSON responses.
Use Fanatics endpoints to turn jersey and fan-gear pricing tracking into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Fanatics endpoint catalog — 4 endpoints, 13 documented request parameters, and 4 published response schemas — the same catalog Docs and Playground run against.
4 documented Fanatics endpoints, grouped into 4 request families — Categories, Category and Product, plus 1 more.
13 request parameters are documented across those Fanatics endpoints, 7 of them required — the full input contract is public before you write any integration code.
4 of the 4 Fanatics endpoints ship a recorded example response, and 4 carry a documented response schema — you can code against the real JSON before the first request.
Fanatics endpoints document their error responses (400, 404, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
4 hosted MCP tools back the Fanatics endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/fanatics/categories
/fanatics/category
/fanatics/product
/fanatics/search
Endpoint catalog
/fanatics/searchReturns one page of Fanatics' own keyword search results (name, brand, price, availability, image, url).
Response notes
- Each item's `url` is directly usable as [`GET /fanatics/product`](fanatics-product.md)'s `url` parameter. - `total_items` is Fanatics' own reported result count for the query. - `has_next_page` reflects whether Fanatics' own pagination exposes a next page beyond the one returned. - An invalid `page_size` or `sort` value returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "source_url": "https://www.fanatics.com/search?pageNumber=1&pageSize=24&query=colts+jersey&sortOption=TopSellers", "fetched_at": "2026-09-16T04:00:00Z", "query": "colts jersey", "page_number": 1, "page_size": 24, "sort_option": "TopSellers", "total_items": 318, "has_next_page": true, "items": [ { "product_id": "5227968", "name": "Jonathan Taylor Indianapolis Colts Nike 2026 Rivalries Collection Game Jersey - Anthracite", "brand": "Nike", "category": "Jerseys", "url": "https://www.fanatics.com/nfl/indianapolis-colts/jonathan-taylor-indianapolis-colts-nike-...", "image": "https://fanatics.frgimages.com/indianapolis-colts/...", "currency_code": "USD", "price": 149.99, "availability": "InStock" } ] } } ```
MCP tool fanatics_search
/fanatics/categoryReturns one page of a Fanatics league or team category's product listing (name, brand, price, availability, image, url). Use GET /fanatics/categories to discover valid category urls.
Response notes
- Each item's `url` is directly usable as [`GET /fanatics/product`](fanatics-product.md)'s `url` parameter. - `total_items` is Fanatics' own reported result count for the category. - `has_next_page` reflects whether Fanatics' own pagination exposes a next page beyond the one returned. - An invalid `page_size` or `sort` value returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "source_url": "https://www.fanatics.com/nfl/indianapolis-colts/o-2483+t-03378189+z-90650-4056854214?pageNumber=1&pageSize=24&sortOption=TopSellers", "fetched_at": "2026-09-16T04:00:00Z", "page_number": 1, "page_size": 24, "sort_option": "TopSellers", "total_items": 6138, "has_next_page": true, "items": [ { "product_id": "204125114", "name": "Indianapolis Colts lululemon Women's Define Jacket *Luon™ - White", "brand": "lululemon", "category": "Jackets", "url": "https://www.fanatics.com/nfl/indianapolis-colts/indianapolis-colts-lululemon-womens-define-jacket-*luon™-white/o-4694+t-03486978+p-137748515571+z-8-1755165119", "image": "https://fanatics.frgimages.com/indianapolis-colts/womens-lululemon-white-indianapolis-colts-define-jacket-*luon™_ss5_p-204125114+u-tfm6iu9f4sci5ay7l1po+v-oahagmhqfyxrebvsor6i.jpg?_hv=2&w=600", "currency_code": "USD", "price": 138.00, "availability": "InStock" } ] } } ```
MCP tool fanatics_category
/fanatics/productReturns one Fanatics product's detail (name, brand, category, price, availability, condition, images), plus per-size availability/price, a fit/value/quality review-rating breakdown, a richer media gallery, and comparable-product alternates (e.g. a jersey's Game/Limited/Elite stitch tiers) where Fanatics exposes them. Use GET /fanatics/search or GET /fanatics/category to discover product urls.
Response notes
- `url` must be a `fanatics.com` product-detail URL (recognized by its `+p-<id>+` path segment). A category URL, or a URL from another host, returns `400`. - `condition` and `availability` are Fanatics' own schema.org values with the `schema.org/` URL prefix stripped (e.g. `NewCondition`, `InStock`, `OutOfStock`). - `sizes` and `reviews` are omitted when the product page carries no size selector or no review data — not every product has both. - `reviews.fit`/`reviews.value`/`reviews.quality` are omitted individually when Fanatics doesn't collect that dimension for the product; `reviews` itself is present whenever any rating data exists. - `reviews` is an aggregate rating summary only — individual review text is not part of this response (Fanatics' own product page does not embed it). - `media` is Fanatics' own richer image/video gallery (`type` is `Image` or `Video`) — typically more entries, and higher-resolution images, than `images`. Omitted when the page carries none. - `comparable_products` lists alternate styles/tiers of essentially the same item (e.g. a jersey's "Game" vs "Limited" vs "Elite" stitch tier, in `description`), including the requested product's own entry — it is not a generic "customers also viewed" recommendation list. Omitted when the page carries none. Example response: ```json { "code": 200, "msg": "OK", "data": { "source_url": "https://www.fanatics.com/nfl/indianapolis-colts/jonathan-taylor-indianapolis-colts-nike-player-game-jersey-royal/o-2472+t-47822545+p-58766019129+z-9-116424846", "fetched_at": "2026-09-16T04:00:00Z", "product": { "product_id": "3948955", "name": "Jonathan Taylor Indianapolis Colts Nike Player Game Jersey - Royal", "brand": "Nike", "category": "Jerseys", "url": "https://www.fanatics.com/nfl/indianapolis-colts/jonathan-taylor-indianapolis-colts-nike-player-game-jersey-royal/o-2472+t-47822545+p-58766019129+z-9-116424846", "images": [ "https://fanatics.frgimages.com/indianapolis-colts/mens-nike-royal-jonathan-taylor-indianapolis-colts-player-game-jersey.jpg?_hv=2&w=600" ], "currency_code": "USD", "price": 149.99, "condition": "NewCondition", "availability": "InStock", "sizes": [ { "label": "S", "available": true, "price": 149.99 }, { "label": "M", "available": true, "price": 149.99 }, { "label": "L", "available": true, "price": 149.99 }, { "label": "XL", "available": true, "price": 149.99 }, { "label": "2XL", "available": true, "price": 149.99 } ], "reviews": { "has_reviews": true, "review_count": 3248, "overall": { "average_rating": 4.4, "rating_count": 13728, "breakdown": [ { "rating": 1, "count": 1358 }, { "rating": 5, "count": 10411 } ] }, "fit": { "average_rating": 3.1, "rating_count": 10810, "breakdown": [ { "rating": 3, "count": 8243, "label": "True to Size" } ] } }, "media": [ { "type": "Image", "url": "https://fanatics.frgimages.com/indianapolis-colts/mens-nike-jonathan-taylor-royal-indianapolis-colts-player-game-jersey_ss5_p-3948955.png?_hv=2", "thumbnail": "https://fanatics.frgimages.com/indianapolis-colts/mens-nike-jonathan-taylor-royal-indianapolis-colts-player-game-jersey_ss5_p-3948955.png?_hv=2" }, { "type": "Video", "url": "https://fanatics.frgimages.com/indianapolis-colts/mens-nike-jonathan-taylor-royal-indianapolis-colts-player-game-jersey_ss5_p-3948955.mp4?_hv=2", "thumbnail": "https://fanatics.frgimages.com/ss5/p-3948955_pv-701.jpg" } ], "comparable_products": [ { "product_id": "3948955", "description": "Game", "url": "https://www.fanatics.com/nfl/indianapolis-colts/jonathan-taylor-indianapolis-colts-nike-player-game-jersey-royal/o-2472+t-47822545+p-58766019129+z-9-116424846", "image": "https://fanatics.frgimages.com/indianapolis-colts/mens-nike-jonathan-taylor-royal-indianapolis-colts-player-game-jersey_ss5_p-3948955.png?_hv=2", "currency_code": "USD", "price": 149.99 }, { "product_id": "2001803153", "description": "Limited", "url": "https://www.fanatics.com/nfl/indianapolis-colts/jonathan-taylor-indianapolis-colts-nike-team-vapor-fuse-stitched-limited-jersey-royal/o-4616+t-25265878+p-46226601215300+z-9-4286173976", "image": "https://fanatics.frgimages.com/indianapolis-colts/mens-nike-jonathan-taylor-royal-indianapolis-colts-team-vapor-fuse-stitched-limited-jersey_ss5_p-2001803153.jpg?_hv=2", "currency_code": "USD", "price": 199.99 } ] } } } ```
MCP tool fanatics_product
/fanatics/categoriesReturns Fanatics' full top-level navigation tree: leagues (NFL, MLB, NBA, NHL, Soccer, WWE, College, ...) and, where Fanatics exposes a team-level breakdown, each league's teams (College's several hundred schools included). Each league's or team's url is directly usable as fanatics_category's url input. Public data sourced from fanatics.com's own navigation data.
Response notes
- Each league's or team's `url` is directly usable as [`GET /fanatics/category`](fanatics-category.md)'s `url` parameter. - `teams` is populated for NFL, MLB, NBA, NHL, Soccer, WWE, and College. Leagues without a team-level breakdown (currently WNBA, NASCAR, F1) still have a usable top-level `url`, just no `teams` array. - College's team list (several hundred NCAA schools) is sourced differently from the other leagues — Fanatics' own navigation data doesn't carry it, so it's discovered from fanatics.com's own sitemap instead and cached for 24 hours server-side. If that lookup is temporarily unavailable, College still returns with its top-level `url` and an empty `teams` array rather than failing the whole request. - Non-league top-level sections Fanatics' own navigation exposes the same way (e.g. "Collectibles", "Jerseys", "Sale") are included too, with the same `name`/`url` shape. - Aside from College's sitemap-backed teams, this list changes rarely; results are fetched live on every call, not cached client-side. Example response: ```json { "code": 200, "msg": "OK", "data": { "source_url": "https://www.fanatics.com/content/nav/v1789467884/510005/en-US.json", "fetched_at": "2026-09-16T04:00:00Z", "leagues": [ { "name": "NFL", "url": "/nfl/o-3572+z-953036859-1253393850", "teams": [ { "name": "Indianapolis Colts", "url": "/nfl/indianapolis-colts/o-2483+t-03378189+z-90650-4056854214", "product_count": 6138 } ] }, { "name": "College", "url": "/college/o-27+z-9314487535-1329600116", "teams": [ { "name": "Alabama Crimson Tide", "url": "/college/alabama-crimson-tide/o-38+t-12809913+z-977646-2884991572" } ] } ] } } ```
MCP tool fanatics_categories
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
How to scrape Fanatics
Fanatics' catalog is organized by league and team rather than a flat category tree. Crawlora's Fanatics endpoints return the navigation tree, one category's listing, product detail, and keyword search results as normalized JSON -- no account.
Call /fanatics/categories for every league (NFL, MLB, NBA, NHL, Soccer, WWE, College, ...) and, where Fanatics exposes one, each league's team-level breakdown -- each entry's url feeds directly into /fanatics/category.
Pass a category url from /fanatics/categories to /fanatics/category for one page of that category's product listing -- name, brand, price, availability, image, url.
Send a keyword to /fanatics/search for one page of Fanatics' own search results, in a caller-selected sort order.
Pass a product url from a category or search result to /fanatics/product for per-size availability and price, a fit/value/quality review-rating breakdown, a media gallery, and comparable-product alternates such as a jersey's Game/Limited/Elite stitch tiers.
FAQ
Call /fanatics/categories for the league/team navigation tree, pass a category url to /fanatics/category or a keyword to /fanatics/search, then pass a product url to /fanatics/product for full detail -- all as structured JSON, no account.
Both -- /fanatics/categories returns top-level leagues plus, where Fanatics exposes a team-level breakdown, each league's teams; College alone lists several hundred schools.
Where Fanatics offers them, yes -- /fanatics/product returns comparable-product alternates such as a jersey's Game, Limited, and Elite stitch tiers alongside per-size availability and price.
Yes -- both /fanatics/category and /fanatics/search accept a sort parameter alongside pagination.
Collecting publicly accessible category, search, and product data is generally permissible if you respect Fanatics' terms of use, robots directives, rate limits, and applicable law.