说明:本文基于公开文档与文章整理,未对每个接口发送真实请求做实测,接口可用性以公开文档为准,集成前请自行验证。易源(ShowAPI)接口因需自备 appKey,本文未做真实数据实测,仅按官方 OpenAPI 文档整理接入写法,特此说明。

想给教育类 App、公众号、小程序或聊天机器人加一个"绕口令/谜语"素材源?绕口令能练口齿、提语感,谜语适合做互动游戏和思维训练,两者都是内容类产品里很常用的轻量素材。

市面上能查到的同类接口不少,但网上流传的写法五花八门:有的要注册领 key、有的完全免费无需认证、有的返回格式还不一样。本文把网上能找到的绕口令与谜语查询类接口按公开文档整理成一份可对照的清单,包含请求地址、参数、返回示例和注意事项,方便你按自己的成本与精度需求挑选。

一个通用提醒:部分免费接口可能已停止服务或返回占位数据,集成前请自行发一次请求验证连通性和数据质量;本文基于公开文档整理,未做真实请求实测。

1. 接口总览

接口请求地址说明HTTPS编码需要 Key来源类型
APISpace 绕口令https://eolink.o.apispace.com/rkl/common/tongue/getTongueList绕口令列表/随机UTF-8是(X-APISpace-Token)平台接口
极速数据 绕口令https://api.jisuapi.com/rkl/search按关键词查绕口令UTF-8是(appkey)平台接口
极速数据 谜语https://api.jisuapi.com/miyu/search按关键词/分类查谜语UTF-8是(appkey)平台接口
天聚数行 绕口令https://apis.tianapi.com/rkl/index随机返回指定数量绕口令UTF-8 JSON是(key)平台接口
52vmy 绕口令https://api.52vmy.cn/api/wl/rao随机一条绕口令JSON个人/聚合接口
极数本源 谜语(v1)https://v1.apizero.cn/api/riddle随机/列表/类型三种模式JSON是(X-API-Key)平台接口
极数本源 谜语(v2)https://api.apizero.cn/v1/riddle按类别/数量/语言查询JSON是(Bearer Token)平台接口
小兔 谜语https://api.xiaotuo.net/api.php?act=Api_send&id=101全类型谜语+分页JSON是(apikey)个人/聚合接口
易源 绕口令与谜语https://route.showapi.com/1623-1(绕口令)、/1623-2(谜语)绕口令+谜语双接入点UTF-8 JSON是(appKey)商业平台(免费档)

2. APISpace 绕口令 API

APISpace 是聚合型 API 平台,其绕口令接口提供"列表查询"和"随机获取"两种模式,绕口令库约 568 条,涵盖热门、经典等类型。

获取绕口令列表

  • 请求方法:POST

  • 请求地址:https://eolink.o.apispace.com/rkl/common/tongue/getTongueList

  • 请求头:
    • X-APISpace-Token:你的 Token

    • Authorization-Type: apikey

    • Content-Type: application/x-www-form-urlencoded

  • 请求参数:page(页码,必填)、pageSize(获取条数,最大 20,必填)

返回示例(文档中的写法):


{
    "statusCode": "000000",
    "desc": "请求成功",
    "result": {
        "itemCount": 568,
        "list": [{
            "content": "胡子骑驴子,驼子挑螺蛳……",
            "title": "胡子骑驴子"
        }],
        "pageNow": 1,
        "pageSize": 1
    }
}

随机获取绕口令

  • 请求地址:https://eolink.o.apispace.com/rkl/common/tongue/getTongueListByRandom

  • 请求方法:POST

  • 请求参数:pageSize(获取条数,最多 15,必填)

  • 返回结构与上例一致,result 直接为数组。

注意事项:需要先在 APISpace 注册领取 Token,按文档放入请求头。

3. 极速数据(绕口令 + 谜语)

极速数据的两个接口共用 appkey 认证体系,注册后免费会员默认 100 次/天调用量。

