快速开始
几秒钟内获取日落预测
curl -H "x-api-key: $SUNSET_API_KEY" \
"https://sunset-predictor.com/api/v1/predict?city=Paris"请将 $SUNSET_API_KEY 替换为仪表板中的密钥。未授权的调用可用于快速演示,但限制更严格,并且不会返回限流响应头。
示例响应
{
"score": 78,
"label": "High",
"explanation": "Scattered clouds and clean air should produce vivid colors near the horizon.",
"confidence": "high",
"location": "Paris, FR",
"predictionType": "sunset",
"sunsetTime": "2026-05-26T19:42:00Z",
"sunriseTime": "2026-05-26T04:51:00Z",
"timezone": "Europe/Paris",
"targetDate": "2026-05-26",
"rawFactors": {
"cloudCover": 15,
"humidity": 55,
"visibility": 18200,
"windSpeed": 5.2,
"windDegree": 180,
"rainProb": 0,
"condition": "clouds",
"temperature": 19.4,
"dewPoint": 10.2,
"pressure": 1015,
"aqi": 2
}
}身份验证
外部请求通过 x-api-key 请求头进行身份验证。请在控制台中创建密钥——原始密钥仅会显示一次。
请求头
x-api-key: sp_live_YOUR_API_KEY_HERE请在每次调用时通过 x-api-key 请求头发送你的 API 密钥。
权限范围
| 权限范围 | 说明 |
|---|---|
| predict:read | 读取日落预测(调用 /api/predict 时需要) |
| usage:read | 读取该密钥自身的用量统计(调用 /api/usage 时需要) |
限制
免费套餐——每个密钥每天 100 次请求,于 UTC 午夜重置。
速率限制响应头
每个成功通过身份验证的响应都会携带以下响应头,以便你实时跟踪配额:
| X-RateLimit-Limit | 当前时间窗口内允许的最大请求数 |
| X-RateLimit-Remaining | 今日剩余请求数 |
| X-RateLimit-Reset | 配额重置时间的 ISO 8601 时间戳 |
| Retry-After | 重试前需等待的秒数(仅在 429 时出现) |
已验证请求示例
curl -H "x-api-key: sp_live_YOUR_API_KEY_HERE" \
"https://sunset-predictor.com/api/v1/predict?city=Paris"端点参考
API 试验场
直接在浏览器中测试 API
从今天起 5 天内。留空表示今天。
请求 URL
代码示例
流行编程语言的即用示例
# Set your API key once (mint from /dashboard/api-keys)
export SUNSET_API_KEY="sp_live_YOUR_API_KEY_HERE"
curl -H "x-api-key: $SUNSET_API_KEY" \
"https://sunset-predictor.com/api/v1/predict?city=Paris"示例会根据上方 playground 参数实时更新。
错误响应
常见错误响应及其含义
请求错误
缺少或无效的参数。请提供城市或经纬度。
{
"error": "Either lat/lon or city must be provided"
}未授权
API 密钥缺失、格式错误或已被吊销。请在 x-api-key 请求头中发送有效的密钥。
{
"error": "Invalid or revoked API key",
"code": "unauthorized"
}禁止访问
密钥有效,但缺少此端点所需的 predict:read 权限。
{
"error": "Insufficient permissions. Required scope: predict:read",
"code": "insufficientScope"
}未找到
无法找到指定的城市。
{
"error": "City not found",
"code": "cityNotFound"
}请求过多
已超出每日配额(免费套餐每天 100 次请求)。于 UTC 午夜重置;请查看 Retry-After 响应头。
{
"error": "Daily rate limit exceeded (100 requests/day). Upgrade your plan for higher limits.",
"code": "rateLimitExceeded",
"retryAfter": 3600
}服务器错误
发生内部服务器错误。请稍后重试。
{
"error": "Internal server error"
}网关错误
上游地理编码服务商出错。请稍作延迟后重试;可考虑发送 lat/lon 以跳过地理编码。
{
"error": "Unable to look up city location",
"code": "geocodingFailed"
}最佳实践
使用与许可
何时免费版足够,何时需要付费套餐。
免费版
个人、爱好、智能家居和测试用途免费。
- •个人项目与原型
- •兴趣与学习
- •个人使用的智能家居仪表盘(如 Home Assistant)
- •测试与评估
每个 API 密钥每天 100 次请求。
Plus 套餐
更高的个人使用额度,并且没有广告。仅限个人使用——商业项目需要 Pro。
每个 API 密钥每天 200 次请求,2 个 API 密钥。
Home Assistant 及其他智能家居集成在个人非商业用途下,仍可在免费版使用。
请对 API 密钥保密。在服务器端使用,切勿嵌入公开的客户端代码或提交到代码仓库。
正在做商业项目,或者遇到了无法解决的限额问题? 联系客服