Tienes que enviar comentarios de partidos y contexto en vivo a tu aplicación deportiva esta semana. Al final de esta guía, podrás resolver equipos y competiciones, enumerar los deportes soportados y delimitar países/categorías utilizando la API FlashScore - Live en Zyla API Hub, para que puedas localizar de manera confiable las entidades de partidos exactas a las que adjuntarás tus comentarios.
Lo que esta API te ofrece (y cómo ayuda con los comentarios)
La API FlashScore - Live en Zyla API Hub proporciona entidades deportivas buscables y listas estructuradas de deportes y países/categorías. Concretamente, puedes:
- Buscar entidades como equipos, jugadores y torneos por nombre (para obtener IDs y metadatos estables).
- Enumerar todos los deportes soportados.
- Listar países/categorías para un deporte (por ejemplo, agrupaciones ATP/WTA para Tenis).
Para construir una función de comentarios, el primer paso innegociable es resolver de manera confiable el contexto del partido correcto: deporte → competición/categoría → equipo → partido. Los endpoints a continuación cubren el descubrimiento y la delimitación para que puedas anclar los comentarios a los IDs de entidad y metadatos correctos (deporte, género, imágenes y nombres de países/categorías).
Comenzando en Zyla API Hub
Abre la lista de la API en Zyla API Hub, haz clic en Suscribirse o Comenzar Prueba Gratuita cuando esté disponible, y obtén tu clave API. Zyla utiliza una sola cuenta, una clave API y un modelo de suscripción + cuota en más de 10,000 APIs públicas, sin facturación por llamada. Para esta API, puedes comenzar con una prueba de 7 días o 50 solicitudes; no hay Plan Gratuito. Consulta la lista para las opciones de acceso y precios actuales.
Todas las solicitudes utilizan el encabezado Authorization: Bearer YOUR_API_KEY y el host base es proporcionado por el mercado. No agregues parámetros adicionales que no estén documentados.
Endpoints que usarás para anclar comentarios de partidos
Estos son los endpoints de descubrimiento y delimitación disponibles en la lista. Úsalos para encontrar el equipo, deporte y país/categoría correctos antes de asociar comentarios en tu sistema.
1) Buscar
Buscar entidades de FlashScore (equipos, jugadores, torneos) por cadena de consulta.
- Método: GET
- URL: https://zylalabs.com/api/12518/flashscore-live-api/23852/search
- Parámetro de consulta requerido: q
Ejemplo (buscar "real madrid"):
curl -s -X GET "https://zylalabs.com/api/12518/flashscore-live-api/23852/search?q=real+madrid" \
-H "Authorization: Bearer YOUR_API_KEY"
Respuesta de muestra oficial:
[{"id":"W8mj7MDD","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/E99TZ05n-ttfpEDUq.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"SlAdQJK4","type":"team","name":"Real Madrid U19","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/IgG3LUAK-xGwa4c2B.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"MP6gLUO7","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":3,"name":"Basketball"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/pn8TQOkQ-bXlcmj9T.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"2anA8FkF","type":"team","name":"Real Madrid U21","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/p048BCQt-SKpsUss3.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"4xlfVfnP","type":"team","name":"Real Madrid W","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Women","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/4CKmt8Rt-WpmKUEXD.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"fyNss8GQ","type":"team","name":"Real Madrid B","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/f5FO93Tc-ltKPQjEk.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"46uFRv4a","type":"team","name":"Real Madrid C","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/bupmbK6n-QkBtimSf.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"UiUgFWdq","type":"team","name":"Real Madrid U20","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flash…
Por qué esto es importante para las tuberías de comentarios:
- Usa id para identificar de manera única al equipo o entidad.
- Usa sport.id y sport.name para separar los contextos de comentarios de fútbol y baloncesto.
- Usa gender y country_name para desambiguar escuadras y configuraciones de ligas.
- Usa image_path para elementos de UI junto a los ticks de comentarios.
2) Obtener deportes
Devuelve una lista de todos los deportes disponibles soportados.
- Método: GET
- URL: https://zylalabs.com/api/12518/flashscore-live-api/23853/get-sports
- Parámetros: ninguno documentado
Ejemplo:
Usa esto para construir un selector de deportes o para validar que tu función de comentarios esté vinculada a un deporte soportado (por ejemplo, Fútbol, Tenis, Baloncesto). La respuesta incluye sport_id, sport_url y name.
3) Obtener países
Devuelve una lista de países para un deporte específico.
- Método: GET
- URL: https://zylalabs.com/api/12518/flashscore-live-api/23854/get-countries
- Parámetro de consulta requerido: sport_id
Ejemplo (tenis = 2):
La respuesta devuelve elementos como agrupaciones ATP/WTA con country_id, country_url y name. Usa esta lista para restringir tus fuentes de comentarios por familia de competiciones (por ejemplo, ATP - Individuales vs WTA - Dobles), lo cual es crítico al mapear comentarios en vivo al bracket o tour correcto.
De extremo a extremo: resolviendo entidades antes de adjuntar comentarios
- Obtener deportes: Poblacion tu selector de deportes usando el endpoint get-sports. Almacena esta lista agresivamente; no cambia con frecuencia.
- Selecciona un deporte y lista países/categorías: Para el deporte seleccionado, llama a get-countries con sport_id para recuperar las categorías o agrupaciones de países relevantes. Almacena esto por deporte, con una actualización diaria.
- Buscar un equipo/jugador/torneo: Usa el endpoint de búsqueda para resolver la entidad exacta (por ejemplo, “Real Madrid” → múltiples equipos, incluyendo escuadras femeninas y juveniles). Presenta la desambiguación en tu UI.
- Adjuntar comentarios en vivo en tu sistema: Una vez que hayas seleccionado el id de entidad correcto, úsalo en tu modelo de datos interno para asociar eventos de comentarios con el equipo/categoría correcta. Los endpoints anteriores te dan los identificadores y metadatos que necesitas para evitar desajustes.
Nota: Solo los endpoints documentados anteriormente están cubiertos aquí. Si necesitas datos adicionales a nivel de partido, consulta la página de la API en Zyla API Hub para la interfaz actual y completa.
Código para copiar y pegar: búsqueda desde Python
Este ejemplo llama al endpoint de Búsqueda, filtra por type=team y imprime el id del equipo, nombre, deporte e imagen.
import requests
API_KEY = "YOUR_API_KEY"
url = "https://zylalabs.com/api/12518/flashscore-live-api/23852/search"
params = {"q": "real madrid"}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, params=params, headers=headers, timeout=15)
resp.raise_for_status()
items = resp.json()
# Usa id para vincular tus comentarios al equipo correcto
for it in items:
if it.get("type") == "team":
team_id = it.get("id")
name = it.get("name")
sport = (it.get("sport") or {}).get("name")
gender = it.get("gender")
country = it.get("country_name")
logo = it.get("image_path")
print(f"{team_id} | {name} | {sport} | {gender} | {country} | {logo}")
Puedes almacenar los campos id y url en tu base de datos como claves foráneas para la atribución de comentarios, y usar image_path para renderizar una insignia en tu UI de feed en vivo.
Notas de campo que ahorran tiempo
- Autenticación: Siempre envía Authorization: Bearer YOUR_API_KEY. No agregues otros campos de autenticación.
- Cacheo: Almacena en caché get-sports y get-countries durante horas a días. Mantén los resultados de búsqueda en una caché de corta duración (minutos a horas) para minimizar búsquedas repetidas durante flujos de trabajo editoriales o de ingestión.
- Paginación: No se documentan parámetros de paginación para los endpoints mostrados aquí. Si tu consulta devuelve múltiples entidades, filtra del lado del cliente.
- Imágenes: Se proporcionan URLs de image_path y country_image_path en los resultados de entidades, útiles para elementos de UI junto a las entradas de comentarios.
- Cuotas y precios: Zyla utiliza suscripción + cuota (no pago por llamada). Para esta API, puedes comenzar con una prueba de 7 días o 50 solicitudes. Consulta la lista para las cuotas y niveles actuales.
- Manejo de errores: Un 401 típicamente indica un encabezado de Autorización faltante/inválido. Trata los arreglos vacíos de búsqueda como “sin coincidencias” y solicita a los usuarios que refinan sus términos.
Casos de uso prácticos
- Autocompletar buscador de partidos: A medida que los usuarios escriben un nombre de equipo, llama a buscar y vincula comentarios al id elegido.
- Feeds delimitados por competición: Usa get-countries para un deporte dado para delimitar feeds de comentarios a ATP/WTA o ligas nacionales.
- UI de ticker en vivo: Resuelve el equipo con búsqueda, muestra image_path como el logo y transmite tus comentarios junto a él.
- Herramientas editoriales: Pre-puebla selectores de entidades por deporte y país/categoría para prevenir errores de etiquetado de comentarios.
Llamando a la API desde agentes de IA a través de MCP
Si automatizas operaciones de comentarios (por ejemplo, un asistente interno que etiqueta equipos o obtiene deportes soportados), puedes conectar un cliente compatible con MCP al endpoint MCP de Zyla.
- URL del servidor MCP: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
- Funciona con clientes que soportan MCP, incluyendo populares agentes de IDE para desarrolladores.
Configura tu cliente con tu clave API de Zyla. Luego emite las mismas solicitudes GET mostradas arriba a través de tu cliente MCP, usando las URLs de endpoints documentadas y el encabezado de Autorización. Consulta la página de MCP para detalles de conexión.
Cómo integrar en Zyla API Hub
- Abre la página de la API: Comienza prueba de 7 días en FlashScore - Live API
- Haz clic en Suscribirse o Comenzar Prueba Gratuita cuando esté disponible. Recibirás una sola clave API utilizable en Zyla.
- Envía solicitudes con Authorization: Bearer YOUR_API_KEY a los endpoints documentados.
- Almacena los ids de entidad devueltos por Búsqueda y usa get-sports/get-countries para mantener tus comentarios mapeados a ámbitos válidos.
Si eres nuevo en el mercado, explora otras APIs de deportes y juegos en zylalabs.com, una cuenta y una clave funcionan en todas las listas.
FAQ
¿Cómo autentico las solicitudes?
Incluye el encabezado Authorization: Bearer YOUR_API_KEY en cada llamada.
¿Qué endpoint me ayuda a encontrar el equipo correcto para mis comentarios?
Usa GET https://zylalabs.com/api/12518/flashscore-live-api/23852/search con q para resolver entidades como equipos y torneos. Persiste el id devuelto.
¿Cómo delimito los comentarios a un deporte o familia de competiciones?
Llama a GET https://zylalabs.com/api/12518/flashscore-live-api/23853/get-sports para elegir un deporte, luego GET https://zylalabs.com/api/12518/flashscore-live-api/23854/get-countries?sport_id=... para listar agrupaciones de países/categorías (por ejemplo, ATP/WTA para Tenis).
¿Hay paginación o parámetros adicionales?
No se documentan parámetros adicionales para los endpoints cubiertos aquí. Filtra las respuestas del lado del cliente según sea necesario.
¿Cuál es el modelo de precios?
Zyla utiliza suscripción + cuota (no pago por llamada). Para esta API, puedes comenzar con una prueba de 7 días o 50 solicitudes. Consulta la página de la API para las opciones de acceso y precios actuales.
¿Listo para resolver entidades y conectar tu flujo de trabajo de comentarios? Suscríbete en la lista y comienza a llamar a los endpoints hoy: FlashScore - Live API.
Respuesta oficial de la API
[{"id":"W8mj7MDD","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/E99TZ05n-ttfpEDUq.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"SlAdQJK4","type":"team","name":"Real Madrid U19","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/IgG3LUAK-xGwa4c2B.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"MP6gLUO7","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":3,"name":"Basketball"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/pn8TQOkQ-bXlcmj9T.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"2anA8FkF","type":"team","name":"Real Madrid U21","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/p048BCQt-SKpsUss3.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"4xlfVfnP","type":"team","name":"Real Madrid W","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Women","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/4CKmt8Rt-WpmKUEXD.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"fyNss8GQ","type":"team","name":"Real Madrid B","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/f5FO93Tc-ltKPQjEk.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"46uFRv4a","type":"team","name":"Real Madrid C","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/bupmbK6n-QkBtimSf.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"UiUgFWdq","type":"team","name":"Real Madrid U20","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flash…
Respuesta oficial de la API
[{"id":"W8mj7MDD","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/E99TZ05n-ttfpEDUq.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"SlAdQJK4","type":"team","name":"Real Madrid U19","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/IgG3LUAK-xGwa4c2B.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"MP6gLUO7","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":3,"name":"Basketball"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/pn8TQOkQ-bXlcmj9T.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"2anA8FkF","type":"team","name":"Real Madrid U21","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/p048BCQt-SKpsUss3.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"4xlfVfnP","type":"team","name":"Real Madrid W","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Women","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/4CKmt8Rt-WpmKUEXD.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"fyNss8GQ","type":"team","name":"Real Madrid B","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/f5FO93Tc-ltKPQjEk.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"46uFRv4a","type":"team","name":"Real Madrid C","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/bupmbK6n-QkBtimSf.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"UiUgFWdq","type":"team","name":"Real Madrid U20","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flash…