加拿大28开奖API与 PC28数据接口文档 (第三方成品API)
本文档集中说明 pc28.help 的加拿大28开奖API、Keno源数据接口与历史下载接口。作为第三方成品API开放平台,本站致力于提供纯粹的开奖数据查询与接口服务,无任何投注购彩业务。接口适合用于数据看板、走势分析或第三方程序直接接入。
平台概述
加拿大28开奖API数据平台,作为第三方成品API,基于Keno数据免费提供PC28实时开奖查询、遗漏统计分析、长龙监控等纯数据接口服务。除预览聚合接口外,其他接口均支持 JSON 和 XML 两种响应格式,通过 URL 后缀区分。
如果你关注加拿大28数据接口或 pc28 开奖 API,这份文档可直接作为接入规范使用。本平台声明:仅提供彩票数据查询相关服务,不提供任何形式的投注业务。通过统一的 URL 规则,你可以快速接入开奖与统计数据,快速搭建属于你的数据服务体系。
核心能力
| 模块 | 功能 | 接口数量 |
|---|---|---|
| 开奖数据 | 实时开奖结果、Keno 源数据(响应顶层含下期 countdown 倒计时) | 2 组 |
| 统计数据 | 号码遗漏统计、球类遗漏统计、今日已开次数统计 | 3 组 |
| 预测数据 | 单双 / 大小 / 双组 / 杀组 多维度预测 | 4 组 |
| 长龙数据 | 循环 / 交替 / ABB / 赔率 长龙监控 | 4 组 |
| 聚合预览 | 首页预览数据聚合(drawNbr / countdown / omission / winRate / predictionNext / dragon) | 1 个 |
| 历史下载 | 开奖 / Keno / 已开统计 CSV 批量导出(含频率限制) | 3 + 1 个 |
当前共 31 个接口地址:13 个实时接口路径各支持 JSON/XML 双格式(共 26 个),1 个首页预览聚合接口(仅 JSON),3 个 CSV 历史下载接口,以及 1 个下载资格查询接口。
接入建议:首次接入时建议先请求 /api/preview.json 获取首页聚合数据,再按业务需要拆分调用开奖、遗漏、预测和长龙接口。这样可以用最少请求确认数据源是否正常,再决定是否为看板、机器人或后端任务分别拉取细分接口。
如果用于搜索引擎可见页面,请把接口数据转化为可读正文,例如解释字段含义、更新时间、样本期数、历史回测方法和数据来源,而不是只展示接口链接。这样更利于用户理解页面主题,也能降低“内容不足”风险。
游戏规则
加拿大 PC28 基于加拿大彩票公司 BCLC 的 Keno 开奖数据,通过特定算法计算出 00-27 范围内的特码结果。以下是完整的游戏术语和分类规则。
开奖时间
加拿大 PC28 跟随 BCLC Keno 出号节奏,每 3.5 分钟 开奖一期,全天滚动;每日仅在下表的维护窗口暂停约 30 分钟,其余时间均正常出号。受上游节奏与维护时长波动影响,单日实际期数约在 395 期 上下浮动。
| 时令 | 每日维护时段(北京时间,不开奖) |
|---|---|
| 夏令时 | 19:00 – 19:30 |
| 冬令时 | 20:00 – 20:30 |
例如夏令时维护窗口前的最后一期为 18:57,下一期则要等维护结束后才会出号,通常在 19:33 前后;维护期间调用实时接口仍可返回最近一期数据,仅 countdown 字段为 00:00。
特码术语
| 术语 | 规则 | 对应值 |
|---|---|---|
| 大 / 小 | 特码数值范围划分 | 00-13 为小,14-27 为大 |
| 单 / 双 | 特码奇偶性 | 奇数为单,偶数为双 |
| 组合 | 大小 + 单双的交叉组合 | 小单 / 小双 / 大单 / 大双 |
| 极值 | 特码处于极端范围 | 00-05 为极小,22-27 为极大 |
| 对子 | 三个开奖数字中任意两个相同 | 如 1,2,2 / 3,3,1 / 1,1,4 |
| 顺子 | 三个开奖数字为连续数(正序或逆序) | 如 1,2,3 / 3,2,1 / 6,7,8 |
| 豹子 | 三个开奖数字完全相同 | 0,0,0 / 1,1,1 / ... / 9,9,9 |
| 杂六 | 不属于对子、顺子、豹子的其他情况 | 三个数字各不相同且不连续 |
号码明细表
| 分类 | 包含号码 |
|---|---|
| 小单 | 01, 03, 05, 07, 09, 11, 13 |
| 小双 | 00, 02, 04, 06, 08, 10, 12 |
| 大单 | 15, 17, 19, 21, 23, 25, 27 |
| 大双 | 14, 16, 18, 20, 22, 24, 26 |
| 极小 | 00, 01, 02, 03, 04, 05 |
| 极大 | 22, 23, 24, 25, 26, 27 |
豹子完整列表: 0,0,0 / 1,1,1 / 2,2,2 / 3,3,3 / 4,4,4 / 5,5,5 / 6,6,6 / 7,7,7 / 8,8,8 / 9,9,9
Keno 开奖规则
加拿大 PC28 的特码结果由 BCLC Keno 每期开出的 20 个号码经过以下算法计算得出。
计算流程
获取 Keno 开奖号码
BCLC Keno 每期开出 20 个数字,将这 20 个号码按从小到大排列,记为第 1 位到第 20 位。
计算第一个数值
取第 2, 5, 8, 11, 14, 17 位号码相加,和值的末位数即为第一个数值。
计算第二个数值
取第 3, 6, 9, 12, 15, 18 位号码相加,和值的末位数即为第二个数值。
计算第三个数值
取第 4, 7, 10, 13, 16, 19 位号码相加,和值的末位数即为第三个数值。
得出特码
三个数值相加 = 加拿大 PC28 特码(范围 00-27)。
计算示例
假设 Keno 开奖号码排序后为:
位置: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
号码: 02 05 08 11 15 18 22 25 30 33 38 40 42 45 48 52 55 60 63 68
第一个数值:取第 2,5,8,11,14,17 位
05 + 15 + 25 + 38 + 45 + 55 = 183 → 末位数 = 3
第二个数值:取第 3,6,9,12,15,18 位
08 + 18 + 30 + 40 + 48 + 60 = 204 → 末位数 = 4
第三个数值:取第 4,7,10,13,16,19 位
11 + 22 + 33 + 42 + 52 + 63 = 223 → 末位数 = 3
特码结果:3 + 4 + 3 = 10
10 属于小(00-13)+ 双(偶数)= 小双
-
/api/keno 接口返回的 nbrs 字段就是排序后的 20 个 Keno 源号码-
/api/kj 接口返回的 number 字段是计算后的特码结果,combination 是组合类型
系统架构
平台采用前后端分离架构,后端为 Express.js 服务。实时接口通过进程内全量缓存(PG LISTEN/NOTIFY + 10s 兜底轮询)提供 0 DB 查询响应;历史下载接口直连 PostgreSQL 查询,并通过进程内 IP 级速率限制控制下载频率。
浏览器 / 程序 / AI
API 路由 + 速率限制
实时接口 0 DB
数据存储
实时接口: 客户端 → 内存缓存 → JSON/XML | 下载接口: 客户端 → 速率限制 → PG 直查 → CSV
后端路由模块
| 路由文件 | 负责接口 | 数据表 |
|---|---|---|
routes/kj.js | /api/kj.json, /api/kj.xml | number |
routes/keno.js | /api/keno.json, /api/keno.xml | keno |
routes/yl.js | /api/yl.json, /api/yl.xml | omission |
routes/abc_omission.js | /api/abc_omission.json, /api/abc_omission.xml | abc_omission |
routes/yk.js | /api/yk.json, /api/yk.xml | statistics |
routes/prediction.js | /api/ds, /api/dx, /api/sz, /api/sha (.json/.xml) | prediction + number |
routes/dragon.js | /api/xh, /api/jt, /api/abb, /api/pl (.json/.xml) | dragon |
routes/preview.js | /api/preview.json | 多表聚合 |
routes/history.js | /api/history/{type}.csv, /api/history/status | number + keno + statistics |
快速开始
选择接口和格式
根据需求选择对应的接口路径,在 URL 末尾使用 .json 或 .xml 指定响应格式。
构造请求 URL
拼接基础地址 + 接口路径 + 查询参数。例如获取最近5期开奖:/api/kj.json?nbr=5
发送 GET 请求
所有接口均为 GET 方法,无需认证,直接在浏览器地址栏或程序中请求即可。
解析响应数据
JSON 格式可直接解析,XML 格式使用标准 XML 解析器处理。所有响应包含 message 字段标识状态。
调用示例
JavaScript / Node.js:
// 获取最近 3 期加拿大28开奖数据
const res = await fetch('/api/kj.json?nbr=3');
const json = await res.json();
console.log(json.countdown); // "02:35",距下一期开奖的剩余时间
console.log(json.data);
// [{ nbr: "4841926", date: "2026-02-18", time: "14:30:00", number: "15", num: "15", combination: "大单" }, ...]
Python:
import requests
# 替换为你的实际域名
BASE_URL = 'https://pc28.help'
resp = requests.get(f'{BASE_URL}/api/kj.json', params={'nbr': 3})
data = resp.json()
for item in data['data']:
print(f"期号:{item['nbr']} 号码:{item['number']} 组合:{item['combination']}")
cURL:
curl "/api/kj.json?nbr=3"
响应格式说明
JSON 格式
Content-Type: application/json; charset=utf-8
统一响应结构:
{
"data": [ ... ], // 数据数组或对象
"message": "success" // 状态: "success" 或 "error"
}
部分接口会在顶层增加额外字段(如 countdown、type),详见各接口说明。
XML 格式
Content-Type: application/xml; charset=utf-8
统一响应结构:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<data>
<item>
<field1>value1</field1>
<field2>value2</field2>
</item>
</data>
<message>success</message>
</response>
<item key="xx" value="yy"/> 属性格式,因为键名包含中文和数字开头字符,不适合作为 XML 标签名。错误处理
当业务处理发生异常时,绝大多数接口返回 HTTP 500 并把 message 字段置为 "error":
// JSON 错误响应
{ "data": [], "message": "error" }
// XML 错误响应
<response>
<data/>
<message>error</message>
</response>
完整状态码列表
| 状态码 | 触发条件 | 响应说明 |
|---|---|---|
200 | 正常返回 | message: "success" |
302 | 实时接口缺省 nbr 参数 | 自动重定向到默认 nbr(kj/keno = 1,预测 = 10) |
404 | 仅历史下载,type 不在 kj/keno/yk 内 | { "message": "unknown type, use: kj, keno, yk" } |
429 | 仅历史下载,同期重复下载或突发超限 | 含 Retry-After 头与中文说明 |
500 | 路由内部异常(DB 异常、序列化失败等) | message: "error" |
504 | 单个 /api/* 请求处理超过 30s | { "data": [], "message": "request timeout" } |
message 字段是否为 "success",不要仅依赖其中一项。开奖数据 /api/kj
查询最近 N 期的开奖结果,包含期号、日期、时间、开奖号码、数值和组合类型。
/api/kj.xml?nbr={n} 的 XML 版本。请求参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
nbr | integer | 可选 | 1 | 返回期数,范围 1-100。缺省时自动 302 重定向为 nbr=1;超出 100 自动截断到 100 |
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
countdown | string | 距下期开奖的剩余时间,格式 MM:SS(剩余 ≥ 1 小时时升级为 HH:MM:SS,维护期间为 00:00) |
data[].nbr | string | 期号 |
data[].date | string | 开奖日期 |
data[].time | string | 开奖时间 |
data[].number | string | 开奖号码(如 "15") |
data[].num | string | 特码数值(与 number 相同) |
data[].combination | string | 组合类型(如 "大单"、"小双") |
响应示例
{
"countdown": "02:35",
"data": [
{
"nbr": "4841926",
"date": "2026-02-18",
"time": "14:30:00",
"number": "15",
"num": "15",
"combination": "大单"
}
],
"message": "success"
}
<?xml version="1.0" encoding="UTF-8"?>
<response>
<countdown>02:35</countdown>
<data>
<number>
<nbr>4841926</nbr>
<date>2026-02-18</date>
<time>14:30:00</time>
<number>15</number>
<num>15</num>
<combination>大单</combination>
</number>
</data>
<message>success</message>
</response>
Keno源数据 /api/keno
查询 Keno 原始开奖数据,包含 20 个开奖号码和奖金信息,同时返回下期倒计时。
/api/keno.xml?nbr={n}。请求参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
nbr | integer | 可选 | 1 | 返回期数,范围 1-100。缺省时自动 302 重定向为 nbr=1 |
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
countdown | string | 距下期开奖的剩余时间,格式 MM:SS(剩余 ≥ 1 小时时升级为 HH:MM:SS,维护期间为 00:00) |
data[].nbr | string | 期号 |
data[].date | string | 开奖日期 |
data[].time | string | 开奖时间 |
data[].nbrs | string | 20 个 Keno 开奖号码,已按从小到大排序,逗号分隔(如 "01,05,12,...") |
data[].bonus | string | 奖金数据 |
draw_nbrs 不为空的已开奖期;尚未开奖的下一期不在 data 中,仅通过顶层 countdown 体现。响应示例
{
"countdown": "02:35",
"data": [
{
"nbr": "4841926",
"date": "2026-02-18",
"time": "14:30:00",
"nbrs": "01,05,12,18,22,25,30,33,38,40,42,45,48,52,55,60,63,68,72,78",
"bonus": "1000"
}
],
"message": "success"
}
<?xml version="1.0" encoding="UTF-8"?>
<response>
<countdown>02:35</countdown>
<data>
<keno>
<nbr>4841926</nbr>
<date>2026-02-18</date>
<time>14:30:00</time>
<nbrs>01,05,12,...</nbrs>
<bonus>1000</bonus>
</keno>
</data>
<message>success</message>
</response>
遗漏统计 /api/yl
返回所有号码和组合类型的遗漏期数,数据为固定行数的键值对,无需分页参数。
/api/yl.xml。无请求参数。响应字段
data 为键值对对象,键为号码或类型名,值为遗漏期数(整数)。按固定顺序排列:
- 00-27 integer - 各号码的遗漏期数
- 大/小/单/双 integer - 大小单双遗漏
- 龙/虎/合/中 integer - 龙虎合中遗漏
- 小边/大边 integer - 边类遗漏
- 小单/小双/大单/大双 integer - 组合遗漏
- 极小/极大/对子/顺子/豹子/杂六 integer - 特殊类型遗漏
响应示例
{
"data": {
"00": 234,
"01": 12,
"02": 56,
...
"大": 1,
"小": 0,
"单": 2,
"双": 0,
...
"豹子": 678,
"杂六": 0
},
"message": "success"
}
<?xml version="1.0" encoding="UTF-8"?>
<response>
<data>
<item key="00" value="234"/>
<item key="01" value="12"/>
<item key="02" value="56"/>
...
<item key="大" value="1"/>
<item key="豹子" value="678"/>
</data>
<message>success</message>
</response>
球类遗漏统计 /api/abc_omission
返回 A球、B球、C球各号码及组合类型的遗漏期数。加拿大28 由三个球(A/B/C,各取 0-9)相加得到特码,本接口追踪每个球号及其大小单双组合的遗漏情况。
/api/abc_omission.xml。无请求参数。响应字段
data 为键值对对象,键为球号或类型名(小写字母 a/b/c 表示三个球),值为遗漏期数(整数)。按 a→b→c 顺序排列,每个球内部顺序为:
- x0 - x9 integer - 各号码的遗漏期数(x 为 a/b/c)
- x大 / x小 integer - 大小遗漏(5-9 为大,0-4 为小)
- x单 / x双 integer - 单双遗漏
- x小单 / x小双 / x大单 / x大双 integer - 组合遗漏
响应示例
{
"data": {
"a0": 6,
"a1": 9,
"a2": 32,
...
"a大": 0,
"a小": 5,
"a单": 3,
"a双": 0,
"a小单": 8,
"a小双": 5,
"a大单": 3,
"a大双": 0,
"b0": 15,
...
"c大双": 5
},
"message": "success"
}
<?xml version="1.0" encoding="UTF-8"?>
<response>
<data>
<item key="a0" value="6"/>
<item key="a1" value="9"/>
<item key="a2" value="32"/>
...
<item key="a大" value="0"/>
<item key="c大双" value="5"/>
</data>
<message>success</message>
</response>
已开统计 /api/yk
返回今天各号码和组合类型的已开出次数,数据结构与遗漏统计一致。
/api/yk.xml。无请求参数。响应字段
结构与遗漏统计完全一致,data 为键值对对象,值为今日已开出次数。
响应示例
{
"data": {
"00": 3,
"01": 15,
...
"大": 120,
"小": 118,
...
"豹子": 1
},
"message": "success"
}
单双预测 /api/ds
获取单双维度的预测数据,包含预测内容和开奖后的命中结果。
/api/ds.xml?nbr={n}。请求参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
nbr | integer | 可选 | 10 | 返回期数,范围 1-100。缺省时自动 302 重定向为 nbr=10;nbr=1 时若存在尚未开奖期会返回"下一期未开奖预测" |
响应字段(四种预测接口通用)
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 预测类型中文名(如 "单双") |
data[].nbr | string | 期号 |
data[].predict | string | 预测内容(如 "单"、"双") |
data[].number | string|null | 开奖号码(未开奖时为 null) |
data[].num | string|null | 数值(未开奖时为 null) |
data[].result | string|null | 实际结果(未开奖时为 null) |
data[].hit | boolean|null | 是否命中:true=命中, false=未中, null=未开奖 |
响应示例
{
"type": "单双",
"data": [
{
"nbr": "4841927",
"predict": "单",
"number": null,
"num": null,
"result": null,
"hit": null
},
{
"nbr": "4841926",
"predict": "双",
"number": "15",
"num": "15",
"result": "单",
"hit": false
}
],
"message": "success"
}
- 单双预测:从 combination_type(如 "大单")取第二个字 → "单"
- 大小预测:从 combination_type(如 "大单")取第一个字 → "大"
- 双组/杀组预测:直接返回完整 combination_type → "大单"
大小预测 /api/dx
type 值为 "大小"。同时提供 /api/dx.xml?nbr={n}。双组预测 /api/sz
type 值为 "双组",result 为完整组合类型。同时提供 /api/sz.xml?nbr={n}。杀组预测 /api/sha
type 值为 "杀组",result 为完整组合类型。同时提供 /api/sha.xml?nbr={n}。循环长龙 /api/xh
查询循环长龙数据,返回所有监控项的当前状态,无需分页参数。
/api/xh.xml。无请求参数。响应字段(四种长龙接口通用)
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 长龙类型中文名(如 "循环") |
data[].content | string | 监控内容(如 "大小"、"单双") |
data[].status | string | 状态("进行中" 或 "已结束") |
data[].count | integer | 连续期数 |
data[].start | string | 起始期号 |
data[].current | string | 当前期号 |
data[].sequence | string | 连续序列(如 "大大大大") |
data[].expected | string | 预期下期结果 |
响应示例
{
"type": "循环",
"data": [
{
"content": "大小",
"status": "进行中",
"count": 5,
"start": "4841922",
"current": "4841926",
"sequence": "大大大大大",
"expected": "大"
},
{
"content": "单双",
"status": "已结束",
"count": 3,
"start": "4841920",
"current": "4841922",
"sequence": "单单单",
"expected": ""
}
],
"message": "success"
}
交替长龙 /api/jt
type 值为 "交替",响应结构与循环长龙一致。同时提供 /api/jt.xml。ABB循环 /api/abb
type 值为 "abb循环",响应结构与循环长龙一致。同时提供 /api/abb.xml。赔率循环 /api/pl
type 值为 "赔率循环",响应结构与循环长龙一致。同时提供 /api/pl.xml。历史数据下载 /api/history
批量导出历史开奖数据、Keno 源数据或今日已开统计,返回 UTF-8 BOM 编码的 CSV 文件。该接口不走进程缓存,直接对 PostgreSQL 进行索引扫描,因此受速率限制保护:每期开奖期间每个 IP 最多成功下载一次,频繁请求会被暂时封禁 10 分钟,详见下方"频率限制说明"。
路径参数
| 参数 | 可选值 | 说明 |
|---|---|---|
type | kj / keno / yk | kj=开奖数据, keno=Keno源数据, yk=今日已开统计 |
查询参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
nbr | integer | 可选 | 100 | 下载期数,范围 1-30000(仅 kj/keno 有效,yk 忽略此参数) |
CSV 字段说明
kj(开奖数据):
- draw_nbr - 期号
- draw_date - 开奖日期
- draw_time - 开奖时间
- draw_number - 开奖号码(如 "1,5,3")
- draw_num - 特码数值
- size_type - 大/小
- parity_type - 单/双
- combination_type - 组合类型(如 "大单")
keno(Keno源数据):
- draw_nbr - 期号
- draw_date - 开奖日期
- draw_time - 开奖时间
- draw_nbrs - 20个开奖号码,逗号分隔
- draw_bonus - 奖金
yk(今日已开统计):
- statistics_content - 统计类型名
- statistics_data - 今日出现次数
成功响应
Content-Type: text/csv; charset=utf-8,Cache-Control: no-store,Content-Disposition 带文件名(如 pc28_history_1000.csv / keno_history_500.csv / statistics_today.csv),直接触发浏览器下载;正文首字节为 UTF-8 BOM。
错误响应
| HTTP 状态 | 触发条件 | 响应体 |
|---|---|---|
429 | 同期重复下载或 60s 内成功下载过多 | { "message": "当前期已下载过..." } 或 { "message": "下载过于频繁..." },后者附 Retry-After 头 |
404 | 未知的 type 参数 | { "message": "unknown type, use: kj, keno, yk" } |
500 | SQL 执行 / CSV 序列化失败 | { "message": "error" } |
调用示例
# 下载最近 1000 期开奖数据
curl -OJ "https://pc28.help/api/history/kj.csv?nbr=1000"
# 下载最近 500 期 Keno 源数据
curl -OJ "https://pc28.help/api/history/keno.csv?nbr=500"
# 下载今日已开统计
curl -OJ "https://pc28.help/api/history/yk.csv"
下载状态查询 /api/history/status
查询当前 IP 的下载资格状态,用于前端在下载前判断是否可以发起请求。
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
canDownload | boolean | 当前是否可以下载 |
reason | string | 不可下载时的原因:"rate_limited" 或 "same_period" |
retryAfter | integer | 被封禁时的剩余等待秒数(0 表示非封禁状态) |
latestNbr | integer | 当前最新已开奖期号 |
响应示例
// 可以下载
{ "canDownload": true, "reason": "", "retryAfter": 0, "latestNbr": 4841926 }
// 当期已下载
{ "canDownload": false, "reason": "same_period", "retryAfter": 0, "latestNbr": 4841926 }
// 被限制
{ "canDownload": false, "reason": "rate_limited", "retryAfter": 540, "latestNbr": 4841926 }
预览聚合接口 /api/preview.json
首页数据聚合接口,一次请求返回4个板块的预览摘要。仅提供 JSON 格式。
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
drawNbr | integer | 当前已开奖的最新期号(缓存读取,与 /api/kj 最新一期一致) |
countdown | string | 距下期开奖的剩余时间,与 /api/keno 顶层 countdown 一致 |
omission | object | 遗漏预览(固定 00 / 27 / 豹子 三项,值为遗漏期数) |
winRate | object | 各预测类型近 100 期内已落库样本的胜率百分比(0-100 的整数) |
predictionNext | object | 各类型下一期预测;若无未开奖记录则回落到该类型最新一期 |
dragon | object | 各类型 进行中 长龙列表,已结束长龙不会出现;某类型无进行中长龙时 key 不存在 |
响应示例
{
"drawNbr": 4841926,
"countdown": "02:35",
"omission": { "00": 234, "27": 45, "豹子": 678 },
"winRate": { "单双": 72, "大小": 68, "双组": 55, "杀组": 80 },
"predictionNext": {
"单双": { "nbr": "4841927", "predict": "单" },
"大小": { "nbr": "4841927", "predict": "大" },
"双组": { "nbr": "4841927", "predict": "大单" },
"杀组": { "nbr": "4841927", "predict": "小双" }
},
"dragon": {
"循环": [
{ "content": "大小", "count": 5, "expected": "大" }
]
},
"message": "success"
}
drawNbr: 0、omission: {})。频率限制说明
历史数据下载接口(/api/history/*.csv)受以下速率规则保护,实时数据接口不受此限制。
限制规则
| 规则 | 限制 | 说明 |
|---|---|---|
| 同期限制 | 每期最多 1 次 | 同一 IP 在同一最新期号下只能成功下载一次,新一期开奖(latestNbr 递增)后自动恢复;命中返回 HTTP 429,reason=same_period,不计入突发计数 |
| 突发限制 | 60s 滑动窗口内最多 3 次成功下载 | 同一 IP 在 60 秒内的第 4 次"过同期检查的成功下载"会触发拉黑 |
| 封禁时长 | 10 分钟 | 触发突发限制后封禁 10 分钟;封禁期间任何下载请求返回 HTTP 429,reason=rate_limited |
响应头与状态码
被限制时响应体为 { "message": "..." },封禁场景同时包含 Retry-After 头(值为剩余封禁秒数)。同期重复下载时不返回 Retry-After。
| 状态码 | 含义 |
|---|---|
200 | 下载成功,返回 CSV 文件 |
429 | 请求过于频繁或同期重复下载,由 /api/history/status 的 reason 字段进一步区分 |
/api/history/status 检查当前下载资格,避免触发 429 错误。对于程序化采集场景,建议按 /api/keno 顶层 countdown 归零或最新期号变化驱动下载,而非固定间隔轮询。
数据字典
号码范围
| 分类 | 范围 | 说明 |
|---|---|---|
| 号码 | 00 - 27 | 共28个号码 |
组合类型
| 维度 | 可选值 | 说明 |
|---|---|---|
| 大小 | 大 / 小 | 基础维度 |
| 单双 | 单 / 双 | 基础维度 |
| 龙虎 | 龙 / 虎 / 合 / 中 | 扩展维度 |
| 边 | 小边 / 大边 | 边类维度 |
| 组合 | 小单 / 小双 / 大单 / 大双 | 大小+单双组合 |
| 特殊 | 极小 / 极大 / 对子 / 顺子 / 豹子 / 杂六 | 特殊类型 |
长龙类型
| URL路径 | 数据库类型 | 说明 |
|---|---|---|
| /api/xh | 循环 | 同一结果连续出现 |
| /api/jt | 交替 | 两种结果交替出现 |
| /api/abb | abb循环 | ABB模式循环 |
| /api/pl | 赔率循环 | 赔率模式循环 |
预测类型
| URL路径 | 数据库类型 | 预测值 |
|---|---|---|
| /api/ds | 单双 | 单 / 双 |
| /api/dx | 大小 | 大 / 小 |
| /api/sz | 双组 | 小单 / 小双 / 大单 / 大双 |
| /api/sha | 杀组 | 小单 / 小双 / 大单 / 大双 |
长龙状态
| 状态值 | 说明 |
|---|---|
| 进行中 | 长龙仍在持续 |
| 已结束 | 长龙已断 |
接口全览表
| 接口 | 参数 | 格式 | 说明 |
|---|---|---|---|
| /api/kj | nbr (1-100, 默认1) | JSON / XML | 开奖数据 |
| /api/keno | nbr (1-100, 默认1) | JSON / XML | Keno源数据+倒计时 |
| /api/yl | 无 | JSON / XML | 遗漏统计 |
| /api/abc_omission | 无 | JSON / XML | 球类遗漏统计(A球/B球/C球) |
| /api/yk | 无 | JSON / XML | 已开统计(今天) |
| /api/ds | nbr (1-100, 默认10) | JSON / XML | 单双预测 |
| /api/dx | nbr (1-100, 默认10) | JSON / XML | 大小预测 |
| /api/sz | nbr (1-100, 默认10) | JSON / XML | 双组预测 |
| /api/sha | nbr (1-100, 默认10) | JSON / XML | 杀组预测 |
| /api/xh | 无 | JSON / XML | 循环长龙 |
| /api/jt | 无 | JSON / XML | 交替长龙 |
| /api/abb | 无 | JSON / XML | ABB循环长龙 |
| /api/pl | 无 | JSON / XML | 赔率循环长龙 |
| /api/preview.json | 无 | 仅JSON | 首页预览聚合 |
| /api/history/kj.csv | nbr (1-30000, 默认100) | CSV | 开奖历史下载 |
| /api/history/keno.csv | nbr (1-30000, 默认100) | CSV | Keno源数据下载 |
| /api/history/yk.csv | 无 | CSV | 今日已开统计下载 |
| /api/history/status | 无 | 仅JSON | 下载资格状态查询 |