quiz

正常 NEW

知识题库查询服务,内置 80,908 道四选一题,覆盖中文成语释义、歇后语、唐诗/宋词填空与 19 类英文通用知识。支持分类/语言/难度筛选、分页列表、关键词搜索、随机出题、答题校验、批量查询。无第三方框架依赖,PDO 直连 MySQL。

协议:HTTP 格式:JSON 版本:v1.0.0日调用量:1268次
¥ 0.002 / 次
按次计费

健康检查

健康检查

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET http://www.shujuyu.cn/v1/api/quiz/ping JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.version string -
data.time string -
data.types array -
data.difficulties array -
data.langs array -
data.page_size_max int -
data.random_max int -
data.batch_max int -

请求示例

返回示例

{"msg":"pong","code":0,"data":{"time":"2026-10-31 19:55:32","langs":["zh","en"],"types":["单选题","多选题","判断题"],"version":"1.0","batch_max":20,"random_max":20,"difficulties":["easy","medium","hard"],"page_size_max":20}}

数据统计

数据统计

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET http://www.shujuyu.cn/v1/api/quiz/stats JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.total int -
data.categories int -
data.updated_at string -
data.by_lang object -
data.by_type object -

请求示例

返回示例

{"msg":"success","code":0,"data":{"total":80908,"by_lang":{"en":35357,"zh":45551},"by_type":{"单选题":80908},"categories":23,"updated_at":"2026-11-01"}}

分类列表

返回全部分类及题量(按固定顺序),客户端使用 slug 定位分类。

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET http://www.shujuyu.cn/v1/api/quiz/categories JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.total int -
data.list array -

请求示例

返回示例

{"msg":"success","code":0,"data":{"list":[{"lang":"zh","name":"成语释义","slug":"chengyu","total":26926,"name_en":"","description":"根据成语选择正确释义"}],"total":23}}

字段列表

返回可返回字段及中文标签、是否属于 brief 模式。

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET http://www.shujuyu.cn/v1/api/quiz/fields JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.list array -

请求示例

返回示例

{"msg":"success","code":0,"data":{"list":[{"brief":true,"field":"id","label":"ID"},{"brief":true,"field":"category","label":"分类标识"},{"brief":true,"field":"category_name","label":"分类名称"},{"brief":true,"field":"type","label":"题型"},{"brief":true,"field":"question","label":"题目内容"},{"brief":false,"field":"options","label":"选项"},{"brief":false,"field":"answer","label":"答案","requires":"with_answer"},{"brief":false,"field":"analysis","label":"解析","requires":"with_answer"},{"brief":false,"field":"difficulty","label":"难度"},{"brief":false,"field":"lang","label":"语言"}]}}

分页列表

分页列表

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET http://www.shujuyu.cn/v1/api/quiz/list JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取
page int 否 页码
page_size int 否 每页条数,最大 20
category string 否 分类标识
type string 否 题型
difficulty string 否 难度
lang string 否 语言
brief bool 否 简洁模式
with_answer bool 否 是否返回答案与解析
fields string 否 返回字段
after_id int 否 游标分页:只返回 id > after_id 的记录;传此参数时忽略 page

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.page int -
data.page_size int -
data.total int -
data.pages int -
data.next_after_id int -
data.list array -

请求示例

返回示例

{"msg":"success","code":0,"data":{"list":[{"id":35358,"lang":"zh","type":"单选题","options":{"A":"指相互勾结,相互偏袒,结党营私。","B":"辄即;咎过失,罪责。动不动就受到指摘或责难。","C":"眼睛象蜂,声音象豺。形容坏人的面貌声音。","D":"替老虎加上翅膀。比喻帮助坏人,增加恶人的势力。"},"category":"chengyu","question":"成语「阿党比周」的正确释义是?","difficulty":"medium","category_name":"成语释义"}],"page":1,"pages":13454,"total":26926,"page_size":2,"next_after_id":35359}}

题目详情

题目详情

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET http://www.shujuyu.cn/v1/api/quiz/detail JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取
id int 是 题目 ID
brief bool 否 简洁模式
with_answer bool 否 是否返回答案与解析,默认 false
fields string 否 返回字段

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.id int -
data.category string -
data.category_name string -
data.type string -
data.question string -
data.options object -
data.difficulty string -
data.lang string -

请求示例

返回示例

