Perplexity APIとは?料金・使い方・Bubble連携事例【2026年版】
はじめに
AI検索エンジンとして注目されるPerplexity(パープレキシティ)は、開発者向けにAPI Platformを提供しています。2026年8月26日時点の公式情報では、旧Sonar Chat CompletionsはAgent APIへ移行し、Search API、Embeddings APIなども提供されています。料金はモデル別トークン単価、検索コンテキスト別のリクエスト料、Search APIのリクエスト課金などを組み合わせて確認する必要があります。
一方で日本語の解説記事は、モデル名が旧世代のままだったり、料金情報が古かったり、n8n連携に偏っていたりと、一次情報として使いづらい状況があります。受託開発の現場でPerplexity APIをBubbleに組み込もうとすると、「Agent API、Sonar API、Search APIをどう使い分けるか」「出典URLをどう表示するか」「コストをどう見積もるか」といった実装判断で迷う読者が少なくありません。
本記事では、Perplexity APIの全体像から料金、APIキー取得、curlとPythonでの実装、Bubbleとのノーコード連携、他社APIとの比較、業務応用の事例までを解説します。開発者だけでなく、事業企画やマーケターが自社プロダクトへの組み込みを検討する際にも役立つ構成です。
- Perplexity APIは、Web検索に基づく出典付きの回答や検索結果を外部アプリから呼び出すためのAPIです。
- 用途に応じてAgent API・Search API・Embeddings APIなどを使い分けます。
- 料金はAPI種別・モデル・検索量で変わるため、公式の料金ページで最新条件を確認します。
- Bubbleからは API Connector で接続でき、小さな検証リクエストで応答形式とコストを先に確かめるのが安全です。
Perplexity APIとは?AI検索エンジンを外部アプリから呼び出す仕組み

Perplexity APIは「Web検索+LLM要約+出典URL提示」を外部アプリから呼び出すインターフェースです。学習データ範囲でしか回答できない一般的なLLM APIと違い、リアルタイムにWeb検索して参照ページを出典つきで返すため、信頼性重視の業務アプリに向きます。
APIは、Agent API、Search API、Embeddings API、レガシーのSonar APIなどに分かれます。いずれも公式ドキュメントに沿ってBearer認証で扱うため、BubbleのAPI Connector・Make・n8nからも連携を検討できます。
| 種別 | 主な用途 | 料金確認ポイント |
|---|---|---|
| Agent API | 複数モデルとWeb検索/URL取得などを組み合わせたエージェント処理 | モデル単価とツール実行単価を確認 |
| Search API | 検索結果一覧の取得、RAGの入力、エージェント | 1,000リクエストあたり5ドル |
| Sonar API | 出典付き回答、検索コンテキスト付きLLM応答 | モデル別トークン単価+検索コンテキスト別リクエスト料 |
| Embeddings API | RAGや社内検索向けのベクトル化 | モデル別の100万トークン単価 |
Perplexity APIの料金プラン【2026年最新版】

2026年8月26日時点のPerplexity APIは従量課金制です。Sonar APIはモデル別の入力/出力トークン単価に加え、検索コンテキストサイズごとのリクエスト料がかかります。Search APIは1,000リクエストあたり5ドルで、Agent APIはモデル単価とツール利用料を確認します。Pro個人プランの料金とAPI Platformの料金は別枠で確認してください。
| 対象 | 公式料金の例 | 注意点 |
|---|---|---|
| Sonar | 入力/出力とも100万トークンあたり1ドル | 検索コンテキスト別のリクエスト料も加算 |
| Sonar Pro | 入力100万トークンあたり3ドル、出力100万トークンあたり15ドル | Pro Search利用時はsearch_typeとリクエスト料を確認 |
| Sonar Reasoning Pro | 入力100万トークンあたり2ドル、出力100万トークンあたり8ドル | 推論用途でコストが変わる |
| Sonar Deep Research | 入力100万トークンあたり2ドル、出力100万トークンあたり8ドル、citation/search/reasoning単価あり | 検索クエリ数やreasoning tokensで費用が変わる |
| Search API | 1,000リクエストあたり5ドル | 成功したPOST /search単位で課金 |
上の表の金額は、公式のPricingで再確認した値です(確認日:2026-10-09。いずれも米ドル建ての従量課金で、税の扱いや請求条件は公式のBilling画面で確認してください)。
- Sonar APIはトークン費用と検索コンテキスト別リクエスト費用を合算して見積もる
- Search APIは1,000リクエストあたり5ドルで、トークン課金は別途発生しない
- Agent APIではweb_search、fetch_url、people_search、finance_search、sandboxなどのツール単価も確認する
- 購入方法や請求条件は公式DocsのAdmin/BillingとAPI Platformで常に最新版を確認する
本番導入前は公式のPerplexity API PlatformとPricing Docsで最新値を確認します。最初は低コストの構成で挙動確認し、品質要件に応じてSonar Pro、Reasoning系、Agent API、Search APIへ段階的に切り替えるのが現実的です。
Perplexity APIキーの取得手順

