Perplexity AI API:アクセス、料金、統合、運用ガイド
Perplexityのドキュメントに基づく最終確認日:2026年10月24日。
Perplexity AI APIは、もはや単一で差別化されていない「検索チャットAPI」ではありません。現在は、Webに基づくエージェント応答、オープンウェイトモデルのルーティング、Raw検索、埋め込み、型付きの意思決定のために、それぞれ異なるインターフェースが用意されています。コードを書く前に、用途に合うインターフェースを選んでください。これにより、エンドポイント、SDKメソッド、料金単位、レート制限、本番環境で記録すべき内容が決まります。
新しいリサーチ機能やアシスタント機能の大半では、Agent APIから始めてください。これはOpenAI Responses形式に従い、Web検索を使用でき、ソースを含む構造化出力を返します。既存のOpenAI Chat Completionsコードからオープンウェイトモデルのカタログにアクセスする必要がある場合は、Orchestrator APIを使用します。LLMによる回答なしでランキング済みの結果が必要な場合は、Searchを使用します。
簡潔な回答:どのPerplexity APIを使うべきか?
| 必要なもの | 使用するもの | 受け取るもの | 統合方法 |
|---|---|---|---|
| ソース、ツール、または複数ステップのワークフローを伴う調査済みの回答 | Agent API | ソース情報を含む結果アイテムを含む、構造化されたResponses出力 | POST /v1/agent、または受け入れられる/v1/responsesエイリアス |
| OpenAI Chat Completionsスタイルのクライアント経由で利用するオープンウェイトモデル | Orchestrator API | Chat Completionsスタイルのレスポンス | POST /orchestrator/v1/chat/completions |
| 独自のパイプラインで処理するランキング済みのWeb結果 | Search API | Raw検索結果 | POST /search |
| セマンティック検索、RAG、または分類のためのベクトル | Embeddings API | 埋め込み | Perplexityの埋め込みエンドポイント/SDK |
| キャリブレーションされたYes/No、多肢選択、またはルーブリックに基づく判断 | Decisions API | 型付きの回答と確率 | Decisionsエンドポイント/SDK |
この区別が、最も重要なPerplexity AI APIの設計上の選択です。Perplexityの現行概要では、Agent APIはOpenAI Responses互換でWebに基づくAPIとして説明されており、Orchestrator APIはホスト型オープンウェイトモデル向けの別の互換性インターフェースです。Perplexityの概要を読む。
Perplexity AI APIへのアクセスを取得する
- Perplexity API Consoleでアカウントを作成します。
- API Keysページからキーを生成します。
- サーバーまたはデプロイメントのシークレットマネージャーにのみ保存します。
- ブラウザーコード、git、サンプル、ログではなく、ランタイム環境で
PERPLEXITY_API_KEYを設定します。 - 本番トラフィックを送信する前に請求設定を追加します。Perplexityはサブスクリプション不要の従量課金API請求を案内していますが、モデルとツールの料金は変更される可能性があるため、ローンチ前に最新の料金ページを確認してください。
macOSまたはLinuxでは、シークレットを表示せずに設定します。
export PERPLEXITY_API_KEY="replace-in-your-secret-manager"
test -n "$PERPLEXITY_API_KEY" && echo "PERPLEXITY_API_KEY is set"
最後のコマンドは、値を公開せずに設定されていることを意図的に確認します。Perplexityは、キーやキーの断片であってもターミナル出力に表示しないよう明示的に推奨しています。アプリケーションの残りの部分でも、同じルールに従ってください。Authorizationヘッダーをマスクし、漏洩したキーをローテーションし、環境ごとに個別の認証情報を使用します。顧客トラフィックを追加する前に、これを安全なAPIキー管理ワークフローと組み合わせてください。
OpenAI SDKでAgent APIを統合する
製品でWebに基づく回答、引用、ツール利用、またはターンをまたいで継続できる応答が必要な場合、Agent APIが適切なPerplexity AI APIインターフェースです。PerplexityはOpenAI SDKの設定として、base_url="https://api.perplexity.ai/v1"を使用し、client.responses.create()を呼び出す方法を文書化しています。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["PERPLEXITY_API_KEY"],
base_url="https://api.perplexity.ai/v1",
)
response = client.responses.create(
model="perplexity/sonar",
input="What changed in the last 30 days for this topic? Cite primary sources.",
tools=[{"type": "web_search"}],
max_output_tokens=600,
)
print(response.output_text)
正規のエンドポイントはPOST /v1/agentです。OpenAI SDKはPOST /v1/responsesを送信し、Perplexityはこれをエイリアスとして受け入れます。これはResponsesレイヤーでの互換性であり、すべてのChat Completionsオプションが完全に対応付けられることを保証するものではありません。PerplexityのOpenAI互換性ガイドが、サポートされるリクエストおよびレスポンスフィールドの信頼できる情報源です。
ここでは、本番環境における2つの重要なポイントがあります。
- Web検索はオプトインです。
modelとinputのみのリクエストではモデルの知識が使用され、引用は返されません。鮮度とソースが重要な場合は、エフォートレベルまたはweb_searchツールを使用してください。 - アプリケーション境界では、
output_textだけでなく構造化されたoutputを保持してください。引用、ツールアクティビティ、ステータス、使用量、レスポンスIDは、UIの装飾ではなく運用データです。
モデル識別子をハードコードする前に、デプロイワークフローで GET /v1/models をクエリするか、現在の Agent API モデルカタログを確認してください。Perplexity はこのエンドポイントを OpenAI 互換形式で文書化しているため、許可リストやリリースチェックに役立ちます。
Chat Completions 互換性が必要な場合は Orchestrator API を使用する
Perplexity AI API には、別の用途向けに OpenAI 互換の第2のパスがあります。Orchestrator API は Chat Completions 形式と異なるベース URL を使用します。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["PERPLEXITY_API_KEY"],
base_url="https://api.perplexity.ai/orchestrator/v1",
)
completion = client.chat.completions.create(
model=os.environ["PPLX_ORCHESTRATOR_MODEL"],
max_tokens=500,
messages=[
{"role": "user", "content": "Summarize these notes in five bullets."}
],
)
print(completion.choices[0].message.content)
モデル ID には環境変数を使用し、CI またはリリースチェックで検証してください。カタログの提供状況、エイリアス、価格表は、アプリケーションコードよりも頻繁に変わります。避けるべき重要な誤りは、Agent API と Orchestrator API を交換可能なものとして扱うことです。
- Agent API:
https://api.perplexity.ai/v1+responses.create()。 - Orchestrator API:
https://api.perplexity.ai/orchestrator/v1+chat.completions.create()。
目標が引用付きの最新回答であるなら、使い慣れたクライアントだからという理由だけで Chat Completions に切り替えないでください。ホスト型オープンウェイトカタログ向けに OpenAI Chat Completions をそのまま置き換えることが目標なら、Agent のベース URL に向けないでください。Perplexity クイックスタートでは、両方のパターンを紹介しています。
Perplexity AI API の料金:リクエスト全体を計算する
Perplexity AI API の予算を実務的に見積もるには、トークン料金をツール料金またはリクエスト料金から分けます。正確な料金表は最新かつモデル固有であるため、四半期に一度スライドへコピーする数字ではなく、デプロイ時の入力情報として料金ページを使用してください。
| 対象 | 課金モデル | 本番運用上の意味 |
|---|---|---|
| Orchestrator API | モデルごとの入力、出力、キャッシュ読み取りトークン料金。推論トークンは出力料金で課金。リクエストごとの料金なし | 計測した入力、出力、キャッシュトークンから見積もります。 |
| Agent API モデル | 選択したプロバイダー/モデルごとの透明性のあるトークンベース料金 | ユーザーに表示されるすべてのリクエストについて、返された使用量と選択されたモデルを記録します。 |
Agent web_search |
Standard:呼び出し1回あたり $0.0025、Fast Search:呼び出し1回あたり $0.001 | Web アクセスは意図的に行ってください。これは別のコスト項目です。 |
Agent fetch_url |
呼び出し1回あたり $0.0005 | エージェントループ内の URL 取得に上限を設けます。 |
| Agent サンドボックス | セッションあたり $0.03、加えて SDK 検索クエリ | サンドボックスセッションを独立したリソースとして扱います。 |
| Search API | 成功した標準リクエスト1,000件あたり $5.00、Fast Search リクエスト1,000件あたり $1.00 | 最大5つのクエリを含むリクエストは、成功した1リクエストの課金単位です。 |
上記の料金は 2026年10月24日に確認しました。利益率、顧客クォータ、予算アラートを設定する前に、公式料金ページとAgent API モデルカタログを再度確認してください。
計画に役立つ計算式は次のとおりです。
request_cost =
(input_tokens / 1,000,000 × input_rate) +
(output_tokens / 1,000,000 × output_rate) +
(cache_read_tokens / 1,000,000 × cache_read_rate) +
tool_invocations × tool_rate +
search_requests × search_request_rate
調査を伴う回答を、出力トークンだけから見積もらないでください。Agent ワークフローでは、入力コンテキスト、出力/推論トークン、ツール呼び出しを使用する場合があります。これらの各次元を、テナント ID、機能名、要求モデル、最終モデル、レスポンス ID とともに保存してください。同じイベントモデルにより、AI モデル価格の比較は、定価だけを比較するよりはるかに有意義になります。
本番対応の Perplexity AI API ワークフローを構築する
1. API の対象領域を明示的なプロダクト判断にする
perplexity_agent、perplexity_search、perplexity_orchestrator など、対象領域ごとに小さなアダプターを定義してください。引用、検索結果、使用量、ツールイベントをどう扱うか決定するまで、異なるレスポンス型を汎用的な chat() 関数の背後に隠さないでください。
顧客向けの調査回答では、アダプターは少なくとも次を返すべきです。
answer_text, citations, response_id, status, requested_model,
served_model, input_tokens, output_tokens, tool_calls, cost, latency_ms
生の Search については、後続の合成結果とは分けて結果を返してください。これにより来歴を保持でき、検索プロバイダーを暗黙に変更することなく執筆モデルを変更できるようになります。
2. 引用を保持すべきデータとして扱う
Perplexity AI API リクエストでウェブ検索を使用する場合は、その主張を裏付ける引用元を主張の横に表示します。返されたソース URL、提供されている場合はタイトル、および回答の生成に使用したレスポンス ID を保存してください。調査機能、サポートエージェント、または社内の意思決定ワークフローでは、検証可能なソースがない親しみやすい回答だけでは不十分です。
ローンチ前にポリシーを決めてください。
- 事実に基づく回答には、少なくとも 1 件の一次情報源を必須としますか?
- 引用による裏付けがない場合、その記述を削除しますか?
- ユーザーは回答に基づいて行動する前に、引用された URL を開けますか?
- ソースメタデータとレスポンス記録をどのくらい保持しますか?
3. 単一の「1 分あたりのリクエスト数」ではなく、ローリングレートウィンドウを考慮して予算を立てる
Perplexity の Agent API では、Agent 呼び出し、ポーリング、キャンセル/再開操作、ファイルダウンロードで共有される組織全体のリクエスト制限が定められています。また、ローリングの分単位および時間単位のウィンドウにおけるモデルごとのトークン制限も定められています。ポーリングは無料ではありません。低いティアでは、非同期リクエストを 1 秒ごとにポーリングすると、リクエスト許容量をすべて消費する可能性があります。
429 レスポンスでは、Retry-After を尊重してください。容量に関連する overloaded エラーでは、ジッター付き指数バックオフを適用し、プロダクトが別のモデルを安全に受け入れられる場合にのみ、文書化されたフォールバックリストを使用します。認証、バリデーション、またはクォータ設定のエラーを、一時的なエラーであるかのように再試行しないでください。現在のしきい値とレスポンスの意味については、Perplexity のレート制限と使用量ティアに関するガイダンスを参照してください。
上限付き再試行ポリシーの疑似コード:
for attempt in range(3):
try:
return call_perplexity()
except RateLimitError as error:
wait_seconds = retry_after_or_jittered_backoff(error, attempt)
sleep(wait_seconds)
except TransientCapacityError:
sleep(jittered_backoff(attempt))
raise ServiceTemporarilyUnavailable()
再試行回数は少なく抑え、エンドツーエンドのデッドラインを設定し、呼び出し元のフォールバック状態を可視化してください。遅い調査リクエストを 90 秒間のスピナーに変えてしまう再試行は、信頼性ではありません。
4. コスト、品質、鮮度をまとめてデバッグできる十分なログを取る
リクエスト ID、エンドポイントファミリー、モデル、effort レベル、ツールリスト、最初のトークンまでの時間、完了時間、トークンの内訳、ツール呼び出し数、HTTP ステータス、再試行回数、安全なエラー分類を追跡します。引用付きレスポンスでは、引用数とソースドメインを追跡します。Search では、クエリ数と結果数を追跡します。
これにより、「検索を有効にしたためレイテンシが上昇したのか?」「どのテナントがサンドボックスセッションに費用を使っているのか?」「フォールバックによって可用性は向上したが、引用カバレッジは低下したのか?」といった疑問に答えるための根拠が得られます。より一般的なアーキテクチャについては、AI API ゲートウェイガイドおよびLLM レート制限ガイドを参照してください。
5. レガシーコードがある場合は Sonar 移行を計画する
Perplexity の現行の移行ガイダンスによると、Sonar Chat Completions のサポートは 2026 年 9 月 27 日に終了しました。新規プロジェクトには Agent API を推奨しています。同期およびストリーミングのレガシーリクエストは段階的に再構成されていますが、非同期 Sonar リクエストはすでにサポートされていません。Sonar エンドポイントをまだ呼び出している場合は、本番環境で非同期処理の停止に気付くのではなく、今すぐ Agent API アダプターをテストしてください。移行ガイドを読む。
Perplexity API を直接使用するか、別のマルチモデルゲートウェイを使用するか?
機能が Perplexity 固有の Agent、Search、引用、effort レベル、または API の動作に依存する場合は、Perplexity AI API を直接統合してください。これにより、本番環境の契約が明確に保たれます。
別のマルチモデルゲートウェイは、そのゲートウェイが現在サポート対象として掲載しているモデルとエンドポイントに対してのみ使用してください。たとえば Flatkey は、サポート対象カタログ向けに https://router.flatkey.ai/v1 の OpenAI 互換ベース URL と、リクエスト単位の使用量ダッシュボードを文書化しています。プロバイダーまたはモデルが利用可能だと想定する前に、その公開モデルディレクトリをライブで確認する必要があります。Flatkey API クイックスタートから始めてください。
両方を必要とするチームでは、明示的に 2 つのクライアントを使用してください。
| 要件 | 推奨されるクライアント境界 |
|---|---|
| Perplexity のウェブに基づく調査と引用 | Perplexity Agent/Search の直接クライアント |
| 1 つの互換ベース URL と統合された使用量制御を備えた、サポート対象の Perplexity 以外のモデル | Flatkey クライアント |
| 1 つのワークフローで両方を必要とするプロダクト | 型付きアダプター、独立したモデル許可リスト、共通の可観測性イベントスキーマを備えたアプリケーションレベルのルーター |
現在のドキュメントでその経路が明示的にサポートされていない限り、直接の Perplexity エンドポイントを別のサービス経由でルーティングしないでください。目的は、すべての呼び出しを 1 つのレイヤーに強制的に通すことではありません。機能が実際に依存する能力と課金動作を維持することです。
本番ローンチチェックリスト
- [ ] 各機能で、Agent、Orchestrator、Search、Embeddings、Decisions のいずれかを意図的に選択している。
- [ ] API キーはサーバー側に置かれ、環境ごとにスコープ設定され、クライアントバンドルおよびログには含まれていない。
- [ ] Agent のベース URL(
/v1)と Orchestrator のベース URL(/orchestrator/v1)を取り違えていない。 - [ ] モデル ID と最新の料金表をリリースチェックで検証している。
- [ ] Web 検索は、引用付きの最新情報が有用な場合にのみ明示的に有効化している。
- [ ] 引用付きの応答には、ソースメタデータとレスポンス ID を保持している。
- [ ] コストイベントには、トークンの内訳とツールまたは検索の呼び出し回数が含まれている。
- [ ]
429ではRetry-Afterを尊重し、一時的な容量不足エラーにはジッター付きの上限付き指数バックオフを使用している。 - [ ] ポーリングはバックオフするか、ストリーミングまたは再接続の動作に置き換えている。
- [ ] 段階的なテストで、ソース品質、レイテンシー、コスト、リトライ動作、ユーザーに表示されるフォールバックを網羅している。
Perplexity AI API FAQ
Perplexity AI API は OpenAI SDK と互換性がありますか?
はい。ただし、対応する API 形式を選択してください。Agent API は https://api.perplexity.ai/v1 で OpenAI Responses 形式を使用し、Orchestrator API は https://api.perplexity.ai/orchestrator/v1 で Chat Completions を使用します。
すべての Agent API リクエストで Web 検索が行われ、引用が含まれますか?
いいえ。Perplexity は Web 検索をオプトインとして文書化しています。Web に基づく出力が必要な場合は、effort レベルまたは web_search ツールを追加してください。アプリケーションで引用を表示・監査できるよう、構造化出力を保持してください。
Perplexity AI API の料金はいくらですか?
選択する API サーフェス、モデル、トークン使用量、キャッシュ読み取り、推論トークン、ツールによって異なります。最新の公式料金表を使用し、実際のリクエスト使用量を計測してください。検索を有効にしたエージェントリクエストには、モデルトークンとツールコストの両方が含まれます。
レート制限エラーが発生した後はどうすればよいですか?
Retry-After を尊重し、新しいリクエストのペースを調整し、ジッター付きの上限付き指数バックオフを使用してください。積極的にポーリングしないでください。Agent API のポーリングは、組織で共有されるリクエスト制限にカウントされます。
次のステップ
まずは、引用付きのリサーチ回答、生の検索機能、または Chat Completions 互換のモデル呼び出しという、狭い本番ユースケースを 1 つから始めてください。トラフィックを拡大する前に計測を導入しましょう。アプリケーションの他の部分でも、1 つの OpenAI 互換クライアントの背後でサポート対象モデルが必要な場合は、Flatkey のモデルカタログを確認し、そのクライアント境界を明確に保ってください。



