こんにちは、Supership株式会社データソリューションスタジオの西尾です。
今回は有名な生成AIのChatGPT・Claude・GeminiのAPIのエラーコードに限定して比較します。
この記事は Supershipグループ Advent Calendar 2025 の 20日目の記事です。
はじめに
利用が増えている生成AIのAPIの仕様がどうなっているか気になりました。
全てチェックするには広すぎるため、エラーコードに絞って比較や共通点をまとめます。
エラーコードって差分あるのかなと興味があり、共通なら生成AIのAPIとしてデフォルトになっていると思い調査しました。
OpenAI・Anthropic・Google Gemini API の HTTPステータスコード比較
エラーコードの内容はHTTP レスポンスステータスコード や RFC 9110 - HTTP Semantics を参考に記載します。
クライアントエラー(4xx系)
400 Bad Request
リクエストの構文が無効、またはサーバーが処理できない形式
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | - | ドキュメントに記載なし |
| Anthropic | invalid_request_error |
リクエストの形式または内容に問題がある |
| Gemini | INVALID_ARGUMENT |
リクエストの本文の形式が正しくありません。JSON不正、パラメータエラーなどのリクエスト不備 |
| Gemini | FAILED_PRECONDITION |
Gemini API の無料枠は、お住まいの国ではご利用いただけません。 課金未設定、地域制限(無料枠が利用できない地域からのアクセス) |
401 Unauthorized
対象リソースに対する有効な認証が必要、または認証情報が無効
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | Invalid Authentication |
無効な認証・失効したAPIキーを使用・必要な権限を持たないAPIキーを使用 |
| OpenAI | Incorrect API key provided |
要求したAPIキーが正しくありません。 |
| OpenAI | You must be a member of an organization to use the API |
アカウントが組織に属していません。 |
| OpenAI | IP not authorized |
リクエストIPがプロジェクトまたは組織に設定されているIP許可リストと一致しません。 |
| Anthropic | authentication_error |
APIキーに問題がある |
| Gemini | - | ドキュメントに記載なし |
403 Forbidden
サーバーがリクエストを理解したものの、処理を拒否したこと・認証済みだがリソースへのアクセス権限がない
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | Country, region, or territory not supported |
サポートされていない国、地域、または領土からAPIにアクセスしています |
| Anthropic | permission_error |
API キーには指定されたリソースを使用する権限がありません。 |
| Gemini | PERMISSION_DENIED |
API キーに必要な権限がありません。 API キーが設定され、適切なアクセス権が付与されていることを確認 |
404 Not Found
リクエストされたリソースが存在しない
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | - | ドキュメントに記載なし |
| Anthropic | not_found_error |
要求されたリソースが見つかりませんでした。 |
| Gemini | NOT_FOUND |
リクエストされたリソースが見つかりませんでした。 |
413 Content Too Large
リクエストボディがサーバーの許容サイズを超過
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | - | ドキュメントに記載なし |
| Anthropic | request_too_large |
リクエストが最大許容バイト数を超えています。標準APIエンドポイントの最大リクエストサイズは32MBです。 |
| Gemini | - | ドキュメントに記載なし |
429 Too Many Requests
一定時間内のリクエスト数が制限を超過(レート制限)
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | Rate limit reached for requests |
短期間にトークンまたはリクエストを過度に送信し、APIに割り当てられたレート制限に達したことを意味 |
| OpenAI | You exceeded your current quota, please check your plan and billing details |
毎月の 使用制限 APIの場合、またはプリペイドクレジットのお客様でクレジットを使い切った場合 |
| Anthropic | rate_limit_error |
レート制限超過、急激な使用量増加による加速制限 |
| Gemini | RESOURCE_EXHAUSTED |
レート制限を超過しました。 |
サーバーエラー(5xx系)
500 Internal Server Error
サーバーが予期しない状況に遭遇し、要求を処理できなかったこと
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | The server had an error while processing your request |
サーバー側の問題。しばらく待ってからリクエストを再試行 |
| Anthropic | api_error |
Anthropic システム内部で予期せぬエラーが発生 |
| Gemini | INTERNAL |
Google 側で予期しないエラーが発生 |
503 Service Unavailable
一時的な過負荷または定期メンテナンスのため、サーバーがリクエストを処理できないこと
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | The engine is currently overloaded, please try again later |
サーバーのトラフィックが集中しているため、現在リクエストを処理できない |
| OpenAI | Slow Down |
トラフィックが大幅に増加し、モデルに過負荷がかかり、一時的なスロットリングがトリガー |
| Anthropic | - | ドキュメントに記載なし |
| Gemini | UNAVAILABLE |
サービスが一時的に過負荷状態になっているか、ダウンしている可能性がある |
504 Gateway Timeout
ゲートウェイ/プロキシが上流サーバーからの応答を時間内に受信できなかった
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | - | ドキュメントに記載なし |
| Anthropic | - | ドキュメントに記載なし |
| Gemini | DEADLINE_EXCEEDED |
サービスが期限内に処理を完了できない |
529 (非標準 - Anthropic 独自)
API 全体が一時的に過負荷状態
| 提供者 | エラータイプ | 主な内容 |
|---|---|---|
| OpenAI | - | (該当なし) |
| Anthropic | overloaded_error |
API 全体が高トラフィックを経験している状態 |
| Gemini | - | (該当なし) |
共通点・相違点
共通点
標準的なHTTPステータスコード体系
RFC に準拠したクライアントエラー(4xx系)とサーバーエラー(5xx系)を利用しています。
3社すべてが対応しているステータスコード
| ステータスコード | 用途 |
|---|---|
| 403 Forbidden | 認証済みだがリソースへのアクセス権限がない |
| 429 Too Many Requests | レート制限超過 |
| 500 Internal Server Error | サーバー側で予期しないエラーが発生 |
相違点
各社で異なるドキュメント記載範囲
| ステータスコード | OpenAI | Anthropic | Gemini |
|---|---|---|---|
| 400 Bad Request | - | ○ | ○ |
| 401 Unauthorized | ○ | ○ | - |
| 404 Not Found | - | ○ | ○ |
| 413 Content Too Large | - | ○ | - |
| 503 Service Unavailable | ○ | - | ○ |
| 504 Gateway Timeout | - | - | ○ |
Anthropic 独自の 529 ステータスコード
RFC で定義されていない Anthropic 独自のステータスコードで、OpenAI と Gemini には該当するコードがない
| 比較項目 | 429 Too Many Requests | 529 (Anthropic独自) |
|---|---|---|
| 意味 | 個別アカウントのレート制限超過 | API 全体の過負荷状態 |
| エラータイプ | rate_limit_error |
overloaded_error |
まとめ
- アクセス権限(403)やサーバーエラー(500)、レート制限(429)は3社共通で採用されている
- ドキュメントへの記載範囲は各社で異なり、対応しているエラーコードにも差がある
- Anthropicの529のように、生成AIモデルの負荷を考慮した独自のエラーコード設計も存在する
HTTPエラーコードの基本に則りつつ、生成AIならではの負荷対策やアクセス制限が各社で設計されていることがわかりました。
参考資料
- OpenAI Error Codes
- OpenAI Status
- ChatGPT API Error Codes Complete Guide
- Anthropic API Errors
- Gemini API Troubleshooting
- Gemini API トラブルシューティング
最後に宣伝です。
Supershipではプロダクト開発やサービス開発に関わる人を絶賛募集しております。
ご興味がある方は以下リンクよりご確認ください。
Supership 採用サイト
是非ともよろしくお願いします。