APIキーの取得手順や請求設定は管理画面の仕様変更を受けやすいため、公式DocsのAdmin & Managementを見ながら進めます。
- Perplexity公式サイトまたはAPI Platformにログインする
- API Platform/Projects/Billing関連の公式Docsを確認する
- 利用プロジェクト、請求設定、支払い方法を登録する
- 「API Keys」または管理画面のキー発行セクションでキーを作成する
- 本番投入前に上限、利用量、請求アラート、キーの保管場所を設定する
発行キーは`pplx-`始まりで表示は一度きり。パスワードマネージャへ即保管し、本番はサーバーサイドかBubble Backend Workflow経由で呼び出します。
Perplexity APIを導入する前に確認すること
キーを発行したら、実装に入る前に次の4点を決めておくと、後からの作り直しを減らせます。確認先はいずれも2026-10-09時点の公式Docsです。
| 確認項目 | 確認する内容 | 確認先 | Bubble連携での注意 |
|---|---|---|---|
| 使うAPIの種類 | 出典付き回答か、検索結果一覧か、ベクトル化か | 公式Docsの各API概要(Quickstart) | API Connectorにエンドポイントを分けて登録する |
| 旧形式からの移行 | 既存の呼び出しが新しい形式で動くか | 公式の移行ガイド(Migrate from Sonar) | レスポンスの項目名が変わる箇所を再初期化する |
| 応答方式 | 通常応答かストリーミングか | 公式Docsのストリーミング解説(Output Control) | 逐次表示が難しい場合は進捗表示で代替する |
| キーの管理 | キーの保管場所と利用上限の設定 | 公式の管理画面(API Key Management) | キーはサーバー側(Private設定)で扱う |
Perplexity APIの基本的な使い方(curl / Python)