{"msg":"success","code":0,"data":{"id":1,"lang":"en","type":"单选题","options":{"A":"Snake","B":"Frog","C":"Sloth","D":"Mouse"},"category":"animals","question":"Three of these animals hibernate. Which one does not?","difficulty":"medium","category_name":"动物世界"}}

关键词搜索

英文关键词走 LIKE 子串匹配,避免 ngram 把 Einstein 误匹配到 Frankenstein。

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET http://www.shujuyu.cn/v1/api/quiz/search JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取
keyword string 是 关键词,最大 128 字符
limit int 否 返回条数,默认 20,最大 20
offset int 否 偏移量,默认 0
category/lang/type/difficulty - 否 过滤条件
brief/fields - 否 字段控制
with_answer bool 否 是否返回答案与解析,默认 false

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.mode string -
data.total int -
data.limit int -
data.offset int -
data.list array -

请求示例

返回示例

{"msg":"success","code":0,"data":{"list":[{"id":2428,"question":"Professor Sir Alec John Jeffreys, who was awarded the Albert Einstein World Award of Science in 1996..."}],"mode":"like","limit":3,"total":22,"offset":0}}

随机出题

实现方式为 ID 区间抽样,避免 ORDER BY RAND() 全表扫描;命中不足时自动回退随机排序。

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET http://www.shujuyu.cn/v1/api/quiz/random JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取
count int 否 题量,最大 20
category/lang/type/difficulty - 否 过滤条件
with_answer bool 否 是否返回答案与解析;默认只返回题干和选项。兼容旧参数 answer

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.count int -
data.list array -

请求示例

返回示例

{"msg":"success","code":0,"data":{"list":[{"id":3118,"lang":"en","type":"单选题","options":{"A":"Palm Sunday","B":"Clean Monday","C":"Good Friday","D":"Lazarus Saturday"},"category":"general","question":"What day marks the start of Easter fasting in Eastern Christianity?","difficulty":"medium","category_name":"通用常识"}],"count":3}}

答题校验

答题校验

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST http://www.shujuyu.cn/v1/api/quiz/check JSON

请求参数

参数名类型必填说明
key string 是 您的API密钥,可在个人中心获取
id int 是 题目 ID
answer string 是 选项字母(多选用 AB 形式,顺序无关)或选项原文
reveal bool 否 是否返回正确答案与解析,默认 false

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.id int -
data.correct bool -
data.your_answer string -

请求示例

返回示例

{"msg":"success","code":0,"data":{"id":100,"correct":true,"your_answer":"A"}}

批量查询

批量查询

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST http://www.shujuyu.cn/v1/api/quiz/batch JSON

请求参数

参数名类型必填说明
items array 是 题目 ID 数组,最多 20 个
key string 否 仅支持 id
brief/fields - 否 字段控制
with_answer bool 否 是否返回答案与解析,默认 false

返回参数说明

参数名类型说明
code int -
msg string -
data object -
data.requested int -
data.found int -
data.not_found int -
data.list array -

请求示例

返回示例

{"msg":"success","code":0,"data":{"list":[{"id":1,"options":{"A":"..."},"question":"..."},{"id":2,"options":{"A":"..."},"question":"..."},{"id":999999,"error":"not_found"}],"found":2,"not_found":1,"requested":3}}

数据导入

仅限配置了 QUIZ_ADMIN_KEY 且请求携带正确管理密钥时可用;未配置时返回 4031,密钥错误返回 4032。

调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST http://www.shujuyu.cn/v1/api/quiz/import JSON

请求参数

参数名类型必填说明
key string 是 管理密钥 (也可用 X-Admin-Key 请求头)
questions array 是 题目对象数组, 最多 20 条
dry_run bool 否 仅校验不写入, 默认 false

返回参数说明

参数名类型说明
received int 接收到的题目条数
valid int 校验通过的条数
inserted int 实际写入条数 (dry_run=true 时恒为 0)
duplicated int 重复跳过的条数
invalid int 校验失败的条数
errors array 校验错误列表 (最多 20 条)

请求示例

返回示例

{"msg":"success","code":0,"data":{"valid":1,"errors":[],"invalid":0,"inserted":0,"received":1,"duplicated":0}}

产品说明

产品概述

知识题库查询服务,内置 80,908 道四选一题,覆盖中文成语释义、歇后语、唐诗/宋词填空与 19 类英文通用知识。支持分类/语言/难度筛选、分页列表、关键词搜索、随机出题、答题校验、批量查询。无第三方框架依赖,PDO 直连 MySQL。

