目录

开发文档

本站提供四个「站点级接口」,让开发者可以程序化地获取接口清单、搜索接口、查看接口详情和站点统计数据。

站点概况

项目说明
接口总数468 个(实时)
分类数据查询、图片壁纸、视频影视、社交平台、游戏娱乐、文案语录、实用工具、音乐音频、文本工具、AI 对话、图片处理
是否需要注册不需要,全部免费直接调用
协议同时支持 HTTP 和 HTTPS
请求方式以 GET 为主,POST 也支持
返回格式{"code":200,"msg":"success","data":{...}}
跨域接口已开启 CORS,浏览器里可直接 fetch
限流60 次/分钟 · 1000 次/小时(按 IP)

通用错误码

code说明
200成功
400参数缺失或格式不对
401缺少或无效的密钥(该接口需要密钥时)
403密钥已停用 / IP 被封禁 / 密钥无权调用该接口
404接口不存在
429请求太频繁,触发了限流
500接口执行失败
502 / 503 / 504上游无响应 / 接口维护中 / 上游超时

① 获取接口清单

拿到本站全部接口的名字和请求地址,用来拼出你真正要调用的那个接口。

GET
https://itapi.top/openapi/list

请求参数

参数名类型必填说明
nint可选页码,从 1 开始,默认 1
sizeint可选每页条数,默认 50,最大 500
catstring可选按分类筛选,如 文案语录
simpleint可选传 1 只返回名字+地址

返回字段

字段类型说明
totalint当前筛选条件下的接口总数
site_totalint全站接口总数(不受筛选影响)
n / size / pagesint当前页码 / 每页条数 / 总页数
categories[]array每个分类的名字和数量
apis[].slugstring接口标识(查详情、拼地址都用它)
apis[].namestring接口名字
apis[].urlstring接口请求地址,拿到就能直接调
apis[].methodstring请求方法

响应示例

200 OK
{
    "code": 200,
    "msg": "success",
    "data": {
        "total": 468,
        "site_total": 468,
        "n": 1,
        "size": 50,
        "pages": 10,
        "categories": [
            {"name": "数据查询", "count": 27},
            {"name": "音乐音频", "count": 23}
        ],
        "apis": [
            {
                "slug": "demo",
                "name": "示例接口",
                "category": "实用工具",
                "method": "GET",
                "path": "/api/demo",
                "url": "https://itapi.top/api/demo",
                "type": "proxy",
                "need_key": false,
                "description": "示例接口的说明",
                "docs": "https://itapi.top/docs/demo/"
            }
        ]
    }
}

代码示例

cURL
curl "https://itapi.top/openapi/list?n=1&size=200"
JavaScript
const res  = await fetch("https://itapi.top/openapi/list?n=1&size=200");
const data = (await res.json()).data;

console.log(`本站共 ${data.total} 个接口`);
data.apis.forEach(a => console.log(a.name, "->", a.url));
Python
import requests

r = requests.get("https://itapi.top/openapi/list", params={"n": 1, "size": 200}, timeout=10)
data = r.json()["data"]

print(f"本站共 {data['total']} 个接口")
for api in data["apis"]:
    print(api["name"], "->", api["url"])

③ 获取接口详情

用 slug 或名字,拿到某个接口的请求地址、请求参数、返回信息、请求方法。

GET
https://itapi.top/openapi/info?slug=demo

请求参数

参数名类型必填说明
slugstring三选一接口标识(最准确)
namestring三选一接口名字,支持模糊
sstring三选一slug 的简写别名

返回字段

字段类型说明
name / slug / categorystring名字 / 标识 / 分类
methodstring请求方法(GET / POST / ANY)
urlstring请求地址
need_keybool是否需要密钥
descriptionstring接口说明
params[]array请求参数:name / type / required / desc / sample
request_examplestring用示例值拼好的可直接请求的地址
response_fields[]array返回字段说明(部分接口未填,则为空数组)
response_examplestring真实返回示例
docsstring该接口的网页版详情页地址

