Para leer las camisetas de fanatics.es desde código, usa la API de Fanatics de Scavio. Un POST /api/v1/fanatics/search con "country": "es" y el department_id de las camisetas de equipación devuelve las camisetas de un equipo con precio original, precio de oferta y precio con el código vigente del sitio, en euros y con títulos en español. /product da cada talla con su disponibilidad, /browse recorre una liga entera y /deals lista las ofertas. Cada llamada cuesta 1 crédito.
Fanatics no tiene una API pública de productos. Los pasos de abajo dan fanatics.es en JSON con una sola clave Scavio. Todas las respuestas se capturaron el 11 de noviembre de 2026 con "country": "es": títulos en español, precios en euros. Los extractos están recortados (artículos, filtros y campos quitados, como image en cada artículo), nunca modificados.
Paso 1: buscar las camisetas de un equipo
curl -s https://api.scavio.dev/api/v1/fanatics/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "real madrid", "country": "es", "department_id": 8011, "page_size": 24}'data capturado (21 artículos de 24 y 3 filtros de 4 quitados):
{
"query": "real madrid",
"corrected_query": null,
"redirected_to": null,
"broad_match": false,
"applied_filters": [{"filter": "d", "value": "8011", "name": "Camisetas"}],
"total": 39,
"total_capped": false,
"page": 1,
"page_size": 24,
"total_pages": 2,
"sort": "top_sellers",
"count": 24,
"data_as_of": "2026-11-11T18:47:12.938Z",
"country": "es",
"language": "es",
"currency": "EUR",
"site": "fanatics",
"items": [
{"id": "203732872", "title": "Camiseta adidas de la 1ª equipación del Real Madrid 2026-27", "brand": "adidas", "url": "https://www.fanatics.es/es/la-liga/real-madrid/camiseta-adidas-de-la-1ª-equipación-del-real-madrid-2026-27/o-65198030+t-03315980+p-7964562120+z-8-860319276", "price": 100, "regular_price": 100, "sale_price": null, "clearance_price": null, "with_code_price": 50, "code_percent_off": 50, "percent_off": 0, "price_label": "coupon", "customizable": true},
{"id": "203732878", "title": "Camiseta adidas de la 2ª equipación del Real Madrid 2026-27", "brand": "adidas", "url": "https://www.fanatics.es/es/la-liga/real-madrid/camiseta-adidas-de-la-2ª-equipación-del-real-madrid-2026-27/o-54531352+t-69425991+p-0258888227+z-8-3684270807", "price": 100, "regular_price": 100, "sale_price": null, "clearance_price": null, "with_code_price": null, "code_percent_off": null, "percent_off": 0, "price_label": "none", "customizable": false},
{"id": "202794631", "title": "Camiseta adidas Authentic de la 1ª equipación del Real Madrid 2025-26", "brand": "adidas", "url": "https://www.fanatics.es/es/la-liga/real-madrid/camiseta-adidas-authentic-de-la-1ª-equipación-del-real-madrid-2025-26/o-21311363+t-47532613+p-35444000083+z-9-3738522077", "price": 100.15, "regular_price": 150, "sale_price": 100.15, "clearance_price": 100.15, "with_code_price": 80.12, "code_percent_off": 47, "percent_off": 33, "price_label": "clearance", "customizable": false}
],
"facets": [
{"id": "departments", "label": "Subcategoría", "values": [{"label": "Auténtico", "filter": "d", "value": "8011-8116", "count": 1}, {"label": "Authentic Jersey", "filter": "d", "value": "8011-17564", "count": 1}, {"label": "Réplica", "filter": "d", "value": "8011-8124", "count": 38}, {"label": "Replica Jersey", "filter": "d", "value": "8011-17565", "count": 2}]}
]
}El Real Madrid tenía 39 camisetas en fanatics.es. Tres filas, tres situaciones. La 1ª equipación 2026-27 costaba 100 € y 50 € con el código (price_label coupon, code_percent_off 50). La 2ª equipación 2026-27 costaba lo mismo, sin precio con código. Y la Authentic de la temporada pasada estaba rebajada a 100,15 € desde 150 € (clearance), con 80,12 € con el código encima.
Dos detalles de fanatics.es que conviene saber. En español, «Camisetas» es el nombre de dos departamentos: las camisetas de equipación (department_id 8011) y las de manga corta (8022); filtra por 8011 para las de juego. Y el buscador del sitio corrige a su manera la palabra «camiseta» (lo verás en corrected_query): busca por equipo o jugador y deja el tipo de producto al filtro de departamento, como arriba. corrected_query en null y broad_match en false confirman que la búsqueda se hizo tal cual.
Paso 2: una camiseta, con su precio con código y sus tallas
curl -s https://api.scavio.dev/api/v1/fanatics/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "203732872", "country": "es"}'data capturado (descripción, detalles, imágenes, migas de pan, colores, el texto del código, otros campos y 4 tallas de 7 quitados):
{
"id": "203732872",
"title": "Camiseta adidas de la 1ª equipación del Real Madrid 2026-27",
"brand": "adidas",
"league": ["La Liga"],
"team": ["Real Madrid"],
"gender": ["Men"],
"categories": ["Jerseys", "Replica"],
"url": "https://www.fanatics.es/es/la-liga/real-madrid/camiseta-adidas-de-la-1ª-equipación-del-real-madrid-2026-27/o-65198030+t-03315980+p-7964562120+z-8-860319276",
"price": 100,
"regular_price": 100,
"sale_price": null,
"clearance_price": null,
"with_code_price": 50,
"code_percent_off": 50,
"percent_off": 0,
"price_label": "coupon",
"on_sale": false,
"coupon": {"percent_off": 50, "percent_off_min": 20, "tiered": true, "ends_on": null, "applies_to_product": true},
"in_stock": true,
"sizes": [
{"item_id": "212547546", "size": "XS", "available": true, "stock_level": null, "price": 100, "with_code_price": 50, "ship_by": "2026-11-12T18:00:00.000Z", "est_delivery_from": "2026-11-19T12:00:00.000Z", "est_delivery_to": "2026-11-27T12:00:00.000Z", "promise_ship_days": 0, "customization_handling_days": 2},
{"item_id": "211759751", "size": "S", "available": true, "stock_level": null, "price": 100, "with_code_price": 50, "ship_by": "2026-11-12T18:00:00.000Z", "est_delivery_from": "2026-11-19T12:00:00.000Z", "est_delivery_to": "2026-11-27T12:00:00.000Z", "promise_ship_days": 0, "customization_handling_days": 2},
{"item_id": "211759752", "size": "M", "available": true, "stock_level": null, "price": 100, "with_code_price": 50, "ship_by": "2026-11-12T18:00:00.000Z", "est_delivery_from": "2026-11-19T12:00:00.000Z", "est_delivery_to": "2026-11-27T12:00:00.000Z", "promise_ship_days": 0, "customization_handling_days": 2}
],
"personalization": null,
"customizable": true,
"flags": {"jersey_assurance": true, "non_returnable": false, "exclusive": false, "authentic": false},
"rating": null,
"review_count": 0,
"data_as_of": "2026-11-11T18:47:31.108Z",
"country": "es",
"language": "es",
"currency": "EUR",
"site": "fanatics"
}El bloque coupon explica el precio con código: el código vigente es escalonado (tiered), del 20 % (percent_off_min) al 50 %, y applies_to_product dice que vale para esta camiseta. El texto del código viene en coupon.code; no lo reproducimos porque cambia. Las 7 tallas, de XS a 3XL, estaban disponibles; 2XL y 3XL llevaban stock_level low. Fanatics no publica unidades, así que stock_level es un nivel, nunca un número. Cada talla trae también su fecha de envío y su ventana de entrega: del 19 al 27 de noviembre para un pedido de ese día.
La camiseta es personalizable (customizable), pero el bloque personalization llegó vacío en fanatics.es, y review_count es 0: las reseñas solo existen en fanatics.com.
Paso 3: todas las camisetas de LALIGA, equipo por equipo
curl -s https://api.scavio.dev/api/v1/fanatics/browse \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"league_id": 9827, "department_id": 8011, "country": "es", "page_size": 24}'data capturado (23 artículos de 24 y 7 filtros de 9 quitados):
{
"browse": {"league": {"id": "9827", "name": "LALIGA"}, "team": null, "player": null, "department": {"id": "8011", "name": "Camisetas"}, "brand": null, "collection": null, "applied_filters": []},
"total": 79,
"total_capped": false,
"page": 1,
"page_size": 24,
"total_pages": 4,
"sort": "top_sellers",
"count": 24,
"data_as_of": "2026-11-11T18:47:46.125Z",
"country": "es",
"language": "es",
"currency": "EUR",
"site": "fanatics",
"items": [
{"id": "203552590", "title": "Camiseta Nike Aero-FIT Match de la 1ª equipación del Barcelona 2026-27", "brand": "Nike", "url": "https://www.fanatics.es/es/la-liga/barcelona/camiseta-nike-aero-fit-match-de-la-1ª-equipación-del-barcelona-2026-27/o-21538029+t-70965724+p-91445034285+z-9-3222578709", "price": 159.99, "regular_price": 159.99, "sale_price": null, "clearance_price": null, "with_code_price": 95.99, "code_percent_off": 40, "percent_off": 0, "price_label": "coupon", "customizable": false}
],
"facets": [
{"id": "teams", "label": "Equipos", "values": [{"label": "Athletic Club", "filter": "t", "value": "8921", "count": 5}, {"label": "Atlético de Madrid", "filter": "t", "value": "3716", "count": 16}, {"label": "FC Barcelona", "filter": "t", "value": "3722", "count": 19}, {"label": "Real Betis", "filter": "t", "value": "9756", "count": 1}, {"label": "Real Madrid", "filter": "t", "value": "3842", "count": 33}, {"label": "Valencia CF", "filter": "t", "value": "9015", "count": 5}]},
{"id": "colorStyles", "label": "Tipo de equipación", "values": [{"label": "1.ª equipación", "filter": "cs", "value": "3", "count": 29}, {"label": "2.ª equipación", "filter": "cs", "value": "14", "count": 25}, {"label": "3.ª equipación", "filter": "cs", "value": "19", "count": 19}, {"label": "Portero", "filter": "cs", "value": "37", "count": 6}]}
]
}79 camisetas de LALIGA en 4 páginas. Los filtros (facets) son el mapa del listado: 6 equipos con su id y su número de camisetas, y el tipo de equipación. Cada value se reenvía tal cual: "team_id": 3722 para el FC Barcelona, o "filters": {"cs": "14"} para la 2ª equipación. La camiseta Nike Aero-FIT Match del Barcelona 2026-27 costaba 159,99 € y 95,99 € con el código, un 40 %.
Paso 4: las camisetas en oferta
curl -s https://api.scavio.dev/api/v1/fanatics/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "sale", "country": "es", "department_id": 8011, "page_size": 72, "page": 1}'data capturado (70 artículos de 72 y los filtros quitados):
{
"type": "sale",
"label": "En oferta",
"total": 955,
"total_capped": false,
"page": 1,
"page_size": 72,
"total_pages": 14,
"sort": "top_sellers",
"count": 72,
"data_as_of": "2026-11-11T18:42:16.452Z",
"country": "es",
"language": "es",
"currency": "EUR",
"site": "fanatics",
"items": [
{"id": "203406617", "title": "Camiseta de 1ª Equipación de la selección alemana adidas 2026", "brand": "adidas", "url": "https://www.fanatics.es/es/soccer-national-teams/germany-national-team/camiseta-de-1ª-equipación-de-la-selección-alemana-adidas-2026/o-1434+t-70943878+p-7955144819300+z-9-4293484757", "price": 40, "regular_price": 100, "sale_price": 40, "clearance_price": 40, "with_code_price": 32, "code_percent_off": 68, "percent_off": 60, "price_label": "clearance", "customizable": true},
{"id": "203406760", "title": "Camiseta de 1ª Equipación de la selección alemana adidas 2026 - Niño", "brand": "adidas", "url": "https://www.fanatics.es/es/soccer-national-teams/germany-national-team/camiseta-de-1ª-equipación-de-la-selección-alemana-adidas-2026-niño/o-2523+t-03163867+p-7911030428773+z-9-2743099619", "price": 30, "regular_price": 75, "sale_price": 30, "clearance_price": 30, "with_code_price": 24, "code_percent_off": 68, "percent_off": 60, "price_label": "clearance", "customizable": false}
]
}955 camisetas en oferta en 14 páginas de 72. La primera era la de la 1ª equipación de Alemania 2026: 40 € desde 100 €, y 32 € con el código. Leímos las 14 páginas: 948 camisetas distintas, sin duplicados (algunas páginas traían 70 o 71 artículos en lugar de 72), con un descuento mediano del 39 % y un precio mediano con código de 48,64 €. El reparto completo está en las mejores APIs de Fanatics para España. Con "type": "clearance" la lista se queda en los artículos de liquidación de cada página.
Paso 5: camisetas por menos de 25 €
curl -s https://api.scavio.dev/api/v1/fanatics/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "under_25", "country": "es", "department_id": 8011, "page_size": 24}'data capturado (22 artículos de 24 y los filtros quitados):
{
"type": "under_25",
"label": "Less than $25",
"total": 169,
"total_capped": false,
"page": 1,
"page_size": 24,
"total_pages": 8,
"sort": "top_sellers",
"count": 24,
"data_as_of": "2026-11-11T18:47:54.746Z",
"country": "es",
"language": "es",
"currency": "EUR",
"site": "fanatics",
"items": [
{"id": "201674179", "title": "Camiseta DFB 1982", "brand": "Score Draw Retro", "url": "https://www.fanatics.es/es/soccer-national-teams/germany-national-team/camiseta-dfb-1982/o-2545+t-25612734+p-5722781798331+z-9-1051110057", "price": 22.5, "regular_price": 50, "sale_price": 22.5, "clearance_price": 22.5, "with_code_price": 18, "code_percent_off": 64, "percent_off": 55, "price_label": "clearance", "customizable": false},
{"id": "11883192", "title": "Las Vegas Raiders Home Game Jersey - Custom - Kids", "brand": "Nike", "url": "https://www.fanatics.es/es/nfl/las-vegas-raiders/las-vegas-raiders-home-game-jersey-custom-kids/o-1305+t-69596058+p-789053204157+z-9-4247563586", "price": 30, "regular_price": 30, "sale_price": null, "clearance_price": null, "with_code_price": 21, "code_percent_off": 30, "percent_off": 0, "price_label": "coupon", "customizable": true}
]
}169 artículos. El corte de 25 € se aplica al precio más bajo de cada artículo, que es el precio con código cuando hay código: por eso aparece una camiseta de los Raiders a 30 €, que con el código baja a 21 €. La etiqueta label es la del propio sitio, «Less than $25», aunque los precios son en euros (currency EUR). Algunos títulos llegan en inglés porque fanatics.es los publica así.
Los endpoints que funcionan en España
| Endpoint | Qué devuelve en fanatics.es | Créditos |
|---|---|---|
/api/v1/fanatics/search | Búsqueda por palabra clave con filtros por liga, departamento, género y cualquier filtro del sitio (equipo, jugador, talla), 4 órdenes, hasta 72 por página | 1 |
/api/v1/fanatics/product | Una ficha por id o URL: precio original, de oferta y con código, el código vigente, cada talla con disponibilidad, stock bajo y entrega | 1 |
/api/v1/fanatics/browse | Un listado por liga, equipo, jugador, departamento, marca o colección, con on_sale y franjas de precio en euros | 1 |
/api/v1/fanatics/deals | Ofertas (sale), liquidación (clearance) o artículos por debajo de 25 € (under_25) | 1 |
/api/v1/fanatics/reviews (reseñas) solo cubre fanatics.com, y el parámetro site de las tiendas de ligas de Estados Unidos (NFL Shop, MLB Shop, NHL Shop, MLS Store) solo funciona con "country": "us". Las listas pueden tener unos minutos: guarda data_as_of con cada lectura. No hay historial de precios: para ver una bajada, repite la misma petición y compara.
Para empezar
- Regístrate en dashboard.scavio.dev/sign-up: 50 créditos gratis, sin tarjeta, es decir, 50 llamadas.
- Copia tu clave API del dashboard.
- Envía un POST a
/api/v1/fanatics/searchcon{"query": "real madrid", "country": "es", "department_id": 8011}y la clave en la cabeceraAuthorization.
Prueba gratis la API de Fanatics en el playground, lee la página de la API de Fanatics y la documentación de búsqueda, ficha, listados y ofertas, o llámala desde Claude y otros agentes con el servidor MCP.
Frequently asked questions
¿Por qué hay dos departamentos llamados «Camisetas» en fanatics.es?
Porque en español la misma palabra traduce dos departamentos de Fanatics: las camisetas de equipación (jerseys, department_id 8011) y las camisetas de manga corta (t-shirts, department_id 8022). En la lista de ofertas del 11 de noviembre de 2026 había 955 de las primeras y 1.361 de las segundas. Para seguir camisetas de juego, filtra por 8011.
¿El precio con código es el precio final?
Es el precio que fanatics.es muestra con el código promocional vigente, y la API de Fanatics de Scavio lo devuelve en with_code_price. Si el código se acumula o no con otras promociones y qué pagas al final lo decide Fanatics al pagar. La ficha de producto dice en coupon.applies_to_product si el código vale para esa camiseta: el 11 de noviembre valía para la 1ª equipación del Real Madrid 2026-27 y no para la 2ª.
¿Puedo leer las reseñas o las tiendas NFL Shop y MLB Shop desde España?
No con "country": "es". Las reseñas solo cubren fanatics.com, y las tiendas de ligas de Estados Unidos (NFL Shop, MLB Shop, NHL Shop, MLS Store) se leen con "country": "us" y el parámetro site, en dólares. En fanatics.es funcionan búsqueda, ficha, listados y ofertas.
¿La API dice cuántas unidades quedan de una talla?
No. Fanatics no publica unidades: cada talla trae available (sí o no) y stock_level, que vale low cuando queda poco stock, out cuando está agotada y null cuando el sitio no da aviso. En la camiseta del Real Madrid del paso 2, las tallas 2XL y 3XL estaban disponibles con stock bajo.
¿Cuánto cuesta seguir las camisetas de Fanatics con Scavio?
1 crédito por llamada en cada endpoint, es decir, 1 $ por cada 1.000 peticiones con el plan Growth. Una página de ofertas devuelve hasta 72 artículos: las 955 camisetas en oferta de fanatics.es caben en 14 llamadas. Una cuenta nueva recibe 50 créditos sin tarjeta.