您本周需要在应用中获取实时足球比赛数据:今天的赛程、当前进行的比赛,以及通过 ID 快速查看比赛详情。在本指南结束时,您将能够获取某个日期的实时比赛,分页浏览某一天的所有赛程,并使用 FotMob 实时足球 API 在 Zyla API Hub 上通过 Python 和 curl 检索比赛详情——只需一个 API 密钥和订阅。
FotMob 实时足球 API 提供的内容
FotMob 实时足球 API 返回:
- 某个 UTC 日期的实时比赛(默认为今天),包括球队、状态、分钟、得分、比赛和可重用的比赛标识符。
- 某个 UTC 日期的所有赛程(已安排、实时和已完成),带有适合全天赛程的分页控制。
- 通过比赛 ID 获取比赛详情,包括球队、得分、比赛和状态。
常见用例包括实时得分滚动条、比赛中心仪表板、警报系统,以及由体育应用、俱乐部网站和博彩工具构建的赛前页面。
Zyla API Hub 的身份验证和计费
- 身份验证:在每个请求中发送 Authorization: Bearer YOUR_API_KEY。
- 计费:订阅 + 配额(不是按调用计费)。没有免费计划。对于您在 Zyla 的第一个 API,您可以从 7 天试用或 50 次请求开始;请查看 API 页面以获取当前访问选项和定价。
- 一个密钥适用于 Zyla 的所有 API;在一个帐户中管理所有内容。
您可以在 Zyla API Hub 上浏览超过 10,000 个公共 API,并在准备好时订阅。
在 Zyla API Hub 上开始
- 打开 FotMob 实时足球 API 页面。
- 点击订阅或开始免费试用(可用时)。
- 从仪表板中复制您的 API 密钥。
- 使用 Authorization 头调用端点:Bearer YOUR_API_KEY。
还没有帐户?注册 以获取 API 密钥并开始集成。
您将使用的端点
1) FotMob 足球实时比赛
方法:GET
URL: https://zylalabs.com/api/13929/fotmob-live-football-api/32101/fotmob-football-live-matches
描述:返回某个 UTC 日期正在进行的足球比赛。默认为今天。使用比赛 ID 获取详情和统计信息。
查询参数:
- date(日期,必需):例如 2026-09-23
curl(按原样复制粘贴):
curl -s -X GET "https://zylalabs.com/api/13929/fotmob-live-football-api/32101/fotmob-football-live-matches?date=2026-09-23"
-H "Authorization: Bearer YOUR_API_KEY"
官方示例 JSON 响应:
{
"source": "fotmob",
"count": 2,
"matches": [
{
"source": "fotmob",
"source_event_id": 6278448,
"sport": "football",
"status": "Live",
"status_code": 3,
"minute": "98’",
"start_timestamp": 1790179200,
"home": {
"id": 507764,
"name": "Gibraltar",
"short_name": "Gibraltar"
},
"away": {
"id": 287979,
"name": "Sao Tome and Principe",
"short_name": "Sao Tome and Principe"
},
"score": {
"home": 0,
"away": 0,
"text": null
},
"tournament": {
"id": 914609,
"name": "Friendlies",
"country": "INT"
},
"meta": {
"is_live": true
}
},
{
"source": "fotmob",
"source_event_id": 1000021847,
"sport": "football",
"status": "Halftime",
"status_code": 10,
"minute": "HT",
"start_timestamp": 1790182800,
"home": {
"id": 394121,
"name": "VfL Wolfsburg",
"short_name": "VfL Wolfsburg"
},
"away": {
"id": 644409,
"name": "Sturm Graz",
"short_name": "Sturm Graz"
},
"score": {
"home": 4,
"away": 0,
"text": null
},
"tournament": {
"id": 1000001490,
"name": "UEFA Women's Europa Cup - 2nd Qualifying Round",
"country": "INT"
},
"meta": {
"is_live": true
}
}
],
"date": "2026-09-23",
"cache": {
"hit": false,
"ttl_seconds": 20
}
}
您将使用:
- matches[].source_event_id — 可重用的比赛 ID。
- status, status_code, minute — 驱动实时滚动条和状态转换。
- score.home, score.away — 当前得分。
- start_timestamp — UTC 纪元秒;转换为您的本地时间以进行显示。
- tournament 字段 — 竞赛元数据。
- cache.ttl_seconds — 上游缓存提示;计划您的轮询间隔。
2) 按日期获取 FotMob 赛程
方法:GET
URL: https://zylalabs.com/api/13929/fotmob-live-football-api/32102/fotmob-fixtures-by-date
描述:返回某个 UTC 日期的所有足球比赛(实时和已安排)。响应是分页的:默认每页 100 场比赛(最多 100)。检查 pagination.has_more;当为真时,请求 page=2, page=3 等。
查询参数:
- date(日期,必需):例如 2026-09-22
- page(数字,可选):基于 1 的页码索引
- per_page(数字,可选):最多 100
curl(按原样复制粘贴):
注意:
- 在您需要安排的比赛和同一天的任何实时/已完成比赛的赛前赛程中使用此功能。
- 在响应中读取分页指示器;当 has_more 为真时,递增页面。
3) 按比赛 ID 获取 FotMob 比赛详情
方法:GET
URL: https://zylalabs.com/api/13929/fotmob-live-football-api/32103/fotmob-match-detail-by-match-id
描述:返回 FotMob 比赛 ID 的球队、得分、状态和比赛信息。
请求参数:用户示例中没有记录。进行身份验证并调用端点以检索详情。
curl(按原样复制粘贴):
官方示例 JSON 响应:
提示:使用来自实时或赛程端点的比赛 ID(source_event_id)来获取或刷新详情视图。
Python:获取某个日期的实时比赛
下面的代码片段调用 FotMob 足球实时比赛以获取某个 UTC 日期,打印紧凑的记分牌,并展示如何处理上述官方示例中的核心字段。
import os
import requests
from datetime import datetime, timezone
API_KEY = os.getenv("ZYLA_API_KEY", "YOUR_API_KEY")
DATE = "2026-09-23" # UTC 日期
url = "https://zylalabs.com/api/13929/fotmob-live-football-api/32101/fotmob-football-live-matches"
params = {"date": DATE}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, params=params, headers=headers, timeout=20)
resp.raise_for_status()
data = resp.json()
print(f"Source: {data.get('source')}, Matches: {data.get('count')}, Date: {data.get('date')}")
cache = data.get("cache") or {}
if cache:
print(f"Cache TTL (s): {cache.get('ttl_seconds')}")
for m in data.get("matches", []):
mid = m.get("source_event_id")
status = m.get("status")
minute = m.get("minute")
start_ts = m.get("start_timestamp")
start_utc = datetime.fromtimestamp(start_ts, tz=timezone.utc).isoformat() if start_ts else "n/a"
home = m.get("home", {}).get("short_name") or m.get("home", {}).get("name")
away = m.get("away", {}).get("short_name") or m.get("away", {}).get("name")
sh = m.get("score", {}).get("home")
sa = m.get("score", {}).get("away")
tourney = m.get("tournament", {}).get("name")
country = m.get("tournament", {}).get("country")
line = f"[{status} {minute or ''}] {home} {sh}-{sa} {away} | {tourney} ({country}) | match_id={mid} | start={start_utc}"
print(line.strip())
将此作为 cron 或后台任务运行。使用 cache.ttl_seconds 作为轮询间隔的下限。
实用集成注意事项
- 时区和时间戳:start_timestamp 是 UTC 纪元秒。转换为客户端本地时间以进行显示。
- 状态处理:status 和 status_code 驱动状态转换;将 minute 视为字符串("HT", "98’")。在检查之前不要将 minute 解析为整数。
- 安全的得分线:在开球前,score.home 和 score.away 可能为 null。保护您的格式化程序。
- 分页:对于全天赛程,使用 FotMob 按日期获取赛程并迭代页面,直到响应指示没有更多页面。默认 per_page 为 100,最大为 100。
- 缓存:cache.ttl_seconds 指示推荐的 TTL;避免过于频繁地访问端点。
- 比赛身份:使用 matches[].source_event_id 作为您的稳定键,以关联实时计时和详情视图。
- 身份验证:始终传递 Authorization: Bearer YOUR_API_KEY;未能这样做将导致身份验证错误。
端到端工作流示例
- 实时滚动条:针对今天的 UTC 日期轮询 FotMob 足球实时比赛,呈现得分、分钟和比赛。将每一行链接到使用比赛 ID 的详情视图。
- 赛前着陆页:调用 FotMob 按日期获取赛程以获取所选日期并进行分页。显示按比赛分组的未开始比赛。
- 详情屏幕:使用从任一端点提取的比赛 ID,并调用按比赛 ID 获取比赛详情以呈现球队、得分和比赛字段。
- 警报:当状态转换为实时或中场/完成时,触发通知。使用 status_code 避免字符串匹配边缘情况。
通过 MCP 从 AI 代理调用
如果您使用兼容 MCP 的客户端(Claude Code、Cursor、Windsurf 等)自动化任务,您可以通过 MCP 端点调用 Zyla API:
端点: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
任何配置为使用 MCP 的工具都可以将请求转发到 Zyla。重用相同的授权模型(您的 API 密钥与您的 Zyla 帐户和订阅相关联)。有关客户端设置的详细信息,请参见 MCP 页面。
提示:保持您的比赛获取逻辑无状态和幂等,以便 MCP 工具可以安全地重试。观察 cache.ttl_seconds,以避免不必要的调用来自您的代理循环。
用于获取赛程和详情的 curl(准备粘贴)
某个日期的所有赛程(带有分页控制):
按比赛 ID 获取比赛详情:
操作检查清单
- UTC 假设:实时和赛程端点均基于 UTC 日期。
- 轮询频率:从 cache.ttl_seconds 开始;根据用户体验需求和您的订阅配额进行调整。
- 错误处理:将非 2xx 视为瞬态(重试并退避),除非您的客户端另有指示。
- 配额规划:此 API 使用订阅 + 配额。没有免费计划。对于您的第一个 API,您可以从 7 天试用或 50 次请求开始——请在 API 页面上验证详细信息。
- 密钥管理:将 YOUR_API_KEY 存储在您的服务器端配置或环境变量中。请勿将密钥嵌入客户端代码中。
链接和后续步骤
- 浏览并订阅 FotMob 实时足球 API。
- 创建您的帐户:注册。
- 在 Zyla API Hub 上探索更多体育列表。
常见问题
我该如何进行身份验证?
在每个请求中发送 Authorization: Bearer YOUR_API_KEY。
日期和时间使用什么时区?
端点接受 UTC 日期。start_timestamp 字段为 UTC 纪元秒。
我该如何获取繁忙比赛日的所有赛程?
使用 FotMob 按日期获取赛程,带上 page 和 per_page,并在响应指示有更多数据时继续获取后续页面。
我该如何将实时比赛行链接到详情页面?
使用来自实时或赛程端点的 matches[].source_event_id,然后使用您的身份验证头调用按比赛 ID 获取比赛详情。
有免费计划吗?
没有免费计划。第一个 API 提供 7 天试用或 50 次请求。请查看 API 页面以获取当前访问选项和定价。
准备好发布您的集成了吗?创建您的帐户,获取您的密钥,并立即开始调用 FotMob 实时足球 API。立即注册。