レガシーSonar APIのChat Completions形式を使う場合は、`Authorization`ヘッダにAPIキーを載せ`model`と`messages`を含むJSONをPOSTします。新規実装では、公式DocsでAgent APIまたはSonar APIのどちらを使うか確認してからPythonやノーコードへ移植します。なお公式の移行ガイドでは、Sonar Chat Completionsのサポートは2026年9月27日に終了したと案内されています(確認日:2026-10-09)。以下の例は既存の連携を読み解くための参考として残し、移行の手順は次の見出しで説明します。
curl -X POST https://api.perplexity.ai/chat/completions \
-H "Authorization: Bearer $PPLX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sonar",
"messages": [
{"role": "system", "content": "You are a concise research assistant."},
{"role": "user", "content": "日本のノーコード市場の2026年動向を3行で教えて"}
]
}'
Pythonでは`requests`で同等のリクエストを送れます。
import os
import requests
response = requests.post(
"https://api.perplexity.ai/chat/completions",
headers={
"Authorization": f"Bearer {os.environ['PPLX_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "sonar-pro",
"messages": [
{"role": "user", "content": "Bubbleでチャットボットを作る手順を教えて"}
],
},
timeout=30,
)
data = response.json()
print(data["choices"][0]["message"]["content"])
print(data.get("citations"))
レスポンスには回答本文、参照URL、消費トークンや利用量情報が含まれる場合があります。実装時は公式レスポンス仕様に合わせ、`citations`などの出典情報を画面表示し、`usage`や請求情報をログで追える設計にしてください。
旧Sonar形式からAgent APIへ移行するときに変わること
Perplexity公式のMigrate from Sonarによると、Sonar Chat Completionsのサポートは2026年9月27日に終了しました。同期リクエストとストリーミングのリクエストは、モデルごとに順次Agent APIのリクエストへ読み替えて処理される形で動き続けますが、非同期のSonarリクエストはサポートされず、Agent APIのバックグラウンド実行へ移す必要があります。公式は、既存のSonar利用をAgent APIへ移し、新規開発もAgent APIで行うことを推奨しています(確認日:2026-10-09)。
リクエストとレスポンスの構造の違い
公式のHow to migrate from Sonarで示されている主な違いは次の通りです(確認日:2026-10-09)。
| 項目 | 旧Sonar(Chat Completions形式) | Agent API |
|---|---|---|
| エンドポイント | Chat Completions形式のエンドポイント | `POST https://api.perplexity.ai/v1/agent` |
| 入力 | `messages`配列 | `input`(文字列または型付きの配列) |
| モデル指定 | `model` | `preset` |
| システム指示 | `role`が`system`のメッセージ | トップレベルの`instructions` |
| 回答本文の場所 | `choices[0].message.content` | `output_text` |
| 出典 | 回答と出典情報を返す | 本文中の`[n]`と、`output`配列内で`type`が`search_results`の項目 |
| 最大出力 | `max_tokens` | `max_output_tokens` |
| 検索の絞り込み | `search_recency_filter`などのトップレベル項目 | `web_search`ツールの`filters`内へ移動 |
Agent APIの最小リクエストは、公式のAgent API Quickstartで次の形が示されています。
curl https://api.perplexity.ai/v1/agent \
-H "Authorization: Bearer $PERPLEXITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"preset": "low",
"input": "Bubbleで出典付きFAQボットを作るときの注意点を3つ教えて"
}'
モデル名の差し替えだけでは動かない箇所と、Bubbleで再設定する項目
旧形式の`model`の値だけを書き換えても、Agent APIでは入力と出力の項目名そのものが変わるため動きません。Bubble API Connectorでは、次の項目を作り直します。
- エンドポイントURL: Agent APIのURLへ変更し、旧形式のコールは別名で残して比較できるようにする
- JSONボディ: `messages`を`input`へ、systemメッセージを`instructions`へ書き換え、Dynamic valueの差し込み位置を付け直す
- Initialize call: レスポンス構造が変わるため、必ず再初期化して`output_text`や`output`の項目をBubbleに認識させ直す
- 画面の参照先: Repeating GroupやTextが旧項目(`choices`配下)を参照していると空表示になるため、新しい項目へ付け替える
- 出典の表示: `output`配列の中から検索結果の項目を取り出して出典カードに渡す設計へ変える
- 非同期処理: 旧形式の非同期呼び出しを使っていた場合は、Agent APIのバックグラウンド実行(`background: true`で送信し、IDで結果を取得)に組み直す
移行前後で同じ質問を投げて比べる検証手順
- 本番で多い質問を数件選び、旧形式と新形式のコールに同じ質問を投げる
- 出典URLの件数と中身、回答の長さ、日本語の自然さを並べて比べる
- レスポンスの`usage`で消費量を記録し、公式Pricingの単価で費用を試算する
- Bubble画面で回答本文と出典カードが正しく表示されるかを確認する
- 問題がなければ本番のワークフローの参照先を新しいコールへ切り替える
Bubble × Perplexity API連携:API Connector 実装手順【受託開発の実例】

