用 JavaScript、Python、cURL 三种方式调用免费 API 接口,附完整代码示例,5分钟跑通第一个 API
调用任何一个免费 API,你只需要三样东西:
以 YesApi 为例,注册后自动获得 app_key,所有500+接口都通过它调用:
🔑 免费注册 YesApi,进入控制台首页即可看到你的专属 app_key。新用户赠送免费调用额度。
最简单的开始方式——打开终端,粘贴以下命令:
# 获取当前时间戳(无需参数)
curl "https://api.yesapi.cn/?s=App.Common_Timestamp&app_key=你的app_key"
# 返回:{"ret":200,"data":{"timestamp":1749369600123}}
# 查询IP归属地(带参数)
curl "https://api.yesapi.cn/?s=App.Common_IpInfo&ip=8.8.8.8&app_key=你的app_key"
// 方式一:使用 fetch(现代浏览器/Node.js 18+)
async function callYesApi(service, params = {}) {
const appKey = '你的app_key';
const query = new URLSearchParams({ s: service, app_key: appKey, ...params });
const resp = await fetch('https://api.yesapi.cn/?' + query);
const data = await resp.json();
console.log(data);
return data;
}
// 调用示例:获取时间戳
callYesApi('App.Common_Timestamp');
// 调用示例:查询IP
callYesApi('App.Common_IpInfo', { ip: '8.8.8.8' });
// 方式二:XMLHttpRequest(兼容老浏览器)
function callApiXHR(service, params, callback) {
var xhr = new XMLHttpRequest();
var query = 's=' + service + '&app_key=你的app_key';
for (var k in params) query += '&' + k + '=' + params[k];
xhr.open('GET', 'https://api.yesapi.cn/?' + query, true);
xhr.onload = function() { callback(JSON.parse(xhr.responseText)); };
xhr.send();
}
import requests
APP_KEY = "你的app_key"
BASE_URL = "https://api.yesapi.cn/"
def call_api(service: str, **params):
'''调用 YesApi 免费接口'''
params["s"] = service
params["app_key"] = APP_KEY
resp = requests.get(BASE_URL, params=params, timeout=10)
return resp.json()
# 获取时间戳
result = call_api("App.Common_Timestamp")
print(result) # {'ret': 200, 'data': {'timestamp': 1749369600123}}
# 查询IP归属地
result = call_api("App.Common_IpInfo", ip="8.8.8.8")
print(result)
检查 ret 字段(200=成功),对网络超时、频率限制做重试和降级处理。
不要把 app_key 散落在各处,封装一个 API 服务层统一管理调用逻辑。
HTTP 请求必须设 timeout,否则接口卡住会拖死你的应用。
app_key 不要硬编码在前端代码和Git仓库中。前端用服务端代理转发。
关注每日/每月API调用次数,免费额度快用完时提前升级,避免服务中断。
对用户输入参数做校验和过滤,防止注入攻击和异常数据。
| 对比维度 | 免费 API 平台 | 自建后端 |
|---|---|---|
| 初始成本 | 0元 | 服务器 + 域名 + SSL ≈ 1000元/年 |
| 开发时间 | 5分钟接入 | 需要数天到数周 |
| 运维成本 | 零运维 | 需要持续维护、更新、修复 |
| 功能完整性 | 500+接口覆盖常见需求 | 需要逐功能开发 |
| 灵活性 | 受限于平台提供的能力 | 完全自主可控 |
| 适用阶段 | MVP / 个人项目 / 中小企业 | 大型项目 / 特殊定制需求 |
YesApi提供真实可用的免费套餐,包含每日API调用次数和数据存储空间。对于个人项目和学习用途完全足够。超出免费额度后可以选择付费套餐升级。
会。如果你的app_key写在前端JS代码里,任何人都可以查看源码获取。建议方案:前端 → 你自己的后端代理 → YesApi。或者使用YesApi的IP白名单功能限制调用来源。
YesApi部署在国内服务器,正常延迟 <50ms。如果慢,检查:1) 网络是否正常;2) 是否使用了海外的API平台;3) 是否在请求中传入了大数据。也可以使用异步调用提高并发性能。
支持。YesApi所有接口都支持HTTPS加密传输,建议统一使用https://api.yesapi.cn/。
免费版有每日调用次数上限(具体以控制台显示为准)。付费版按套餐提供不同额度的调用次数。超过限制后API会返回频率限制错误。
免费注册 YesApi,立即获得 app_key,500+ 免费 API 等你调用
免费获取密钥 →