認証の仕組み
Sorsa APIへのすべてのリクエストで、APIキーをApiKey ヘッダーに含める必要があります。HTTPヘッダー名は大文字と小文字を区別しませんが、ここに示す表記を使い、キーの値は一文字も変更せずに指定してください。
Content-Type ヘッダーも指定してください。
ヒント: API Playgroundを使うと、コードを書かずにAPIキーをテストできます。
リクエストの要件
すべてのAPI呼び出しは、次の要件を満たす必要があります。 HTTPSのみ。 すべてのリクエストでhttps:// を使用してください。通常のHTTPリクエストは拒否されます。
ApiKeyヘッダー。 すべてのリクエストで必須です。OAuth、Bearerトークン、クエリパラメータによる認証は使用しません。
Content-Typeヘッダー。 POSTリクエストで必須です。application/json に設定し、パラメータはJSONボディで渡してください。
HTTPメソッド。 エンドポイントは操作に応じてGETまたはPOSTを使用します。各エンドポイントのメソッドは、APIリファレンスに記載されています。
APIキーの管理
キーの確認。 有効なAPIキーはダッシュボードの概要ページに表示されます。新規アカウントには100回分の無料リクエストが付与されるため、カードを登録しなくても最初のキーをすぐに利用できます。 キーの作成と削除。 新しいキーを発行したり、既存のキーを失効させたりするには、ダッシュボードのAPI Keysセクションを開きます。 使用状況の監視。 Usage statsページでリクエスト履歴と残りの利用枠を確認できます。GET /key-usage-info エンドポイントを使ってプログラムから取得することも可能です。
重要: キーを削除または置き換えると、古いキーを使っているアプリケーションには直ちに 401 Unauthorized エラーが返されるようになります。キーを失効させる前に、連携先の設定を更新してください。
セキュリティ上の推奨事項
クライアント側のコードにキーを公開しないでください。 ブラウザ、モバイルアプリ、その他のフロントエンド環境からSorsa APIを直接呼び出さないでください。APIキーがブラウザの開発者ツール、ネットワークログ、ソースコードから見えてしまいます。必ず自分のバックエンドサーバーを経由してリクエストを送信してください。 環境変数を使用してください。 キーは.env ファイル、または利用するプラットフォームのシークレット管理機能(AWS Secrets Manager、Vercel Environment Variables、Railway Variablesなど)に保存してください。ソースファイルにキーを直接書き込まないでください。
バージョン管理にキーを含めないでください。 .env を .gitignore に追加してください。GitHub、GitLab、Bitbucketの公開・非公開リポジトリのいずれにもAPIキーをコミットしないでください。
漏えいしたキーは直ちに更新してください。 コミット、スクリーンショット、公開フォーラムなどで誤ってキーを公開した場合は、API Keysセクションで該当のキーを削除し、新しいキーを発行してください。古いキーは即座に使用できなくなります。
トラブルシューティング
401 UnauthorizedApiKey ヘッダーがない、ヘッダー名に誤字がある、キーが削除されている、または元から無効な場合です。ヘッダー名が正しく ApiKey になっていることを確認してください。Api-Key や Authorization ではありません。
403 Forbidden
キーは有効ですが、サブスクリプションの期限が切れているか、月間リクエスト枠を使い切っています。ダッシュボードまたは GET /key-usage-info で残りの利用枠を確認してください。
429 Too Many Requests
レート制限(すべてのプランで一律20リクエスト/秒)を超える速度で送信しています。呼び出しの間に短い待機時間を入れ、再試行してください。詳細と再試行の方法は、レート制限を参照してください。
ブラウザでのCORSエラー
CORS関連のエラーが表示される場合は、フロントエンドのJavaScriptからAPIを呼び出している可能性があります。Sorsa APIはサーバー側での利用専用です。API呼び出しをバックエンドサービスまたはサーバーレス関数に移してください。
次のステップ
- レート制限 — リクエストの利用枠と再試行の方法
- APIキーの使用状況 — プログラムから残りの利用枠を確認する方法
- APIリファレンス — 利用可能なすべてのエンドポイント