开放接口
api-bridge
by alexuser
Curated free public APIs for AI agents — geocoding, weather, forex, validation, facts, finance, and test data. Use when an agent needs real-world data without paid API keys.
安装
claude skill add --url github.com/openclaw/skills/tree/main/skills/alexuser/api-bridge文档
API Bridge — Curated Public API Toolkit for AI Agents
AI agents constantly need real-world data. This skill provides a curated, tested collection of the highest-value free public APIs organized by use case. Each entry includes the endpoint pattern, output shape, and curl example.
Philosophy: Curation + examples = the product. These are stable, mostly key-free APIs with good uptime.
Quick Reference
| Category | API | No Key | CORS |
|---|---|---|---|
| Weather | wttr.in | ✅ | ✅ |
| Weather | Open-Meteo | ✅ | ✅ |
| Geocoding | ipapi (IP→location) | ✅ | ❌ |
| Geocoding | Nominatim (geocode) | ✅ | ✅ |
| Forex | open.er-api.org | ✅ | ❌ |
| Crypto | CoinGecko | ✅ | ✅ |
| Validation | urlmeta, icon.horse | ✅ | ✅ |
| Facts | catfact.ninja | ✅ | ✅ |
| Images | dog.ceo, thecatapi | ✅ | ✅ |
| Finance | Polygon.io | ✅ | ✅ |
| Reference | Wikipedia REST | ✅ | ✅ |
| Test data | jsonplaceholder, randomuser | ✅ | ✅ |
Weather
wttr.in — Minimal Weather (CORS: ✅, No Key)
curl -s "wttr.in/San+Jose,CA?format=j1"
Use: Current conditions, 3-day forecast, moon phase, airport weather.
Output: JSON with current_condition, weather[] (daily), nearest_area.
# Specific location
curl -s "wttr.in/San+Jose,CA?format=3"
# Named locations work well; coordinates less so
Open-Meteo — Open Source Weather API (CORS: ✅, No Key)
Base: https://api.open-meteo.com/v1/forecast
curl -s "https://api.open-meteo.com/v1/forecast?latitude=37.34&longitude=-121.89¤t=temperature_2m,relative_humidity_2m,weather_code,wind_speed_10m&temperature_unit=fahrenheit&wind_speed_unit=mph&timezone=America%2FLos_Angeles"
Use: Current conditions + hourly forecast, no key needed, global coverage.
Parameters:
latitude,longitude— requiredcurrent=— comma-separated variables:temperature_2m,relative_humidity_2m,weather_code,wind_speed_10m,precipitation,cloud_coverhourly=— same variables for 48h forecastdaily=— daily forecast:temperature_2m_max,temperature_2m_min,precipitation_sum,weather_codetemperature_unit=fahrenheit|celsiustimezone=America%2FLos_Angeles(or auto)
Weather codes: 0=clear, 1-3=partly cloudy, 45-48=fog, 51-67=rain/drizzle, 71-77=snow, 80-82=rain showers, 95-99=thunderstorm.
Geocoding
ipapi.co — IP Geolocation (CORS: ❌, No Key)
Base: https://ipapi.co/json/ or https://ipapi.co/{IP}/json/
# Your sandbox出口IP
curl -s "https://ipapi.co/json/" | jq '.location, .city, .region, .country_name, .latitude, .longitude'
# Specific IP
curl -s "https://ipapi.co/8.8.8.8/json/" | jq '{city, region, country_name}'
Use: IP → city/region/country/lat-lon. Not CORS-friendly for browser use. Good for server/CLI agents.
Fields: ip, city, region, region_code, country_name, country_code, latitude, longitude, timezone, utc_offset, asn, org.
Nominatim — OpenStreetMap Geocoder (CORS: ✅, No Key, Rate Limited)
Base: https://nominatim.openstreetmap.org/search
curl -s "https://nominatim.openstreetmap.org/search?q=1600+Amphitheatre+Parkway,+Mountain+View,+CA&format=json&limit=1&addressdetails=1" \
-H "User-Agent: api-bridge/1.0"
Use: Address → lat/lon (forward) or lat/lon → address (reverse).
Reverse:
curl -s "https://nominatim.openstreetmap.org/reverse?lat=37.4223&lon=-122.0848&format=json" \
-H "User-Agent: api-bridge/1.0"
Parameters:
q=— search queryformat=json— always use thislimit=1— first resultaddressdetails=1— include parsed address componentsaccept-language=en— language preference
Rate limits: 1 req/sec. Always set User-Agent. Free for non-commercial use.
Forex
open.er-api.org — Free Forex (CORS: ❌, No Key)
Base: https://open.er-api.com/v6/latest/{CURRENCY}
curl -s "https://open.er-api.com/v6/latest/USD" | jq '.rates | {JPY, EUR, GBP, CNY, CAD}'
Use: Current exchange rates. USD as base, all currencies relative to it.
Output: { "rates": { "JPY": 149.5, "EUR": 0.92, ... }, "time_last_update_utc": "..." }
Crypto
CoinGecko — Crypto Prices (CORS: ✅, No Key, Rate Limited)
Base: https://api.coingecko.com/api/v3
# Simple price
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd&include_24hr_change=true"
# Market data
curl -s "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=bitcoin,ethereum&order=market_cap_desc&per_page=5&sparkline=false&price_change_percentage=24h"
Rate limit: 10-30 calls/min on free tier. Cache responses when possible.
Validation
icon.horse — Favicon Checker (CORS: ✅, No Key)
Base: https://icon.horse/
# Favicon URL for any domain
curl -s "https://icon.horse/feedburner.com"
# Returns: { "url": "https://feedburner.com/favicon.ico", "found": true }
Use: Find favicon for any domain — useful for link previews and metadata enrichment.
urlmeta — URL Metadata (CORS: ❌, No Key)
Base: https://urlmeta.org/?
curl -s "https://urlmeta.org/?url=https://example.com"
Use: Get Open Graph / Twitter card metadata for any URL without scraping.
Facts
catfact.ninja — Cat Facts (CORS: ✅, No Key)
curl -s "https://catfact.ninja/fact"
# {"fact":"Cats have over 20 vocalizations...","length":42}
Use: Random fact generation for demos, tests, social content. Also: /breeds, /fact endpoints.
dog.ceo — Random Dog Images (CORS: ✅, No Key)
curl -s "https://dog.ceo/api/breeds/image/random"
# {"message":"https://.../images/n02102040_1005.jpg","status":"success"}
curl -s "https://dog.ceo/api/breeds/list/all" | jq '.message | keys'
Use: Random images for demos, placeholders, UI testing.
thecatapi — Random Cat Images (CORS: ✅, No Key)
curl -s "https://api.thecatapi.com/v1/images/search"
# [{"id":"d5D", "url":"https://...","width":1600,"height":1200}]
Finance
Polygon.io — Market Status & Stock Quotes (CORS: ❌, No Key)
Base: https://api.polygon.io/v1
# Market status
curl -s "https://api.polygon.io/v1/marketstatus?apiKey=DEMO_KEY"
# Last trade for a stock
curl -s "https://api.polygon.io/v2/aggs/ticker/AAPL/prev?adjusted=true&apiKey=DEMO_KEY"
Note: DEMO_KEY works for some endpoints. Real keys are free at polygon.io.
Also useful:
https://api.polygon.io/v2/aggs/ticker/{TICKER}/prev— previous day closehttps://api.polygon.io/v2/aggs/ticker/{TICKER}/range?from={DATE}&to={DATE}— historical range
Reference
Wikipedia REST API — Article Summaries (CORS: ✅, No Key)
Base: https://en.wikipedia.org/api/rest_v1
# Article summary
curl -s "https://en.wikipedia.org/api/rest_v1/page/summary/OpenAI" | jq '{title, extract, thumbnail}'
# Related pages
curl -s "https://en.wikipedia.org/api/rest_v1/page/related/OpenAI" | jq '.pages[:3] | .[].title'
Use: Factual summaries, links, thumbnails for topics. Good for enriching agent responses with context.
Test Data
jsonplaceholder — Fake JSON API (CORS: ✅, No Key)
Base: https://jsonplaceholder.typicode.com
# Posts
curl -s "https://jsonplaceholder.typicode.com/posts?userId=1" | jq '.[0]'
# Comments
curl -s "https://jsonplaceholder.typicode.com/comments?postId=1" | jq '.[0]'
# Users
curl -s "https://jsonplaceholder.typicode.com/users/1" | jq '{name, email, phone}'
# Todos
curl -s "https://jsonplaceholder.typicode.com/todos?completed=false" | jq '.[0]'
Use: API prototyping, testing HTTP clients, mock backend during development.
randomuser.me — Fake User Profiles (CORS: ✅, No Key)
curl -s "https://randomuser.me/api/?results=3" | jq '.results[] | {name: .name, email, phone, location}'
Use: Generate realistic fake users with names, emails, photos, addresses for demos and tests.
Reliability Notes
✅ Reliable (tested, stable)
wttr.in— always up, lightweightapi.open-meteo.com— professional open source project, excellent uptimeapi.coingecko.com— large project, stablecatfact.ninja— simple, reliabledog.ceo/thecatapi.com— pet image APIs, very stablejsonplaceholder.typicode.com— standard test APIrandomuser.me— standard test APIen.wikipedia.org/api/rest_v1— Wikipedia infrastructure, very stable
⚠️ Use with caution
nominatim.openstreetmap.org— rate limited to 1 req/sec, requires User-Agentopen.er-api.org— simple project, less redundancyicon.horse— small project, less redundancypolygon.io— free tier sufficient for light use
❌ Avoid / Unreliable
worldtimeapi.org— frequently down (2026-03 check failed)dog-api.kinduff.com— certificate expired, broken (2026-03 check failed)
Adding to an OpenClaw Skill
Install as a skill in your workspace skills directory:
# In your OpenClaw workspace:
ls skills/
# Add api-bridge/ subdirectory with this SKILL.md
The skill is documentation-first — no code to install. Agents read the SKILL.md and invoke the APIs directly.
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
接口设计评审
by alirezarezvani
审查 REST API 设计是否符合行业规范,自动检查命名、HTTP 方法、状态码与文档覆盖,识别破坏性变更并给出设计评分,适合评审接口方案和版本迭代前把关。
✎ 做API和架构方案时,它能帮你提前揪出接口设计问题并对齐最佳实践,评审视角系统,团队协作更省心。
相关 MCP 服务
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。