OpenCode Goを使っていると、「今どのくらい使ったか」「あとどれくらい残っているか」を確認したくなります。通常はコンソールのダッシュボードを開けば済みますが、ヘッドレスサーバーで動かしているツールやスクリプトからは、その画面を参照できません。
この記事では、Goプランのクォータ使用量をコードから取得する方法と、返ってくる値の読み方をまとめます。
GET https://opencode.ai/inference/go/v1/usageを使います。Goのモデル一覧と同じ系統のエンドポイントです。
curl -s https://opencode.ai/inference/go/v1/usage \
-H "Authorization: Bearer $OPENCODE_API_KEY" \
-H "Accept: application/json"
モデル一覧も同じベースで取得できます。
curl -s https://opencode.ai/inference/go/v1/models \
-H "Authorization: Bearer $OPENCODE_API_KEY"
コンソールのダッシュボードと同じく、3つのクォータの使用率が返ります。
{
"usage": {
"rolling": { "status": "ok", "percent": 37, "resetsAt": "2026-08-26T14:12:03.000Z" },
"weekly": { "status": "ok", "percent": 62, "resetsAt": "2026-08-31T00:00:00.000Z" },
"monthly": { "status": "ok", "percent": 12, "resetsAt": "2026-09-11T00:00:00.000Z" }
}
}
percent — 使用率。0〜100の整数で、小数点以下は切り捨てられます。金額は返らず、割合だけです。resetsAt — そのクォータがリセットされる時刻(ISO8601/UTC)。status — そのクォータの状態。レスポンスに含まれるrolling/weekly/monthlyは、それぞれ対象期間の異なるクォータです。上限は月次の上限を基準に決まっています。
| キー | 対象期間 | 上限(月次上限に対する割合) |
|---|---|---|
rolling |
5時間 | 月次上限の20% |
weekly |
週 | 月次上限の50% |
monthly |
月 | 月次上限の100% |
プランごとの実際の上限額は次のとおりです。
| プラン | 5時間上限 | 1週間上限 | 1ヶ月上限 |
|---|---|---|---|
| Go | $12 | $30 | $60 |
| Go Plus | 不明 | 不明 | 不明 |
ドキュメントにはこの関係が次のように記載されています。
Each model has the following usage limits: 5-hour — 20% of the monthly limit; weekly — 50%; and monthly — 100%.
このエンドポイントは、ドキュメントに記載がありません。Go/Zenどちらの「Endpoints」セクションにもusageは出ておらず、ドキュメントにおける使用量の案内は次の一文だけです。
You can track your current usage in the console.
つまり利用者向けに公開されたAPIではなく、予告なく仕様が変更されたり、削除されたりする可能性があります。処理の失敗がアプリ本体の動作に影響しないよう、表示のみに使う、例外は握りつぶすといった形で組み込むのが安全です。
GET https://opencode.ai/inference/go/v1/usageにAPIキーをBearerで付けると取得できる。percentは0〜100の整数のみで、金額は返らない。ドキュメント記載の上限額と組み合わせて解釈する。