绕口令查询

  • 请求地址:https://api.jisuapi.com/rkl/search

  • 请求方法:GET / POST

  • 请求参数:appkey(必填)、keyword(必填,关键词)、pagenum(必填,当前页)、pagesize(必填,每页数据,最大为 2)

  • 返回格式:JSON

返回示例:


{
    "status": 0,
    "msg": "ok",
    "result": {
        "total": "9",
        "pagenum": "1",
        "pagesize": "1",
        "list": [
            {
                "title": "白菜和海带",
                "content": "买白菜,搭海带,不买海带就别买大白菜。买卖改,不搭卖,不买海带也能买到大白菜。"
            }
        ]
    }
}

谜语查询

  • 请求地址:https://api.jisuapi.com/miyu/search

  • 请求方法:GET / POST

  • 请求参数:appkey(必填)、keyword(否,关键词)、pagenum(否,当前页)、pagesize(否,每页数据,最大为 2)、classid(否,分类 ID)

  • 返回格式:JSON,覆盖字谜、动物、灯谜、物品、儿童、植物、趣味、数字、搞笑、经典、成语等类型

返回示例:


{
    "status": 0,
    "msg": "ok",
    "result": {
        "total": "28",
        "pagenum": "1",
        "pagesize": "1",
        "classid": "1",
        "list": [
            {
                "content": "一朵芙蓉顶上栽,锦衣不用剪刀裁,虽然不是英雄将,唱得千门万户开。(打一动物)",
                "answer": "公鸡"
            }
        ]
    }
}

注意事项:pagesize 上限为 2,批量拉取需翻页;keyword 建议 UTF-8 编码。

4. 天聚数行(TianAPI)绕口令

天聚数行是接口聚合平台,绕口令接口随机返回指定数量的绕口令数据,会员免费(普通会员 100 次/天)。

  • 请求地址:https://apis.tianapi.com/rkl/index?key={apiKey}

  • 请求方法:GET / POST

  • 支持协议:http / https

  • 返回格式:UTF-8 JSON

  • 请求参数:key(必填,注册账号后获得)、num(否,返回数量,取值 1-10,默认 10)

成功返回示例:


{
  "msg": "success",
  "code": 200,
  "result": {
    "list": [
      {
        "content": "香肠长,长香肠,炒香肠,尝香肠,常炒香肠,常尝香肠。"
      }
    ]
  }
}

失败返回示例(文档中的错误码写法):


{
  "code": 150,
  "msg": "API可用次数不足"
}

注意事项:文档列出常见错误码,如 140(接口或密钥无权限)、150(API 可用次数不足)、160(当前未申请该 API)、190(API 密钥不可用)等,建议按 code 判断业务状态。

5. 52vmy 绕口令(免费免 Key)

该接口由开发者提供并经免费接口聚合平台收录,无需注册即可调用,适合快速验证与轻量使用。

  • 请求地址:https://api.52vmy.cn/api/wl/rao

  • 请求方法:GET

  • 返回格式:JSON

  • 请求参数:type(否,返回格式,默认 JSON,可选 text)

返回示例:


{
    "code": 200,
    "msg": "成功",
    "data": {
        "title": "帆船",
        "msg": "帆船翻,翻帆船,竖起桅杆撑开帆。风吹帆,帆引船,帆船顺风转海湾。"
    }
}

注意事项:免 Key 接口的稳定性依赖维护者,聚合页标注过该接口出现过服务端错误,集成前务必自测。

6. 极数本源(ApiZero)谜语 API

极数本源是聚合型 API 平台,谜语大全接口在公开教程里有两个写法变体,均需密钥认证,按文档整理的参数如下。

变体一:v1 端点(POST + X-API-Key)

  • 请求地址:https://v1.apizero.cn/api/riddle

  • 请求方法:POST

  • 请求体格式:JSON

  • 鉴权:请求头 X-API-Key: 您的密钥Content-Type: application/json

  • 速率限制:5 次/秒

  • 请求参数:action(否,默认 random,可选 random / list / types)、type(否,仅 list 模式有效,小写类型如 animalidiom)、page(否,仅 list 模式有效,正整数页码)

