API服务

免费API资源汇总:天气、汇率、AI等常用接口

汇总开发者常用的免费API资源,包括天气、汇率、新闻、AI等多个分类,附带调用示例和使用限制说明。

#免费API #API资源 #开发资源 #接口

好用的免费API能加速你的项目开发

做个人项目或快速原型时,你经常需要各种数据接口:天气信息、汇率转换、随机图片、AI能力等等。手动收集这些API很费时间,今天我帮你整理好了。

天气类API

API免费额度特色需要Key
OpenWeatherMap1000次/天最流行
WeatherAPI1M次/月功能全面
Open-Meteo无限(非商用)无需注册
和风天气1000次/天中国天气精准

Open-Meteo调用示例

// 无需API Key,直接调用
const response = await fetch(
  'https://api.open-meteo.com/v1/forecast?' +
  'latitude=39.9042&longitude=116.4074' +
  '&current=temperature_2m,wind_speed_10m' +
  '&daily=temperature_2m_max,temperature_2m_min' +
  '&timezone=Asia/Shanghai'
);

const data = await response.json();
console.log(`北京当前温度: ${data.current.temperature_2m}°C`);

汇率和金融类API

API免费额度更新频率货币数
ExchangeRate-API1500次/月每日161
Open Exchange Rates1000次/月每小时170+
Frankfurter无限每日33
CoinGecko10000次/月实时加密货币
# Frankfurter汇率API示例(无需Key)
import requests

response = requests.get(
    'https://api.frankfurter.app/latest',
    params={'from': 'USD', 'to': 'CNY,EUR,JPY'}
)
data = response.json()
print(f"1 USD = {data['rates']['CNY']} CNY")

AI和机器学习API

API免费额度能力推荐
OpenAI$5新用户额度GPT/DALL-E最强LLM
Anthropic有免费层级Claude编程最强
Google AI免费(Gemini API)Gemini多模态
Hugging Face免费(部分模型)各种ML模型开源模型
Replicate一些免费额度运行ML模型简单部署
// 调用Google Gemini API示例
const response = await fetch(
  `https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key=${API_KEY}`,
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      contents: [{ parts: [{ text: '用一句话解释什么是API' }] }]
    })
  }
);

图片和媒体API

API用途免费额度
Unsplash高质量图片50次/小时
Pexels免费图片/视频200次/小时
Lorem Picsum占位图片无限
Remove.bg图片去背景50次/月
Cloudinary图片处理25个额度
<!-- Lorem Picsum占位图片,无需API Key -->
<img src="https://picsum.photos/800/400" alt="随机图片">
<img src="https://picsum.photos/seed/hello/800/400" alt="固定随机图">
<img src="https://picsum.photos/800/400?grayscale" alt="灰度图">

地图和地理信息API

API免费额度特色
Mapbox50000次/月地图渲染最美
OpenStreetMap/Nominatim合理使用完全免费
高德地图5000次/天国内最准
百度地图有免费额度国内常用
ip-api.com45次/分钟IP地理位置

新闻和内容API

API免费额度语言
NewsAPI100次/天多语言
GNews100次/天多语言
RSS2JSON10000次/天RSS转JSON
Wikipedia无限多语言

开发工具类API

API用途免费
GitHub API仓库/Issue管理5000次/小时
JSONPlaceholder测试用假数据无限
httpbinHTTP测试无限
ReqRes模拟REST API无限
Random User随机用户数据无限
# JSONPlaceholder - 开发测试的好帮手
curl https://jsonplaceholder.typicode.com/posts/1

# httpbin - 测试HTTP请求
curl https://httpbin.org/get
curl -X POST https://httpbin.org/post -d '{"name":"test"}'

# Random User - 生成随机用户
curl 'https://randomuser.me/api/?results=5&nat=cn'

短信和通信API

API免费额度用途
Twilio试用额度短信/语音
Resend100封/天邮件发送
Telegram Bot API免费聊天机器人
Discord API免费Discord机器人

使用免费API的注意事项

1. 频率限制处理

// 使用指数退避处理频率限制
async function fetchWithRetry(url, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fetch(url);
    if (response.status === 429) {
      const delay = Math.pow(2, i) * 1000;
      console.log(`频率限制,${delay}ms后重试...`);
      await new Promise(r => setTimeout(r, delay));
      continue;
    }
    return response;
  }
  throw new Error('超过最大重试次数');
}

2. 缓存策略

数据类型建议缓存时间说明
汇率1小时-1天变动不频繁
天气30分钟适度缓存
新闻15分钟时效性要求较高
图片1天以上不会变化
地理位置长期基本不变

3. 安全建议

  • 不要在前端暴露API Key
  • 使用后端代理请求
  • 设置CORS正确
  • 监控API用量,避免超额

API测试工具

拿到免费API后,用什么工具测试?推荐看看API测试工具对比。如果你想搭建自己的API服务,了解在线开发工具监控工具也很有帮助。

总结

免费API资源非常丰富,善加利用能大幅加速项目开发。建议收藏本文,需要时按分类查找。注意遵守各API的使用条款,合理使用免费额度,需要生产级服务时考虑升级付费方案。