知识题库
正常 NEW知识题库查询服务,覆盖中文成语、歇后语、唐诗宋词填空与英文通用知识;支持分类筛选、分页列表、关键词搜索、随机出题、答题校验与批量查询。
知识题库查询服务,覆盖中文成语、歇后语、唐诗宋词填空与英文通用知识;支持分类筛选、分页列表、关键词搜索、随机出题、答题校验与批量查询。
服务健康检查
服务存活探测,无需参数。返回接口版本、服务器时间、支持的题型/难度/语言,以及分页、随机出题、批量查询的单次上限。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.version | string | 接口版本 |
| data.time | string | 服务器当前时间 |
| data.types | array | 支持的题型列表 |
| data.types[] | string | 题型名称 |
| data.difficulties | array | 支持的难度列表 |
| data.difficulties[] | string | 难度标识 |
| data.langs | array | 支持的语言列表 |
| data.langs[] | string | 语言标识 |
| data.page_size_max | integer | 分页单页最大条数 |
| data.random_max | integer | 随机出题单次最大条数 |
| data.batch_max | integer | 批量查询单次最大条数 |
{"msg":"pong","code":200,"data":{"time":"2026-11-01 12:00:00","langs":["zh","en"],"types":["单选题","多选题","判断题"],"version":"1.0","batch_max":20,"random_max":20,"difficulties":["easy","medium","hard"],"page_size_max":20}}
题目分类列表
返回全部题目分类及每个分类的题量。使用 slug 作为 list、search、random 的 category 参数。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.total | integer | 分类数量 |
| data.list | array | 分类列表 |
| data.list[] | object | 单个分类 |
| data.list[].slug | string | 分类标识 |
| data.list[].name | string | 分类名称 |
| data.list[].name_en | string | 英文名称 |
| data.list[].lang | string | 语言 |
| data.list[].description | string | 分类说明 |
| data.list[].total | integer | 该分类题量 |
{"msg":"success","code":200,"data":{"list":[{"lang":"zh","name":"成语释义","slug":"chengyu","total":26926,"name_en":"","description":"根据成语选择正确释义"}],"total":23}}
可查询与返回字段
返回题目支持返回的字段、中文标签、是否属于 brief 模式,以及答案/解析字段是否需要 with_answer 参数。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.total | integer | 字段数量 |
| data.list | array | 字段列表 |
| data.list[] | object | 单个字段 |
| data.list[].field | string | 字段名 |
| data.list[].label | string | 中文标签 |
| data.list[].brief | boolean | 是否属于 brief 模式 |
| data.list[].requires | string | 额外条件,仅 answer/analysis 返回 |
{"msg":"success","code":200,"data":{"list":[{"brief":true,"field":"id","label":"ID"},{"brief":true,"field":"question","label":"题目内容"},{"brief":false,"field":"answer","label":"答案","requires":"with_answer"},{"brief":false,"field":"analysis","label":"解析","requires":"with_answer"}],"total":10}}
分页获取题目列表
按分类、题型、难度、语言筛选并分页返回题目。默认不返回答案和解析,需要时传 with_answer=1;深分页可使用 after_id 游标。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| category | string | 否 | 分类标识,传错视为不过滤 |
| type | string | 否 | 题型:单选题/多选题/判断题;非白名单值视为不过滤 |
| difficulty | string | 否 | 难度:easy/medium/hard |
| lang | string | 否 | 语言:zh/en |
| page | integer | 否 | 页码,默认 1;传 after_id 时忽略 |
| page_size | integer | 否 | 每页条数,默认 20,最大 20 |
| after_id | integer | 否 | 游标分页,只返回 id 大于该值的记录 |
| brief | boolean | 否 | 简洁模式,只返回 id/category/category_name/type/question |
| with_answer | boolean | 否 | 是否返回 answer/analysis,默认 false |
| fields | string | 否 | 指定返回字段,逗号分隔,如 id,question,options |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.page | integer | 当前页码 |
| data.page_size | integer | 每页条数 |
| data.total | integer | 过滤后的总条数 |
| data.pages | integer | 总页数 |
| data.next_after_id | integer | 下一页游标 |
| data.list | array | 题目列表 |
| data.list[] | object | 单道题目 |
| data.list[].id | integer | 题目 ID |
| data.list[].category | string | 分类标识 |
| data.list[].category_name | string | 分类名称 |
| data.list[].type | string | 题型 |
| data.list[].question | string | 题干 |
| data.list[].options | object | 选项对象,键为 A-D |
| data.list[].difficulty | string | 难度 |
| data.list[].lang | string | 语言 |
| data.list[].answer | string | 正确答案,仅 with_answer=1 返回 |
| data.list[].analysis | string | 解析,仅 with_answer=1 返回 |
{"msg":"success","code":200,"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}}
按 ID 获取题目详情
按题目 ID 返回题干与选项。默认不返回答案和解析,需要时传 with_answer=1。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| id | integer | 是 | 题目 ID |
| brief | boolean | 否 | 简洁模式 |
| with_answer | boolean | 否 | 是否返回答案与解析 |
| fields | string | 否 | 指定返回字段,逗号分隔 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.id | integer | 题目 ID |
| data.category | string | 分类标识 |
| data.category_name | string | 分类名称 |
| data.type | string | 题型 |
| data.question | string | 题干 |
| data.options | object | 选项对象 |
| data.difficulty | string | 难度 |
| data.lang | string | 语言 |
| data.answer | string | 正确答案,仅 with_answer=1 返回 |
| data.analysis | string | 解析,仅 with_answer=1 返回 |
{"msg":"success","code":200,"data":{"id":35358,"lang":"zh","type":"单选题","options":{"A":"指相互勾结,相互偏袒,结党营私。","B":"辄即;咎过失,罪责。动不动就受到指摘或责难。","C":"眼睛象蜂,声音象豺。形容坏人的面貌声音。","D":"替老虎加上翅膀。比喻帮助坏人,增加恶人的势力。"},"category":"chengyu","question":"成语「阿党比周」的正确释义是?","difficulty":"medium","category_name":"成语释义"}}
按关键词搜索题目
按题干关键词搜索,支持分类、语言、题型、难度过滤。中文走全文索引,英文走子串匹配;默认不返回答案。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| keyword | string | 是 | 关键词,最大 128 字符 |
| limit | integer | 否 | 返回条数,默认 20,最大 20 |
| offset | integer | 否 | 偏移量,默认 0 |
| category | string | 否 | 分类标识 |
| type | string | 否 | 题型 |
| difficulty | string | 否 | 难度 |
| lang | string | 否 | 语言 |
| brief | boolean | 否 | 简洁模式 |
| with_answer | boolean | 否 | 是否返回答案与解析 |
| fields | string | 否 | 指定返回字段 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.mode | string | 搜索模式:fulltext/like |
| data.total | integer | 命中总数 |
| data.limit | integer | 返回条数 |
| data.offset | integer | 偏移量 |
| data.list | array | 题目列表 |
| data.list[] | object | 单道题目 |
| data.list[].id | integer | 题目 ID |
| data.list[].question | string | 题干 |
| data.list[].options | object | 选项对象 |
| data.list[].answer | string | 答案,仅 with_answer=1 返回 |
{"msg":"success","code":200,"data":{"list":[{"id":35358,"lang":"zh","type":"单选题","options":{"A":"指相互勾结,相互偏袒,结党营私。","B":"辄即;咎过失,罪责。动不动就受到指摘或责难。","C":"眼睛象蜂,声音象豺。形容坏人的面貌声音。","D":"替老虎加上翅膀。比喻帮助坏人,增加恶人的势力。"},"category":"chengyu","question":"成语「阿党比周」的正确释义是?","difficulty":"medium","category_name":"成语释义"}],"mode":"fulltext","limit":20,"total":26926,"offset":0}}
随机抽取题目
按分类、语言、难度随机抽题。默认只返回题干和选项,with_answer=1 时返回答案与解析。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| count | integer | 否 | 题量,默认 10,最大 20 |
| category | string | 否 | 分类标识 |
| type | string | 否 | 题型 |
| difficulty | string | 否 | 难度 |
| lang | string | 否 | 语言 |
| with_answer | boolean | 否 | 是否返回答案与解析 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.count | integer | 实际返回题量 |
| data.list | array | 题目列表 |
| data.list[] | object | 单道题目 |
| data.list[].id | integer | 题目 ID |
| data.list[].question | string | 题干 |
| data.list[].options | object | 选项对象 |
| data.list[].answer | string | 答案,仅 with_answer=1 返回 |
{"msg":"success","code":200,"data":{"list":[{"id":35358,"lang":"zh","type":"单选题","options":{"A":"指相互勾结,相互偏袒,结党营私。","B":"辄即;咎过失,罪责。动不动就受到指摘或责难。","C":"眼睛象蜂,声音象豺。形容坏人的面貌声音。","D":"替老虎加上翅膀。比喻帮助坏人,增加恶人的势力。"},"category":"chengyu","question":"成语「阿党比周」的正确释义是?","difficulty":"medium","category_name":"成语释义"}],"count":2}}
提交答案判分
提交题目 ID 和答案进行判分。answer 支持选项字母(多选如 AB,顺序无关)或选项原文。默认只返回对错;传 reveal=1 才返回正确答案、选项文本和解析。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| id | integer | 是 | 题目 ID |
| answer | string | 是 | 选项字母(多选如 AB)或选项原文 |
| reveal | boolean | 否 | 是否返回正确答案与解析 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.id | integer | 题目 ID |
| data.correct | boolean | 是否答对 |
| data.your_answer | string | 提交的答案 |
| data.correct_answer | string | 正确答案,仅 reveal=true 返回 |
| data.correct_option | string | 正确选项文本,仅 reveal=true 返回 |
| data.analysis | string | 解析,仅 reveal=true 返回 |
{"msg":"success","code":200,"data":{"id":100,"correct":true,"your_answer":"A"}}
按 ID 批量获取题目
按题目 ID 批量查询,单次最多 20 个。默认不返回答案;缺失的 ID 会在列表中显示 not_found。
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| items | array | 是 | 题目 ID 数组,最多 20 个 |
| key | string | 否 | 查询键,仅支持 id |
| brief | boolean | 否 | 简洁模式 |
| with_answer | boolean | 否 | 是否返回答案与解析 |
| fields | string | 否 | 指定返回字段 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示成功 |
| msg | string | 返回消息 |
| data | object | 业务数据 |
| data.requested | integer | 请求条数 |
| data.found | integer | 找到的条数 |
| data.not_found | integer | 未找到的条数 |
| data.list | array | 结果列表 |
| data.list[] | object | 单条结果 |
| data.list[].id | integer | 题目 ID |
| data.list[].question | string | 题干 |
| data.list[].options | object | 选项对象 |
| data.list[].error | string | 未找到时的错误标识 |
{"msg":"success","code":200,"data":{"list":[{"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":"动物世界"},{"id":2,"lang":"en","type":"单选题","options":{"A":"Opossum","B":"Fox","C":"Mouse","D":"Snail"},"category":"animals","question":"All of these animals are omnivorous except one.","difficulty":"medium","category_name":"动物世界"},{"id":999999,"error":"not_found"}],"found":2,"not_found":1,"requested":3}}
知识题库查询服务,覆盖中文成语、歇后语、唐诗宋词填空与英文通用知识;支持分类筛选、分页列表、关键词搜索、随机出题、答题校验与批量查询。
| 等级 | 每月免费次数 | 本接口月免费上限 | 折扣 | VIP 折后单价 |
|---|---|---|---|---|
| 免费版 | 按接口配置 | — | - | ¥0.002/次 |
| 个人版 | 5000 次 | 5000 次 | 10% | ¥0.0018/次 |
| 专业版 | 30000 次 | 30000 次 | 20% | ¥0.0016/次 |
| 企业版推荐 | 200000 次 | 200000 次 | 30% | ¥0.0014/次 |
本接口未定义专属错误码,调用时请参考通用错误码体系。
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 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 | 请求超时 | 稍后重试 |