curl 示例(文档中的写法):


curl -sS \
  -X POST \
  -H "X-API-Key: $APIZERO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action": "random"}' \
  "https://v1.apizero.cn/api/riddle"

变体二:v1/riddle 端点(GET + Bearer Token)

  • 请求地址:https://api.apizero.cn/v1/riddle

  • 请求方法:GET 或 POST

  • 鉴权:请求头 Authorization: Bearer {你的API密钥}

  • 请求参数:category(否,默认 random,可选 random / animal / object / word / history)、count(否,返回谜语数量 1-10,默认 1)、lang(否,语言,zh 中文 / en 英文)

返回示例:


{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 1001,
      "question": "什么东西越洗越脏?",
      "answer": "水",
      "category": "object",
      "difficulty": "easy"
    }
  ],
  "request_id": "abc-123-def"
}

注意事项:免费账户每日 1000 次请求额度;文档未承诺更高级别 SLA,建议做好重试与降级策略。

7. 小兔谜语 API

公开文章介绍的免费谜语接口,宣称永久免费、免实名,注册即领密钥,支持按类型筛选与分页查询。

  • 请求地址:https://api.xiaotuo.net/api.php?act=Api_send&id=101

  • 请求方法:GET

  • 返回格式:标准 JSON

  • 请求参数:apikey(必填,平台专属调用密钥)、type(否,谜语类型,支持字谜、成语谜、动物谜、植物谜、物品谜、自然谜等)、page(否,分页参数,默认第 1 页)

调用示例:


https://api.xiaotuo.net/api.php?act=Api_send&id=101&apikey=你的密钥&type=字谜&page=2

返回示例:


{
  "request_id": "719677548283322368",
  "success": true,
  "message": "success",
  "code": 200,
  "data": [
    {
      "title": "出于口而无穷",
      "content": "出于口而无穷",
      "answer": "生财之道"
    }
  ],
  "time": 1732544498,
  "usage": 0
}

注意事项:接口来自个人开发者,公开文章标注更新日期 2025-09-21;商用前建议确认数据版权与合规边界。

8. 易源(ShowAPI)绕口令与谜语查询

