技术博客
中文近义词反义词 API:5 分钟接入,从注册到第一条查询结果

中文近义词反义词 API:5 分钟接入,从注册到第一条查询结果

作者: 万维易源
2026-09-03
中文近义词API中文反义词API免费接口ShowAPI
# 中文近义词反义词 API:5 分钟接入,从注册到第一条查询结果 > 接口:免费近义词 - 中文近义词和反义词(apiCode=1624)· 免费服务 · POST/GET · 返回 JSON · 适用人群:新注册用户、初级开发者 · 阅读时间:约 5 分钟 ## 核心要点 - 输入一个词,返回它的近义词(接入点 `1624-1`)或反义词(接入点 `1624-2`),只用一个必填参数 `keyWords`。 - 免费使用,每次调用消耗 1 计量额度(`showapi_fee_num=1`),无需单独付费。 - 三种语言(Python / Node.js / cURL)示例替换 AppKey 即可运行,返回 `result` 数组逐条打印。 ## Why:这跟你有什么关系 写文章想换个更贴切的词、做语文题想查某个词的近义反义、给产品做"用词建议"功能——这些场景都不该自己维护词库。这个接口把"查近义词/反义词"变成一次 HTTP 调用:你传一个词,它返回一串带拼音和释义的近义/反义词。本篇帮你用最短路径跑通第一次调用。 ## What:前置条件与接口速览 | 项目 | 说明 | |------|------| | 接口 | 免费近义词 - 中文近义词和反义词(apiCode=1624) | | 接入点 | 近义词 `1624-1`、反义词 `1624-2`(同一 `keyWords` 参数) | | 请求地址 | `https://route.showapi.com/1624-1`(近义)/ `https://route.showapi.com/1624-2`(反义) | | 请求方式 | POST(或 GET) | | Content-Type | `application/x-www-form-urlencoded` | | 必填参数 | `keyWords`(String):要查询的词 | | 鉴权 | URL 查询参数 `appKey=你的AppKey` | | 返回格式 | JSON | | 计费 | 免费服务;每次调用 `showapi_fee_num=1`(消耗免费额度 1 计量) | | 更新频率 | 数据持续更新中,每次查询返回最新数据 | 前置条件:在 [ShowAPI 控制台](https://www.showapi.com/console#/myApp) 获取 AppKey。 ## How:第一次调用 ### 步骤 1 — 取 AppKey 登录后在 [AppKey 管理](https://www.showapi.com/console#/myApp) 复制你的 AppKey。 ### 步骤 2 — 发送请求(以"残酷"查近义词为例) **Python(requests)** ```python import requests APP_KEY = "YOUR_APPKEY" URL = "https://route.showapi.com/1624-1" # 近义词;查反义词换成 1624-2 resp = requests.post( URL, params={"appKey": APP_KEY}, data={"keyWords": "残酷"}, headers={"content-type": "application/x-www-form-urlencoded"}, timeout=10, ) resp.raise_for_status() data = resp.json() if data.get("showapi_res_code") != 0: raise RuntimeError(f"系统级错误: {data.get('showapi_res_error')}") body = data["showapi_res_body"] if body.get("ret_code") != 0: raise RuntimeError(f"业务失败: {body.get('remark')}") print(f"「残酷」的近义词共 {len(body['result'])} 个:") for item in body["result"]: print(f"- {item['words']}:{item['wordsDetail']}") ``` **Node.js(fetch)** ```javascript const APP_KEY = "YOUR_APPKEY"; const url = `https://route.showapi.com/1624-1?appKey=${APP_KEY}`; // 反义词用 1624-2 const res = await fetch(url, { method: "POST", headers: { "content-type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ keyWords: "残酷" }), }); const data = await res.json(); if (data.showapi_res_code !== 0) throw new Error(data.showapi_res_error); const body = data.showapi_res_body; if (body.ret_code !== 0) throw new Error(body.remark); for (const item of body.result) { console.log(`- ${item.words}:${item.wordsDetail}`); } ``` **cURL** ```bash curl -X POST "https://route.showapi.com/1624-1?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" \ -d "keyWords=%E6%AE%8B%E9%85%B7" ``` ### 步骤 3 — 解析返回 返回体里 `showapi_res_body.result` 是一个数组,每个元素含 `words`(词名)与 `wordsDetail`(拼音+词性+释义)。把数组遍历打印即可。 ## 返回示例与解析(真实返回,已精简) ```json { "showapi_res_code": 0, "showapi_res_error": "", "showapi_res_id": "6a990ad9fb638c8138888397", "showapi_fee_num": 1, "showapi_res_body": { "ret_code": 0, "result": [ {"words": "严酷", "wordsDetail": "[ yán kù ] (形)①严厉;严格:~的教训。②残酷;冷酷:~的剥削。"}, {"words": "冷酷", "wordsDetail": "[ lěng kù ] (形)对待别人冷漠残酷:~无情|手段~。"}, {"words": "凶恶", "wordsDetail": "[ xiōng è ] (形)(性情、行为、相貌)十分可怕。"} ] } } ``` | 字段 | 位置 | 说明 | |------|------|------| | `showapi_res_code` | 系统级 | 0 表示系统级成功 | | `showapi_fee_num` | 系统级 | 本次消耗计量(免费接口=1) | | `ret_code` | `showapi_res_body` 内 | 0 表示业务成功 | | `result` | `showapi_res_body` 内 | **数组**,每个元素 `{words, wordsDetail}` | | `words` / `wordsDetail` | `result[]` 元素内 | 词名 / 拼音+词性+释义 | > 注意:文档把 `result` 标为 `String`,实测它是**数组**;`words`/`wordsDetail` 在数组元素内,不在 body 平级。详见[返回结构全解](https://www.showapi.com/guides/chinese-synonym-antonym-response-codes-1624)。 ## 进阶 / 边界 - 想查反义词:把地址里的 `1624-1` 换成 `1624-2`,其余代码完全不变。 - 多义词:接口按词面返回关联词,不区分义项;如需精准释义,取 `wordsDetail` 中的分项(如"①…②…")自行裁剪。 - 无结果:返回 `result` 为空数组(`[]`),属正常情况,按"无近义/反义词"处理即可。 ## FAQ **Q1:这个接口真的免费吗?** A:标注为"免费服务",不单独付费;但每次调用实测 `showapi_fee_num=1`,即从你的免费额度扣除 1 计量。额度用尽后需关注平台计费规则。 **Q2:近义词和反义词是同一个接口吗?** A:是同一个 apiCode=1624,只是两个接入点:`1624-1` 返近义词,`1624-2` 返反义词,参数完全相同。 **Q3:必须用 POST 吗?GET 行不行?** A:文档标注 POST/GET 均支持。示例用 POST + 表单,便于传参;GET 时把 `keyWords` 放到查询参数即可。 **Q4:返回里的 `ret_code` 和 `showapi_res_code` 有什么区别?** A:`showapi_res_code` 是系统级状态码(网络/鉴权层),`ret_code` 在 `showapi_res_body` 内,是业务状态码。两者都为 0 才算真正成功。 **Q5:报错时怎么看原因?** A:系统级失败看 `showapi_res_error`;业务失败(`ret_code` 非 0)看 `remark` 字段。文档未提供具体非零枚举值,统一按"非 0 即失败"处理。 ## 相关能力 / 下一步阅读 - [中文近义词反义词 API:返回结构全解(ret_code 与 result 数组)](https://www.showapi.com/guides/chinese-synonym-antonym-response-codes-1624) - [中文近义词反义词 API:近义词与反义词双接入点详解](https://www.showapi.com/guides/chinese-synonym-antonym-access-points-1624) - **本系列共 8 篇**:查看[中文近义词反义词 API 使用指南总目录](https://www.showapi.com/guides/chinese-synonym-antonym-guides-1624)