弊社ではクライアント案件で、社内ナレッジ横断検索のFAQボットをBubbleで構築した実績があります。API Connectorで公式Docsに沿ったエンドポイントを登録し、Workflowから呼び出してRepeating Groupに結果を流し込めば、出典付き回答UIをノーコードで構築できます。APIキーは「Private key in header」で登録し、クライアントサイドへ流出させない設計が必須です。
{
"model": "sonar-pro",
"messages": [
{"role": "system", "content": "社内規程に基づいて回答してください"},
{"role": "user", "content": "<question>"}
]
}
上のJSONのquestion部分をDynamic valueへ置き換え、Return typeはJSONのまま保持します。回答文や出典配列のキーは利用APIによって変わるため、Bubble側では公式レスポンスを一度Initializeしてから、出典カードと回答本文を分けて表示します。実案件では回答キャッシュも併用しコストを抑えました。Bubbleの基礎設定はBubble API連携の基本ガイドも併読を。
ストリーミング応答でBubbleの待ち時間を短く見せる方法
Web検索を伴う回答は、生成が終わるまで画面が止まって見えがちです。回答を少しずつ表示するストリーミングを使うか、待ち時間の見せ方を工夫すると、利用者の体感を改善できます。
ストリーミングの仕組みと通常応答との違い
通常応答は、回答がすべて生成されてから1つのJSONとして返ります。ストリーミングは接続を開いたまま、生成された部分から順にサーバー送信イベント(SSE)として届きます。公式のOutput Controlによると、Agent APIではリクエストの`stream`を`true`にすると、`response.output_text.delta`イベントで本文の差分が届き、`response.completed`イベントで完了と利用量(`usage`)が通知されます。ストリーミングはAgent APIで使えるすべてのモデルで利用できると案内されています(確認日:2026-10-09)。
Agent APIでのストリーミングの呼び出し方
旧Sonar形式とは異なり、Agent APIのストリーミングは型付きのイベントで届きます。本文は`response.output_text.delta`だけを拾い、ツール呼び出しや推論の経過は別の種類のイベントとして届くため、本文の連結に混ぜないようにします。旧形式の`stream_mode`のような切り替えはなく、Agent APIでは常に型付きイベントの形式です。
Bubbleでは、API Connectorのデータ型に「Stream」を選び、外部APIへのリクエストで`stream`を`true`にすると、テキスト項目を「Push as text stream」として受け取れます。Bubble公式マニュアルのStreaming APIでは、受信中の文字列(Text so far)や完了状態(Is done)を画面に使えると説明されています(確認日:2026-10-09)。
ノーコード環境で逐次表示が難しい場合の代替(バックエンド処理+進捗表示)
Bubbleのマニュアルでは、ストリーミングの呼び出しはクライアント側では受信を始めた時点で「完了」扱いになり、サーバー側のアクションは受信が終わるまで待つと説明されています。初期化も通常のコールより時間がかかります。後続処理で回答全文を保存したい場合や、イベントの種類が多く画面に流し込みにくい場合は、次の代替が現実的です。
- Backend Workflowで通常応答のコールを実行し、回答と出典をデータベースへ保存する
- 画面には「検索中」「回答を作成中」などの進捗表示を出し、保存が終わったら結果を表示する
- 同じ質問はキャッシュした回答を返し、待ち時間そのものを減らす
Perplexity APIで作れるもの:活用事例5選

Perplexity APIは「検索結果や出典提示を組み込めること」が強みで、事実確認が重視される業務アプリに向きます。主なユースケースは以下の5つです。
- 社内ナレッジ検索ボット: 社内規程・議事録・業界ニュースを横断検索し、出典URL付きで回答
- 業務SaaSのリサーチ機能: CRMやMAツールから競合情報・市場動向を即時取得
- SEO記事ドラフト生成: キーワードから出典付きの記事構成案をCMSへ自動投入
- 学術・研究支援ダッシュボード: 論文要約と引用リスト化で調査工数を削減
- カスタマーサポートのAIサジェスト: 顧客質問から関連ページを自動推薦して一次回答を短縮
いずれもBubbleと組み合わせれば管理画面ごと構築できます。APIレスポンスを自社DBに蓄積すれば、生成AIに不慣れな現場担当者にも届くUIになります。
他社APIとの比較:ChatGPT / Gemini / Claude との違い