易源是接口聚合平台,本接口把绕口令和谜语合在一个 API 里,提供两个接入点。该接口为商业平台免费档:注册后默认可免费调用,但为防止滥用设有使用档次限制;调用需自备 appKey。本文仅按官方 OpenAPI 文档整理接入写法,未做真实数据实测。

  • 服务地址:https://route.showapi.com

  • 鉴权方式:请求参数携带 appKey(在易源控制台获取,管理地址 https://www.showapi.com/console#/myApp

  • 返回格式:JSON(UTF-8),业务数据统一包裹在 showapi_res_body 中,系统级字段见公共返回参数

接入点一:绕口令(1623-1)

  • 请求地址:https://route.showapi.com/1623-1?appKey={your_appKey}

  • 请求方法:POST / GET

  • 请求参数(表单):title(否,绕口令关键词)、page(否,页码,默认 1)

  • 效果示例:输入"八百标兵奔北坡",返回以"八百标兵奔北坡"开头的相关绕口令内容

返回体结构(文档中的写法):


{
  "showapi_res_error": "",
  "showapi_fee_num": 1,
  "showapi_res_code": 0,
  "showapi_res_id": "67aed69ffb638c23e1f1cfd9",
  "showapi_res_body": {
    "allPages": 100,
    "ret_code": 0,
    "contentlist": [
      {
        "content": "板凳宽,扁担长。扁担没有板凳宽,板凳没有扁担长。……",
        "title": "板凳与扁担"
      }
    ],
    "currentPage": 1,
    "allNum": 10,
    "maxResult": 1000
  }
}

接入点二:谜语(1623-2)

  • 请求地址:https://route.showapi.com/1623-2?appKey={your_appKey}

  • 请求方法:POST

  • 请求参数(表单):question(否,谜面关键词)、page(否,页码)

  • 返回体结构:showapi_res_bodycontentlist 数组,每条包含 question(谜面)与 answer(谜底),分页字段与绕口令一致(maxResult / allNum / allPages / currentPage)。

公共返回参数:showapi_res_code(状态码,0 为成功)、showapi_res_error(错误信息)、showapi_res_id(请求唯一标识)、showapi_fee_num(计费次数);业务字段 ret_code(0 为成功,其余为失败)。

注意事项:需要先在易源注册应用获取 appKey;免费档有使用档次限制,批量调用前请查看积分与档位说明。

横向对比(事实对照)

维度APISpace极速数据天聚数行52vmy极数本源小兔易源
是否需要 Key
返回格式JSONJSONJSONJSONJSONJSONJSON
HTTPS是/HTTP
编码UTF-8UTF-8UTF-8UTF-8
覆盖内容绕口令绕口令+谜语绕口令绕口令谜语谜语绕口令+谜语
来源类型平台接口平台接口平台接口个人/聚合平台接口个人/聚合商业平台免费档

各有取舍,没有全能最优:平台型接口文档规范、可查错误码,但普遍要 key 且有日调用量上限;免 Key 接口接入最轻,但稳定性依赖维护者;易源、极速数据这类同时覆盖绕口令和谜语的接口,适合一个 key 打通两类素材。按你自己的成本与精度需求选即可。

生产环境参考实现(多源降级)

下面是一个 Python 参考实现:把已整理接口都列为对等节点,按"发请求并落业务字段、失败则切换下一源"的通用逻辑串联。上线前建议自行补一次连通性验证;各源排序交由调用方自行决定,本文不下"哪个更优"的结论。


import requests

# 各源按需配置密钥;免 Key 源无需密钥
SOURCES = [
    {"name": "showapi", "url": "https://route.showapi.com/1623-1",
     "params": {"appKey": "你的appKey", "title": "扁担", "page": "1"}},
    {"name": "jisuapi", "url": "https://api.jisuapi.com/rkl/search",
     "params": {"appkey": "你的appkey", "keyword": "扁担", "pagenum": "1", "pagesize": "1"}},
    {"name": "tianapi", "url": "https://apis.tianapi.com/rkl/index",
     "params": {"key": "你的key", "num": "1"}},
    {"name": "52vmy", "url": "https://api.52vmy.cn/api/wl/rao", "params": {}},
]


def fetch_tongue_twister():
    """按顺序尝试各源,返回 {source, title, content} 或 None"""
    for src in SOURCES:
        try:
            resp = requests.get(src["url"], params=src["params"], timeout=5)
            data = resp.json()
            # 各源字段结构不同,按源做字段落位
            if src["name"] == "showapi" and data.get("showapi_res_body", {}).get("ret_code") == "0":
                item = data["showapi_res_body"]["contentlist"][0]
                return {"source": src["name"], "title": item.get("title", ""), "content": item.get("content", "")}
            if src["name"] == "jisuapi" and data.get("status") == 0:
                item = data["result"]["list"][0]
                return {"source": src["name"], "title": item.get("title", ""), "content": item.get("content", "")}
            if src["name"] == "tianapi" and data.get("code") == 200:
                item = data["result"]["list"][0]
                return {"source": src["name"], "title": "", "content": item.get("content", "")}
            if src["name"] == "52vmy" and data.get("code") == 200:
                d = data["data"]
                return {"source": src["name"], "title": d.get("title", ""), "content": d.get("msg", "")}
        except Exception as e:
            print(f"[{src['name']}] 失败: {e}")
            continue
    return None


if __name__ == "__main__":
    print(fetch_tongue_twister())

踩坑清单

  • 页面大小限制:极速数据 pagesize 最大为 2,批量取数必须翻页,别指望一次拉全。

  • 返回结构差异:同一功能各家字段名完全不同(content/msg/question/contentlist),接入时先按文档做一次字段映射。

  • 错误码判断:天聚数行用 code=200 表示成功、易源看 showapi_res_body.ret_code/showapi_res_code,混淆会漏判失败。

  • 密钥安全:Token/Key 不要硬编码进公开仓库,用环境变量注入;免 Key 接口也不代表无限制滥用。

  • 免费额度:平台型接口免费档普遍有每日调用上限(如 100 次/天、1000 次/天),上线前核算量级。

  • 稳定性:个人开发者维护的接口可能存在服务中断,生产环境务必做多源降级与超时重试。

附录:补充说明

网上流传的同类接口还有一些未收录进正文:例如某聚合平台的绕口令接口需认证后联系客服开通、未公开完整接入写法;个别平台的历史域名写法(如以 idmayi 域名承载的谜语接口)与现网域名不一致,建议直接以平台当前官方文档为准。集成前请自测——发一次真实请求确认返回结构与数据质量,再决定是否引入生产环境。

常见问题 FAQ

1. 有哪些免费的绕口令 API 接口?

市面上的免费档接口主要有:APISpace 绕口令(注册领 Token)、极速数据绕口令(免费会员 100 次/天)、天聚数行绕口令(会员免费)、52vmy 绕口令(免 Key)、易源绕口令与谜语(注册默认可免费调用)。各平台免费档均有每日调用量或档位限制,集成前请按公开文档核实。

2. 有哪些免费的谜语查询 API 接口?

极速数据谜语、极数本源(ApiZero)谜语、小兔谜语、易源谜语接入点(1623-2)均可查询谜语。前三个注册后领密钥即可调用,易源谜语与绕口令共用同一 appKey。

3. 绕口令 API 和谜语 API 能否用一个接口同时拿到?

可以。易源(ShowAPI)的"绕口令与谜语查询"接口提供两个接入点:1623-1 查绕口令、1623-2 查谜语,共用一个 appKey,适合需要两类素材的产品。

4. 调用这些接口需要准备什么?

平台型接口需要先注册账号并获取密钥(appKey / Token / key / apikey),其中 52vmy 绕口令接口免 Key 可直接调用。密钥通常通过控制台创建,请求时放在参数或请求头中。

5. 这些接口支持 HTTPS 吗?

整理到的接口均支持 HTTPS,天聚数行额外标注支持 HTTP;生产环境建议一律走 HTTPS。

6. 接口返回的是什么格式?

整理到的接口均返回 JSON;52vmy 支持通过 type 参数切换为 text 格式。易源返回统一 JSON 包裹,业务数据在 showapi_res_body 内。

7. 调用频率和每日限额是多少?

各平台不同:极速数据免费会员 100 次/天、极数本源免费账户 1000 次/天、极数本源 v1 端点另有 5 次/秒的速率限制、天聚数行普通会员 100 次/天。易源免费档设有使用档次限制,具体以积分与档位说明为准。

8. 按关键词查绕口令怎么写请求?

极速数据:https://api.jisuapi.com/rkl/search?appkey=你的key&keyword=白菜&pagenum=1&pagesize=1;易源:https://route.showapi.com/1623-1?appKey=你的key,表单参数 title 传关键词。两者返回的字段名不同,注意映射。

9. 谜语接口怎么查特定类型(如字谜、动物谜)?

极速数据谜语用 classid 分类参数;极数本源 v1 端点用 action=list&type=animal,v2 端点用 category=animal;小兔用 type=字谜。各平台分类 ID 体系不互通,需查对应文档。

10. 这些接口适合做什么产品?

适合做语言学习辅助(练普通话)、儿童教育娱乐、公众号/社群每日谜语互动、聚会游戏、主持人素材库,以及教育类 App 的趣味答题模块。

11. 接口报错或返回空数据怎么办?

先按各平台错误码表排查:常见原因是密钥无效、未申请该接口、免费次数用尽、参数不符合格式。若返回空,可换关键词或换接入点重试,并做好多源降级。

12. 免费接口会突然不可用吗?

部分由个人开发者维护的免 Key 接口存在服务中断可能,聚合平台也提示过接口失效风险;平台型接口相对稳定但受免费额度约束。建议生产环境做多源降级,并定期巡检连通性。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