本文へスキップ

APIドキュメント

夕焼け品質予測をアプリケーションに統合

使用量を追跡するためにAPIキーを取得
ベースURLhttps://sunset-predictor.com
OpenAPI仕様

クイックスタート

数秒で夕焼け予測を取得

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 に必要)

制限

無料プラン — キーごとに1日100リクエスト、UTC の午前0時にリセット。

レート制限のレスポンスヘッダー

認証済みの成功レスポンスにはこれらのヘッダーが付与され、クォータをリアルタイムで追跡できます。

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をテスト

キーを取得 →

sp_live_ で始まる 40 文字です

このブラウザタブ内(sessionStorage)にのみ保存されます。タブを閉じると消去されます。

今日から5日先まで。空欄は今日。

リクエストURL

GET /api/v1/predict?city=Paris

コード例

人気の言語ですぐに使えるサンプル

# 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"

サンプルは上記のプレイグラウンドのパラメータに合わせてリアルタイム更新されます。

エラーレスポンス

一般的なエラーレスポンスとその意味

400クライアントエラー

不正なリクエスト

パラメータが不足しているか無効です。都市または緯度/経度を指定してください。

{
  "error": "Either lat/lon or city must be provided"
}
401認証 / 権限

認証エラー

API キーが未指定、不正な形式、または失効しています。x-api-key ヘッダーに有効なキーを送信してください。

{
  "error": "Invalid or revoked API key",
  "code": "unauthorized"
}
403認証 / 権限

アクセス拒否

キーは有効ですが、このエンドポイントに必要な predict:read スコープがありません。

{
  "error": "Insufficient permissions. Required scope: predict:read",
  "code": "insufficientScope"
}
404クライアントエラー

見つかりません

指定された都市が見つかりませんでした。

{
  "error": "City not found",
  "code": "cityNotFound"
}
429クライアントエラー

リクエストが多すぎます

1日のクォータを超過しました(無料プランは1日100リクエスト)。UTC の午前0時にリセットされます。Retry-After ヘッダーを確認してください。

{
  "error": "Daily rate limit exceeded (100 requests/day). Upgrade your plan for higher limits.",
  "code": "rateLimitExceeded",
  "retryAfter": 3600
}
500サーバーエラー

サーバーエラー

内部サーバーエラーが発生しました。後でもう一度お試しください。

{
  "error": "Internal server error"
}
502サーバーエラー

Bad Gateway

上流のジオコーディングプロバイダーで障害が発生しました。少し間隔を空けて再試行してください。lat/lon を送信してジオコーディングをスキップすることも検討してください。

{
  "error": "Unable to look up city location",
  "code": "geocodingFailed"
}

ベストプラクティス

利用とライセンス

無料プランで十分な場合と、有料プランが必要な場合。

無料プラン

個人・趣味・スマートホーム・テスト用途は無料。

  • 個人プロジェクトやプロトタイプ
  • 趣味・学習用
  • 個人利用のスマートホームダッシュボード(例:Home Assistant)
  • テスト・評価

APIキーごとに1日100リクエスト。

Plusプラン

個人利用の上限が引き上げられ、広告も表示されません。個人利用のみ — 商用プロジェクトにはProが必要です。

APIキーごとに1日200リクエスト、APIキー2個。

商用利用

商用利用には有料プラン(Pro・Business)が必要です。

有料プランは1日のリクエスト上限が高く、APIキーも多く持てます。

料金を見る

Home Assistantなどのスマートホーム連携は、個人・非商用利用であれば無料プランで引き続き利用できます。

APIキーは秘密にしてください。サーバー側で使用し、公開クライアントコードに埋め込んだりリポジトリにコミットしたりしないでください。

商用利用を考えていたり、解決できない上限にぶつかっていますか? サポートに問い合わせる