接口说明
建议每天更新
- 请求方式
GET- 请求地址
https://api.superscore.cn/tennis/match/matchList- Content-Type
application/x-www-form-urlencoded;charset=UTF-8
请求头与鉴权
| 字段 | 类型 | 必填 | 文档示例值 | 说明 |
|---|---|---|---|---|
token | string | 是 | test | token仅供测试,正式站请设置IP |
商户密钥仅保存在自己的服务端。测试 token 与正式 IP 授权的适用范围以本表及账户授权说明为准。
请求参数
Query 查询参数
| 字段 | 类型 | 必填 | 文档示例值 | 说明 |
|---|---|---|---|---|
languageId | string | 否 | zh | 多语言 默认zh |
date | string | 是 | 2023-08-01 | 日期2023-06-01 |
示例值用于说明字段;比赛、球队、联赛等 ID 应从实际接口取得,不能直接使用占位值。字段中的日期、枚举、分页范围与更新建议完整保留原始说明。
调用示例
替换 YOUR_MERCHANT_KEY、YOUR_MATCH_ID 等占位值后,在已授权的服务端调用。示例不会在本页面发起真实请求。
cURL
curl --get 'https://api.superscore.cn/tennis/match/matchList' \
--header 'token: YOUR_MERCHANT_KEY' \
--data-urlencode 'languageId=YOUR_LANGUAGE_ID' \
--data-urlencode 'date=YYYY-MM-DD'JavaScript / Node.js
// 仅在服务端保存商户密钥;替换示例占位值。
const url = new URL("https://api.superscore.cn/tennis/match/matchList");
url.search = new URLSearchParams({
"languageId": "YOUR_LANGUAGE_ID",
"date": "YYYY-MM-DD"
});
const response = await fetch(url, {
method: "GET",
headers: {
"token": "YOUR_MERCHANT_KEY"
}
});
if (!response.ok) throw new Error('HTTP ' + response.status);
const result = await response.json();
if (result.success !== true) throw new Error(String(result.message || result.code));
console.log(result.data);Python 标准库示例
# 标准库示例;商户密钥仅保存在服务端。
import json
from urllib.parse import urlencode
from urllib.request import Request, urlopen
parameters = {
"languageId": "YOUR_LANGUAGE_ID",
"date": "YYYY-MM-DD"
}
headers = {
"token": "YOUR_MERCHANT_KEY"
}
url = "https://api.superscore.cn/tennis/match/matchList"
if parameters:
url += '?' + urlencode(parameters)
with urlopen(Request(url, headers=headers, method="GET"), timeout=15) as response:
result = json.load(response)
if not result.get('success'):
raise RuntimeError(result.get('message') or result.get('code'))
print(result.get('data'))返回参数
字段路径保留完整层级;[] 表示数组元素,<key> 表示按数据内容变化的映射键。success、code、message 与 data 均按接口定义列出。
| 字段路径 | 类型 | 说明与枚举 |
|---|---|---|
success | boolean | 是否成功 |
message | string | 提示信息 |
data | array | 数据 |
data[].matchId | int32 | 比赛 |
data[].leagueId | int32 | 联赛 |
data[].seasonId | int32 | 赛季 |
data[].stageId | int32 | 分组 |
data[].time | int32 | 时间戳秒 |
data[].status | int32 | 状态 0未开始,1第一盘,2第二季盘,3第三盘,4第四盘,7医疗暂停,10结束,11取消,12暂停,13推迟,14延迟,15腰斩,16中断,17退赛,18待定,99删除 |
data[].homeTeamId | string | 球队1 |
data[].homeIds | string | 球员1、球员2 |
data[].awayTeamId | string | 球队2 |
data[].awayIds | string | 球员3、球员4 |
data[].homeScore | string | 球队1得分 s1,s2,s3,s4,s5,total |
data[].awayScore | string | 球队2得分 s1,s2,s3,s4,s5,total |
data[].winner | int32 | 胜利者 |
data[].stream | int32 | 是否有直播,0无,1有 |
data[].odds | int32 | 是否有指数,0无,1有 |
data[].inplay | int32 | 是否有滚球,0无,1有 |
data[].animation | int32 | 是否有动画,0无,1有 |
data[].league | object | 联赛信息 |
data[].league.id | int32 | id |
data[].league.nameEn | string | 英文名称 |
data[].league.nameShortEn | string | 英文简称 |
data[].league.nameZh | string | 中文名称 |
data[].league.nameShortZh | string | 中文简称 |
data[].league.nameZht | string | 繁体名称 |
data[].league.nameShortZht | string | 繁体简称 |
data[].league.image | string | image |
data[].league.sort | int32 | 排序 |
data[].homeList | array | 主队信息 |
data[].homeList[].id | int32 | 球场 |
data[].homeList[].nameEn | string | 英文名称 |
data[].homeList[].nameZh | string | 中文名称 |
data[].homeList[].nameZht | string | 繁体名称 |
data[].homeList[].image | string | image |
data[].awayList | array | 客队信息 |
data[].awayList[].id | int32 | 球场 |
data[].awayList[].nameEn | string | 英文名称 |
data[].awayList[].nameZh | string | 中文名称 |
data[].awayList[].nameZht | string | 繁体名称 |
data[].awayList[].image | string | image |
data[].stats | object | 统计 |
data[].stats.minute | string | 分钟 |
data[].stats.second | string | 秒 |
data[].stats.updateTime | int64 | 更新时间 |
data[].stats.homeTeam | object | 主队 |
data[].stats.homeTeam.s1 | string | 第一节得分 |
data[].stats.homeTeam.s2 | string | 第二节得分 |
data[].stats.homeTeam.s3 | string | 第三节得分 |
data[].stats.homeTeam.s4 | string | 第四节得分 |
data[].stats.homeTeam.half | string | 半场得分 |
data[].stats.homeTeam.ot | string | 加时得分 |
data[].stats.homeTeam.t | string | 总得分 |
data[].stats.awayTeam | object | 客队 |
data[].stats.awayTeam.s1 | string | 第一节得分 |
data[].stats.awayTeam.s2 | string | 第二节得分 |
data[].stats.awayTeam.s3 | string | 第三节得分 |
data[].stats.awayTeam.s4 | string | 第四节得分 |
data[].stats.awayTeam.half | string | 半场得分 |
data[].stats.awayTeam.ot | string | 加时得分 |
data[].stats.awayTeam.t | string | 总得分 |
code | string | 编码 |
timestamp | int64 | 时间 |
响应结构示例
下面的值仅展示字段类型,不是实时数据或真实调用结果。动态 map 的键取决于实际返回,不编造固定字段。
展开完整 JSON 结构
{
"success": false,
"message": "示例字符串",
"data": [
{
"matchId": 0,
"leagueId": 0,
"seasonId": 0,
"stageId": 0,
"time": 0,
"status": 0,
"homeTeamId": "示例字符串",
"homeIds": "示例字符串",
"awayTeamId": "示例字符串",
"awayIds": "示例字符串",
"homeScore": "示例字符串",
"awayScore": "示例字符串",
"winner": 0,
"stream": 0,
"odds": 0,
"inplay": 0,
"animation": 0,
"league": {
"id": 0,
"nameEn": "示例字符串",
"nameShortEn": "示例字符串",
"nameZh": "示例字符串",
"nameShortZh": "示例字符串",
"nameZht": "示例字符串",
"nameShortZht": "示例字符串",
"image": "示例字符串",
"sort": 0
},
"homeList": [
{
"id": 0,
"nameEn": "示例字符串",
"nameZh": "示例字符串",
"nameZht": "示例字符串",
"image": "示例字符串"
}
],
"awayList": [
{
"id": 0,
"nameEn": "示例字符串",
"nameZh": "示例字符串",
"nameZht": "示例字符串",
"image": "示例字符串"
}
],
"stats": {
"minute": "示例字符串",
"second": "示例字符串",
"updateTime": 0,
"homeTeam": {
"s1": "示例字符串",
"s2": "示例字符串",
"s3": "示例字符串",
"s4": "示例字符串",
"half": "示例字符串",
"ot": "示例字符串",
"t": "示例字符串"
},
"awayTeam": {
"s1": "示例字符串",
"s2": "示例字符串",
"s3": "示例字符串",
"s4": "示例字符串",
"half": "示例字符串",
"ot": "示例字符串",
"t": "示例字符串"
}
}
}
],
"code": "示例字符串",
"timestamp": 0
}错误处理与使用说明
- 先检查 HTTP 状态,再解析 JSON;网络失败或非 JSON 响应不能当作成功。
- 业务响应 success 为 false 时,读取 code 和 message;不要把业务错误与 HTTP 状态混为一谈。
- 保存原始错误码、请求时间及接口路径用于排查,日志中移除商户密钥。
- 按该接口的数据更新建议、账户授权和调用频率请求;日期和时间戳单位以字段说明为准。
- 允许字段缺失或数据为空,按接口中的稳定 ID 关联资料,不依赖数组顺序。