Necesitas una forma confiable de listar cada deporte que tu aplicación puede cubrir, ahora mismo—no dentro de una semana. Al final de esta guía, podrás obtener todos los deportes disponibles con una sola solicitud, renderizarlos en tu navegación o configuraciones, y aumentar tu interfaz de usuario con búsqueda de equipos y banderas de países utilizando la misma suscripción y clave API de Zyla API Hub.
Qué hace esta API y cuándo usarla
La API en vivo de SofaScore en Zyla API Hub proporciona metadatos deportivos y utilidades de búsqueda que puedes integrar directamente en un marcador, compañero de apuestas, aplicación de noticias o canal de datos. En este artículo, nos enfocaremos en tres endpoints que puedes implementar hoy:
- Obtener todos los deportes: recuperar una lista de cada deporte disponible con id, nombre y slug.
- Buscar todas las entidades: encontrar entidades de SofaScore (por ejemplo, equipos) mediante una cadena de consulta.
- Obtener bandera del país: descargar los bytes de la imagen de la bandera del país para mostrar en tu interfaz de usuario.
Todos los ejemplos utilizan el enrutamiento de Zyla API Hub y un solo encabezado de autorización. Sin hosts personalizados, sin cuentas separadas por API. Si eres nuevo en el mercado, puedes explorar más de 10,000 APIs públicas en zylalabs.com con una cuenta y una clave API.
Comenzando en Zyla API Hub
Abre la lista de la API en vivo de SofaScore, suscríbete y obtén tu clave:
- Visita la página de la API: Iniciar prueba de 7 días en la API en vivo de SofaScore.
- Haz clic en Suscribirse (o Iniciar prueba gratuita cuando esté disponible) para obtener tu clave API.
- Usa Authorization: Bearer YOUR_API_KEY en cada solicitud a los endpoints a continuación.
La facturación en Zyla es suscripción + cuota (no pago por llamada). Para la primera API que agregues, hay una prueba de 7 días o 50 solicitudes. Consulta la página de la API para las opciones de acceso y precios actuales.
Endpoint: Obtener todos los deportes
Este es el punto de entrada para construir tu selector de deportes, toggles de características o tablas de enrutamiento. Devuelve un array de deportes, cada uno con un id, nombre y slug. No se requieren parámetros de solicitud.
- Método: GET
- URL: https://zylalabs.com/api/12787/sofascore-live-api/25080/get-all-sports
- Encabezados: Authorization: Bearer YOUR_API_KEY
- Parámetros de solicitud: ninguno
Ejemplo de cURL
curl -s -X GET "https://zylalabs.com/api/12787/sofascore-live-api/25080/get-all-sports" \
-H "Authorization: Bearer YOUR_API_KEY"
Respuesta de ejemplo oficial
[
{
"id": 1,
"name": "Fútbol",
"slug": "football"
},
{
"id": 5,
"name": "Tenis",
"slug": "tennis"
},
{
"id": 2,
"name": "Baloncesto",
"slug": "basketball"
},
{
"id": 64,
"name": "Béisbol",
"slug": "baseball"
},
{
"id": 23,
"name": "Voleibol",
"slug": "volleyball"
},
{
"id": 63,
"name": "Fútbol americano",
"slug": "american-football"
},
{
"id": 6,
"name": "Balonmano",
"slug": "handball"
},
{
"id": 20,
"name": "Tenis de mesa",
"slug": "table-tennis"
},
{
"id": 4,
"name": "Hockey sobre hielo",
"slug": "ice-hockey"
},
{
"id": 22,
"name": "Dardos",
"slug": "darts"
},
{
"id": 72,
"name": "E-sports",
"slug": "esports"
},
{
"id": 11,
"name": "Deportes de motor",
"slug": "motorsport"
},
{
"id": 65,
"name": "Ciclismo",
"slug": "cycling"
},
{
"id": 62,
"name": "Críquet",
"slug": "cricket"
},
{
"id": 76,
"name": "Artes marciales mixtas",
"slug": "mma"
},
{
"id": 12,
"name": "Rugby",
"slug": "rugby"
},
{
"id": 29,
"name": "Futsal",
"slug": "futsal"
},
{
"id": 31,
"name": "Bádminton",
"slug": "badminton"
},
{
"id": 26,
"name": "Waterpolo",
"slug": "waterpolo"
},
{
"id": 19,
"name": "Snooker",
"slug": "snooker"
},
{
"id": 13,
"name": "Reglas australianas",
"slug": "aussie-rules"
},
{
"id": 34,
"name": "Voleibol de playa",
"slug": "beach-volley"
},
{
"id": 109,
"name": "Minifútbol",
"slug": "minifootball"
},
{
"id": 7,
"name": "Floorball",
"slug": "floorball"
},
{
"id": 15,
"name": "Bandy",
"slug": "bandy"
},
{
"id": 110,
"name": "Pádel",
"slug": "padel"
}
]
Campos que realmente usarás:
- id: identificador numérico para el deporte. Almacena esto para búsquedas relacionales.
- name: nombre para mostrar en menús y etiquetas.
- slug: token estable y amigable con URL para construir rutas y toggles de características.
Ejemplo en Python: obtener, ordenar y mapear por id
import requests
API_URL = "https://zylalabs.com/api/12787/sofascore-live-api/25080/get-all-sports"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
resp = requests.get(API_URL, headers=headers, timeout=10)
resp.raise_for_status()
sports = resp.json() # lista de {id, name, slug}
# Ordenar alfabéticamente para un menú
sports_sorted = sorted(sports, key=lambda s: s["name"].lower())
# Construir mapas auxiliares
by_id = {s["id"]: s for s in sports_sorted}
by_slug = {s["slug"]: s for s in sports_sorted}
# Ejemplo de uso
print("Deportes disponibles:", ", ".join(s["name"] for s in sports_sorted))
print("id de Fútbol:", by_slug["football"]["id"])
Endpoint: Buscar todas las entidades
Utiliza esto cuando necesites potenciar una barra de búsqueda para saltar rápidamente a un equipo, competencia o entidad relacionada de SofaScore. Busca entre entidades mediante una cadena de consulta y devuelve objetos coincidentes.
- Método: GET
- URL: https://zylalabs.com/api/12787/sofascore-live-api/25082/search-all-entities
- Encabezados: Authorization: Bearer YOUR_API_KEY
- Parámetros de solicitud:
- q (cadena, requerido): la consulta de búsqueda (por ejemplo, real madrid)
Ejemplo de cURL
Este endpoint devuelve coincidencias que incluyen metadatos de entidad como id, nombre, slug e información del país. Úsalo para llenar sugerencias de autocompletado después de que el usuario elija un deporte de tu lista de “todos los deportes”.
Endpoint: Obtener bandera del país
Al renderizar contexto a nivel de país (por ejemplo, el país de un equipo), puedes solicitar una imagen de bandera mediante el código del país y usar los bytes directamente en tu interfaz de usuario o capa de caché.
- Método: GET
- URL: https://zylalabs.com/api/12787/sofascore-live-api/31197/get-country-flag
- Encabezados: Authorization: Bearer YOUR_API_KEY
- Parámetros de solicitud:
- country_code (cadena, requerido): por ejemplo, EN
Ejemplo de cURL
Ejemplo de respuesta
iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAMAAAAL34HQAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAACxMAAAsTAQCanBgAAAELUExURUdwTN/f37QVJd7e3t3d3d/f39/f39/f39/f397e3t7e3t3d3d3d3d3d3d/f397e3t/f39/f39zc3N7e3rQUJN/f37MUJLUTJd/f39/f3+Hh4d3d3bMUJLUVJbQUJLUVJbUUJLcQKOHh4d3d3bQVJLQUJN/f397e3rQVJbIWI7ITI7QUJLcYKM4RJP///97e3rQUJPv7++Li4v39/ebm5uDg4Orq6vDw8OTk5Pf397sTJPn5+bsUJPPz8/Ly8u7u7rcUJMcSJOzs7PHx8cQSJO/v77gUJLgTJOjo6MoSJMETJL8TJLUUJL4TJOvr680RJMsSJMsRJMQTJL0TJO3t7cwRJLYUJM0SJLwUJL4UJDN2488AAAAsdFJOUwB/38+AMBAg79+fcJBAv3CfYKC/YICfj79vr0AwcGCvIF+Pz8+vsKBQULAgUCRTtgAABilJREFUeNrtnGdX40YUhoWrhA1uGFj6tmQ34VrFKl6vzdqYDrtJNvX//5JMkSU3YWk0kiYn3A/CB3zMc+776s54NHMlKV6cfThp756+zeVUErlcq7XbPj48kjKLYqOel9WAkLf3GsXUkcqVA7mDIwiL/FE+qKSItrWndKZBIR6vrz+TuL6excKhbG6lwyR3/ND/eZiM7r6dz8bdaHL/tzPzJmUz4ZyVKtvePzMtu2fAeUCA0bNvde/N+UaCUBteorp2H0gEYpHo210/ZeVkXL7pMxkwjeexUGgDjywBMA/KufKZwmARMj0ZME++bg/mIwwWip7lgm1wBHtFocyxBsCGhVLmgim8zF+md585r15ULB8szyVhrn6WBhAPywfb4JWqJU8xYSEwan6lzMNV5iUAHywAelfKlTg34B5NlQb8sKZKvikxC5hfkyomLJQwM46QRTJPcDTgjeU6TGEawF+TXP8OwB8L4Ip8OIPBNoiAA0gGCy5NpkpBqPQ+JIXlCrnBQqVBclgsXITKMSBJLDCciFyEqhuGKg5WVC5C9RUgaSyArxG4XhEFIQ0sIDPX16GqaGhfccCiOoaoq2Vc2/WwVHGxwNBDjUMlJWRl4IRF60R+3biN5wxmeKr4WNDH…
Utiliza el cuerpo de la respuesta como bytes de imagen. Almacénalo y sírvelo a través de tu CDN o conviértelo al formato que tu frontend espera.
Patrones de integración del mundo real
- Construir un selector de deportes: obtener todos los deportes una vez al iniciar la aplicación, ordenar por nombre y renderizar como un menú desplegable o control segmentado.
- Puertas de características por deporte: usar el slug para alternar módulos específicos de deportes (por ejemplo, habilitar “hockey sobre hielo” cuando los datos estén disponibles).
- Rutas amigables con SEO: generar URLs como /sports/football/ o /sports/mma/ a partir del campo slug.
- Autocompletar para equipos: cuando el usuario selecciona un deporte, conecta tu cuadro de búsqueda para llamar a Buscar todas las entidades para consultas como “real madrid”.
- Insignias de país: usar Obtener bandera del país para mostrar banderas junto a equipos, ligas o entradas de clasificación.
Notas operativas que ahorran tiempo
- Caché: la lista de todos los deportes es relativamente estable. Almacena en caché durante horas o un día en tu backend. Mantén una estrategia simple de invalidar al desplegar.
- Localización: la carga útil de ejemplo muestra nombres en inglés. Si tu interfaz de usuario admite múltiples idiomas, planifica mapear cadenas de visualización por separado del slug.
- Identificadores: persiste tanto el id como el slug. Usa el id para uniones en el backend; usa el slug para URLs y enrutamiento de características.
- Manejo de errores: trata los códigos no 200 como transitorios por defecto e implementa un reintento con retroceso para lecturas. Supervisa errores con el id de solicitud en tus registros.
- Solo encabezados: estos endpoints utilizan Authorization: Bearer YOUR_API_KEY. No envíes parámetros adicionales en el cuerpo en GETs.
- Cuotas: Zyla utiliza suscripción + cuota. Consulta la lista para tus límites actuales y uso esperado. Evita sondeos innecesarios almacenando en caché.
Flujo mínimo de extremo a extremo
- Al iniciar el servidor, solicita Obtener todos los deportes y almacena en caché el array.
- Expón la lista en caché a tu frontend para construir la navegación, usando slug para el enrutamiento e id para referencias internas.
- En la búsqueda del usuario, llama a Buscar todas las entidades con q establecido en la entrada del usuario y renderiza sugerencias.
- Cuando necesites visuales de país, llama a Obtener bandera del país con el country_code apropiado y almacena los bytes.
Llamadas desde agentes de IA a través de MCP
Si estás prototipando en un cliente compatible con MCP (por ejemplo, Claude Code, Cursor, Windsurf), puedes llamar a las mismas APIs a través del endpoint MCP de Zyla. Dirige tu herramienta a:
Proporciona tu clave API de Zyla donde tu cliente la espera. Tu agente podrá invocar los endpoints documentados de la API en vivo de SofaScore utilizando el mismo token de portador y URLs mostradas arriba. Esto es útil para crear scripts que obtienen deportes, verifican slugs y generan archivos de configuración.
Lista de verificación de pruebas
- GET exitoso a get-all-sports devuelve un array; confirma que cada elemento tiene id, name, slug.
- Orden de clasificación: maneja tu propia clasificación; la API no garantiza el orden.
- Seguridad del slug: los slugs son amigables con URL; valida que tu enrutador maneje guiones.
- Barra de búsqueda: debounce las pulsaciones de teclas y llama a search-all-entities con q después de 200–300ms.
- Imágenes de bandera: trata la respuesta como bytes de imagen; sírvelas con el tipo de contenido adecuado al devolver desde tu backend.
Por qué Zyla te ayuda a enviar más rápido
Con Zyla API Hub reutilizas la misma cuenta, clave y modelo de facturación en miles de APIs. Eso significa que puedes integrar endpoints adicionales de deportes o juegos más tarde sin rehacer la autenticación o adquisición. Explora el catálogo en zylalabs.com y escala más allá de una sola integración cuando estés listo.
FAQ
¿Cómo me autentico?
Agrega el encabezado Authorization: Bearer YOUR_API_KEY a cada solicitud.
¿Hay parámetros de solicitud para Obtener todos los deportes?
No. El endpoint no documenta ningún parámetro de solicitud; solo envía el GET con tu encabezado de autorización.
¿Qué campos de respuesta debo almacenar?
Como mínimo: id, name, slug. Usa id para referencias internas y slug para URLs y toggles de características.
¿Puedo almacenar en caché la lista de deportes?
Sí. Es una buena idea almacenar en caché para reducir llamadas y mejorar el tiempo de inicio. Elige una expiración que se ajuste a tu cadencia de lanzamiento.
¿Cómo muestro una bandera de país?
Llama a Obtener bandera del país con el parámetro country_code requerido y usa los bytes de imagen devueltos en tu interfaz de usuario o sírvelos desde tu CDN.
¿Listo para implementar tu lista de deportes y enviar esta semana? Suscríbete y obtén tu clave en la página de la API en vivo de SofaScore: Iniciar prueba de 7 días en la API en vivo de SofaScore.