Perplexity APIはChatGPT・Gemini・Claude各APIと並ぶ選択肢ですが、得意分野が明確に分かれます。以下の軸で整理すると判断しやすくなります。
| 比較軸 | Perplexity API | ChatGPT API | Gemini API | Claude API |
|---|---|---|---|---|
| Web検索/取得 | Agent APIやSearch APIで検索・URL取得を組み込みやすい | Web検索ツールはAPI設計次第 | Google検索連携やGroundingの仕様確認が必要 | Web検索はツール経由の設計が必要 |
| 出典URLの提示 | `citations`等の出典情報を表示しやすい | ツール結果やプロンプト設計次第 | Grounding結果やプロンプト設計次第 | ツール結果やプロンプト設計次第 |
| 回答モデルの自由度 | Agent APIでは複数プロバイダー、Sonar APIではSonar系を利用 | GPT系 | Gemini系 | Claude系 |
| 日本語の自然さ | 用途ごとに検証が必要 | 用途ごとに検証が必要 | 用途ごとに検証が必要 | 用途ごとに検証が必要 |
| ノーコード連携の容易さ | REST + Bearerで連携しやすい | REST/API SDKで連携 | SDK/API仕様確認が必要 | REST/API SDKで連携 |
| 主な向き先 | 出典付きAI検索、検索結果取得、RAG | 汎用LLM・マルチモーダル | マルチモーダル・Google連携 | 長文・安全性・コーディング |
検索結果取得と出典提示が必要ならPerplexity、汎用LLM応答やマルチモーダル処理はChatGPT/Gemini/Claudeも含めて比較する、という整理です。弊社では検索系はPerplexity、長文推敲や画像解析は要件に応じて別APIと役割分担する設計を推奨します。
既存のOpenAI互換コードから切り替える場合の確認点
すでにOpenAI向けに書いたコードがある場合、接続先とキーを差し替えるだけで済む範囲と、書き直しが必要な範囲を先に切り分けます。以下は公式のOpenAI CompatibilityとQuickstartに基づく整理です(確認日:2026-10-09)。
OpenAI SDKを流用できる範囲
Agent APIは、OpenAI SDKのResponses API形式(`client.responses.create()`)に対応しています。OpenAI SDKの`base_url`を`https://api.perplexity.ai/v1`に変え、APIキーをPerplexityのものに差し替えて呼び出します。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["PERPLEXITY_API_KEY"],
base_url="https://api.perplexity.ai/v1",
)
既存コードがChat Completions形式(`messages`と`choices`)で書かれている場合は、Agent APIの形式へ書き換える必要があります。MCPツールの承認の既定値がOpenAIと異なる点も公式に明記されています。公式はPerplexity SDKの利用を推奨しており、OpenAI SDKは既存の連携を残したい場合の選択肢という位置づけです。Anthropic向けSDKとの互換については、公式Docsに案内がありません。
Router APIの位置づけ
Quickstartでは、Router APIは「Perplexityがホストするオープンウェイトモデルに1つのエンドポイントでアクセスする入口」と説明されており、OpenAIのChat Completions形式で`https://api.perplexity.ai/router/v1`を接続先にして呼び出します。OpenAI、Anthropic、Googleなど複数プロバイダーのモデルを使い分けたい場合は、Quickstartで複数プロバイダーのモデルに対応すると説明されているAgent APIを使います。
APIキーはサーバー側で管理する
公式のAPI Key Managementでは、キーを環境変数やシークレット管理の仕組みに保存し、ソースコード、クライアント側のコード、公開リポジトリ、ログ、URLに含めないよう求めています。キーは作成時に一度しか表示されず、失効させたキーは元に戻せません。Bubbleでは API Connector の認証を「Private key in header」にし、キーをブラウザへ送らない設定で使います。切り替え時は新しいキーを先に反映し、動作確認後に古いキーを失効させます。
Perplexity APIのデメリットと自社の解決策