使用场景

数据查询:快速集成 quiz 到您的应用中
业务系统:将 quiz 数据嵌入业务流程
开发工具:通过 API 接口获取 教育学习 数据
数据分析:基于 quiz 数据进行分析和决策

费用计算

按次计费单价
¥0.002 / 次
每次调用接口从账户余额中扣除相应费用,VIP 用户可享折扣

扣费优先级

免费额度
次数包
余额扣费

计费方式详解

1 免费额度
· 接口每日免费额度已关闭
· VIP 用户月度免费额度:
· 个人版:每月 5000 次,本接口月上限 5000 次
· 专业版:每月 30000 次,本接口月上限 30000 次
· 企业版:每月 200000 次,本接口月上限 200000 次
· 账户如有注册/活动赠送的免费次数,会优先于接口免费额度扣减
· VIP 月度免费额度仅适用于单次售价不高于 ¥0.0800/次 的接口;接口每日免费额度按接口配置执行
VIP 月度免费额度每月重置,未使用部分不累计至下月。
2 次数包
预付费购买固定调用次数,折算单价与按次付费相同,用完为止。
次数包为独立计费,不与 VIP 折扣叠加。
请在有效期内使用,过期后未使用的次数不可再用。
3 余额扣费
按次从账户余额扣除费用;所有用户可享量折扣,VIP 用户额外享 VIP 折扣。
扣费公式:实际扣费 = 接口单价 × (1 - VIP 折扣比例 - 量折扣比例),并受总折扣上限和最低利润率保护约束
VIP 折扣: 个人版9折 专业版8折 企业版7折
量折扣: 月付费调用 ≥1000 次享 2%、 月付费调用 ≥10000 次享 5%、 月付费调用 ≥20000 次享 10%
· 量折扣按账号当月全部接口的付费调用次数统计,达到更高档位时按更高档位计算
总折扣上限:VIP 折扣 + 量折扣合计不超过 50%
最低利润率保护:折后价不得低于成本价 × (1 + 15%);若接口售价本身低于该保护价,则取消折扣并按售价计费
余额不足时调用将失败,请及时充值。

VIP 权益对比

等级每月免费次数本接口月免费上限折扣VIP 折后单价
免费版 按接口配置 — - ¥0.002/次
个人版 5000 次 5000 次 10% ¥0.0018/次
专业版 30000 次 30000 次 20% ¥0.0016/次
* VIP 月度免费额度每月重置。每月免费次数为账号级 VIP 月额度,本接口月免费上限为其中对本接口的限制(接口可单独设置上限或关闭)。VIP 折扣仅适用于余额扣费方式,VIP 折后单价不含量折扣。 本接口已关闭接口级月度免费额度(不影响 VIP 月度免费额度)。接口每日免费额度已关闭。

费用计算示例

* 以下示例未包含量折扣,量折扣按账号当月全部接口的付费调用量另行计算。
示例1:普通用户按次付费
调用 1000 次,费用 = 0.002 × 1000 = ¥2.00
示例2:个人版用户按次付费(仅 VIP 折扣,已考虑最低利润率保护)
调用 1000 次,折扣约 10%,费用 = 0.002 × (1 - 10%) × 1000 ≈ ¥1.80

错误码说明

本接口未定义专属错误码,调用时请参考通用错误码体系。

查看通用错误码参考
错误码说明解决方案
200请求成功-
400000请求参数错误检查参数名、格式与取值
401000认证失败检查 Authorization: Bearer 密钥是否正确、是否过期
401002缺少 API 认证参数请求未携带 key,请通过 URL 参数 key 或请求头 Authorization 传递密钥
402000账户余额不足充值后重试
403000无访问权限确认密钥权限、接口范围与 IP 白名单是否满足要求
404001接口或端点不存在检查 API 与端点的请求路径
409000请求冲突请稍后重试
422000参数校验失败检查参数格式与取值
429001请求频率超限(QPS)降低请求频率,或升级套餐提升额度
429002分钟级调用频率超限降低调用频率,或升级套餐提升额度
429003小时级调用额度已用完升级套餐提升额度,或整点后重试
429004今日调用额度已用完升级套餐提升额度,或次日重试
500000服务器内部错误携带响应中的 request_id 联系技术支持
502000服务暂时不可用稍后重试
503000服务暂时不可用稍后重试
504000请求超时稍后重试

更新日志

暂无更新日志