响应示例

200 OK
{
    "code": 200,
    "msg": "success",
    "data": {
        "slug": "demo",
        "name": "示例接口",
        "category": "实用工具",
        "method": "GET",
        "type": "proxy",
        "url": "https://itapi.top/api/demo",
        "path": "/api/demo",
        "need_key": false,
        "status": "启用",
        "description": "示例接口的说明",
        "params": [
            {"name": "text", "type": "string", "required": true, "desc": "要处理的文本", "sample": "hello"}
        ],
        "request_example": "https://itapi.top/api/demo?text=hello",
        "response_fields": [
            {"name": "code", "type": "int", "desc": "状态码"}
        ],
        "response_example": "{\"code\":200,\"msg\":\"success\",\"data\":{...}}",
        "example_status": "200 OK",
        "docs": "https://itapi.top/docs/demo/"
    }
}

④ 站点数据统计

获取本站的接口总数,以及今日调用量和累计调用量。统计只记录调用次数,不包含成功率、耗时或访客 IP。

GET
https://itapi.top/openapi/stats

请求参数

无需任何参数。

返回字段

字段类型说明
apis_totalint站点接口总数
calls_todayint今日调用数(自然日 00:00 起累计)
calls_today_textstring今日调用数(大数会简写,如 2.1k)
calls_totalint累计总调用数
calls_total_textstring总调用数(简写,如 217.7k)
updated_atstring本次返回数据的生成时间(实时统计)

响应示例

200 OK
{
    "code": 200,
    "msg": "success",
    "data": {
        "apis_total": 468,
        "calls_today": 354,
        "calls_today_text": "354",
        "calls_total": 217675,
        "calls_total_text": "217.7k",
        "updated_at": "2026-10-18 09:27:42"
    }
}

完整使用流程

三步走:先拿清单(或搜索)→ 再查详情 -> 最后拼参数调用。

PHP 完整示例
<?php
/* 1. 搜索接口(也可以直接 /openapi/list 拿全部) */
$list = json_decode(
    file_get_contents("https://itapi.top/openapi/search?q=" . urlencode("语录")), true
)['data'];
echo "搜到 {$list['total']} 个接口\n";
foreach ($list['apis'] as $a) {
    echo "  {$a['name']} -> {$a['url']}\n";
}

/* 2. 查详情 */
$slug = $list['apis'][0]['slug'];
$info = json_decode(
    file_get_contents("https://itapi.top/openapi/info?slug=" . urlencode($slug)), true
)['data'];
echo "\n{$info['name']}({$info['method']})\n";
foreach ($info['params'] as $p) {
    echo "  参数 {$p['name']}(" . ($p['required'] ? '必填' : '可选') . "):{$p['desc']}\n";
}

/* 3. 拼参数调用 */
$qs = [];
foreach ($info['params'] as $p) {
    if ($p['sample'] !== '') { $qs[$p['name']] = $p['sample']; }
}
$result = file_get_contents($info['url'] . '?' . http_build_query($qs));
echo "\n调用结果:\n{$result}";

常见问题

问题说明
浏览器里 fetch 报跨域?接口已开启 CORS(Access-Control-Allow-Origin: *),一般不会;如有问题请反馈
为什么有的接口要密钥?站长可对单个接口设置「需要密钥」,这类接口要在地址后加 &key=你的密钥,或用请求头 X-API-Key
返回 429 是什么意思?请求太频繁,触发限流(60 次/分 · 1000 次/时)
支持 POST 吗?支持。接口既接受 URL 参数也接受 POST 表单参数
接口返回 502 / 504?该接口依赖的上游暂时不可用,稍后重试

导出文档

把本页内容导出成 Markdown 或 纯文本,方便存档、写进项目文档,或者直接交给 AI 助手当上下文用。

导出文件名:itapi-api-docs.md 或 itapi-api-docs.txt,内容会自动带上导出时间和来源地址。

返回接口列表