便利なAPIにも弱点はあります。主な課題と対策は次の通りです。
- API種別の選定: Agent API、Sonar API、Search APIの料金体系が異なるため、用途別に分ける
- 日本語ソース偏り: system promptで「日本語ソース優先」指定、別LLMや人手で後段推敲する二段構成にする
- 従量課金コスト: 同一質問キャッシュ・重複排除・search context sizeの調整・利用量ログで安定化する
ポイント: デメリットは「Perplexity単独で全部やろう」とすると顕在化します。検索・推敲・画像生成を役割分担すれば、出典提示の強みを活かしつつ弱点を他LLMで補えます。
よくある質問 (FAQ)
- Q1. Perplexity APIはいくらから使えますか?: Search APIは1,000リクエストあたり5ドル、Sonar APIはモデル別トークン単価とリクエスト料の合算です。初期購入額や支払い方法は公式Billing画面で確認してください。
- Q2. APIに送ったデータは学習に使われますか?: 本番運用では、公式のPrivacy/Security、Terms、契約条件を自社で確認してください。
- Q3. Bubbleから呼ぶと遅くなりませんか?: Web検索や外部URL取得を伴う処理は時間がかかることがあります。Bubble側でローディング表示、長い処理はBackend Workflowに逃がすと体感速度が改善します。
- Q4. 最初に選ぶべきAPIは?: 検索結果一覧が必要ならSearch API、出典付き回答ならSonar API/Agent API、社内検索のベクトル化ならEmbeddings APIを検討します。
Sonar APIで作った既存の連携は、そのまま使い続けられますか?
公式の案内では、Sonar Chat Completionsのサポートは2026年9月27日に終了し、同期とストリーミングのリクエストはモデルごとに順次Agent APIのリクエストへ読み替えて動き続けるとされています。非同期のリクエストは使えなくなっています。提供状況は変わる可能性があるため公式の移行ガイドで最新の案内を確認し、移行時はレスポンス項目の変化に合わせてBubbleの連携設定(Initializeと画面の参照先)を見直してください(確認日:2026-10-09)。
Perplexity APIの回答をBubbleで少しずつ表示できますか?
Agent APIにはストリーミング応答の仕組みがあり、BubbleのAPI Connectorにもデータ型「Stream」があります。ただし、受信開始の時点でワークフロー上は完了扱いになるなど、ノーコード側の表示や後続処理に制約があります。回答の保存や後続処理が必要な場合は、Backend Workflowで処理して進捗表示を出す設計も検討してください。
OpenAI向けに書いたコードをPerplexity APIに流用できますか?
Agent APIはOpenAI SDKのResponses API形式に対応しており、`base_url`とAPIキーを差し替えて呼び出せると案内されています。Chat Completions形式で書いたコードはそのままでは動かない部分があるため、公式DocsのOpenAI Compatibilityで対応範囲を確認してから、接続先とキーを切り替えてください。
まとめ
Perplexity APIは、AI検索エンジンの検索結果取得や出典付き回答を外部アプリから利用できるAPIです。2026年8月26日時点では、Agent API、Search API、Sonar API、Embeddings APIなどの料金体系を分けて確認する必要があります。実運用では、API種別、モデル、検索コンテキスト、ツール利用、利用量ログを設計段階で決めておきましょう。
料金はSonar系モデルの従量課金だけでなく、Search APIやAgent APIのツール課金もあります。APIキー発行や請求設定は公式DocsのAdmin/Billingに従い、curl・Python・ノーコードのいずれでも、まず小さな検証リクエストでレスポンス形式とコストを確認してください。BubbleのAPI Connectorと組み合わせれば、出典付きFAQボットや社内ナレッジ検索をノーコードで構築できます。
他社APIとの比較では、検索結果取得と出典提示が必要な場面でPerplexity APIが候補になります。モデル選択肢、日本語の微調整、マルチモーダル処理はChatGPT、Gemini、Claudeと比較し、APIを役割で使い分ける設計が現実解です。「出典付きAI検索」を自社に組み込みたい、Bubbleでプロトタイプを作りたい方は、公式Docsで料金と仕様を確認したうえで検証を始めましょう。

ビジネスの課題解決をサポートします
- システム開発を短期間でコストを抑えて作りたい
- システムのDX推進を進めていきたい
- 社内の業務効率化を進めたい



