blog

Perplexity API(Sonar)の使い方|料金・始め方【2026年版】

監修

河合 継(クリスタルメソッド株式会社 代表取締役)

AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について編集方針

Perplexity APIとは何か――検索連動型AIの開発基盤を理解する

Perplexity APIは、リアルタイムWeb検索と大規模言語モデル(LLM)を組み合わせた推論機能を、外部アプリケーションに組み込むためのインターフェースです。通常のLLM APIが学習データの知識範囲内でしか回答できないのに対し、Perplexity APIは回答生成時にインターネット検索を実行し、最新情報を引用付きで返すことが最大の特徴です。自社でも複数のAI APIを実務検証してきましたが、「知識カットオフの壁を破れる」という点でPerplexity APIは独自のポジションを持っています。本記事ではエンドポイントの構造・モデル選択・料金・実装例・ユースケースまでを徹底解説します。

Perplexity APIの概念:Web検索と言語モデルが融合して回答を生成するイメージ
Perplexity APIの概念:Web検索と言語モデルが融合して回答を生成するイメージ

Perplexity APIの基本構造とエンドポイント

Perplexity APIはOpenAI互換のREST APIとして設計されており、既存のOpenAIクライアントライブラリをほぼそのまま流用できます。ベースURLは https://api.perplexity.ai で、主要エンドポイントは /chat/completions の1本です。

リクエストの基本形

HTTPリクエストの構造はOpenAIの /v1/chat/completions と同等で、modelmessagestemperature などのパラメータをJSONで渡します。認証はBearerトークン方式で、APIキーをAuthorizationヘッダーに含めます。

curl https://api.perplexity.ai/chat/completions \
  -H "Authorization: Bearer $PPLX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sonar",
    "messages": [
      {"role": "system", "content": "日本語で回答してください。"},
      {"role": "user", "content": "2026年のAI規制の最新動向を教えてください。"}
    ],
    "temperature": 0.2,
    "return_citations": true
  }'

return_citations: true を指定すると、回答テキスト中に引用番号が挿入され、レスポンスの citations 配列に参照URLが格納されます。これにより、出力の情報ソースをユーザーが確認できる透明性の高いアプリケーションを構築できます。

レスポンス構造

フィールド 説明
id string リクエストID
model string 使用されたモデル名
choices[].message.content string 生成されたテキスト(引用番号付き)
citations array 参照WebページのURL一覧(return_citations時)
usage.prompt_tokens integer 入力トークン数(課金対象)
usage.completion_tokens integer 出力トークン数(課金対象)

利用可能なモデルの種類と使い分け

Perplexity APIの中核は自社開発の「Sonarシリーズ(検索連動)」です。Perplexityは独自の汎用フラッグシップLLMを競合させる会社ではなく、検索特化のSonar系モデルを軸に据えた「回答エンジン」が本体です。2026年時点で提供されている主要モデルは以下の通りです(出典:Perplexity公式モデル一覧)。

モデル名 Web検索 コンテキスト長 特徴 主な用途
sonar 128K 軽量・高速・低コスト 日常的な情報収集、チャットbot
sonar-pro 約200K 高精度・マルチステップ推論・vision対応 リサーチアシスタント、レポート生成
sonar-reasoning-pro 約128K Chain of Thought(CoT)推論+Web検索 高度なリサーチ・金融・法律など専門領域
sonar-deep-research 128K 自律的に複数ソースを探索・統合し長文レポートを生成 調査報告書、市場分析
r1-1776 128K DeepSeek R1ベース・オフライン センシティブなデータ処理・内部文書分析

自社での検証では、速度とコストのバランスが求められる社内チャットbotには sonar、競合調査や市場レポートの自動生成には sonar-pro または sonar-deep-research が実用的でした。多段階の推論が必要な分析タスクには sonar-reasoning-pro が回答品質の面で優れていましたが、レスポンス時間が数秒長くなる点は考慮が必要です。

なお、各モデルの性能をGPT系やClaude、Geminiなどと横断比較する場合は、LLMの比較記事も参考にしてください。Perplexityモデルの「Web検索付き」という特性を他社LLMのスペックと並べる際の視点が整理されています。

料金体系と費用のコントロール

Perplexity APIはトークン従量課金制で、Web検索リクエスト課金が別建てとなっています。2026年時点の公式料金(USD)は以下の通りです(為替・改定により変動する場合があります。必ず公式ドキュメントを確認してください)。

モデル 入力トークン(1M当たり) 出力トークン(1M当たり) リクエスト課金(1,000req当たり)
sonar $1.00 $1.00 $5〜$12(low〜high context)
sonar-pro $3.00 $15.00 $6〜$14(low〜high context)
sonar-reasoning-pro $2.00 $8.00 別途リクエスト課金あり
sonar-deep-research $2.00 $8.00 citation $2 / reasoning $3 / 検索 $5 per 1,000 queries(追加)
r1-1776(オフライン) $2.00 $8.00 なし

なお、sonar-deep-research はcitation課金が別途発生する唯一のモデルです(2026年時点。他のSonarモデルはcitation課金なし)。また、Pro Searchモード(API)を利用する場合は約$14〜$22 / 1,000 queriesのリクエスト課金が加算されます。トークン単価とリクエスト課金は独立した課金軸である点に注意してください。

コスト最適化のポイントは以下の3点です。

  • システムプロンプトの簡潔化:毎リクエストで消費される入力トークンを削減するため、system promptは必要最小限に絞る。冗長な指示文は月間コストに直接響きます。
  • モデルの使い分け:最新情報が不要なタスク(文章整形、要約など)にはWeb検索不要のモデルや他社API(OpenAIなど)を活用し、Perplexityは「検索が必要な場面」に特化させる。
  • max_tokensの明示:出力長の上限を指定しないと、モデルが必要以上に長い回答を生成してコストが膨らむ。用途に合わせて設定する。

APIキーの取得と初期セットアップ

以下の手順でAPIキーを取得し、最初のリクエストを送るまでの流れを整理します。

Step 1
Perplexityアカウント作成
perplexity.aiにサインアップ

Step 2
APIダッシュボードへ移動
Settings → API

Step 3
「Generate API Key」
キーを安全に保存

Step 4
クレジット購入
(Pay-as-you-go)

Step 5
環境変数に設定
PPLX_API_KEY

APIキーは絶対にコードにハードコードせず、環境変数(.envファイル+dotenv等)で管理してください。Gitリポジトリへのキー漏洩は深刻なセキュリティリスクになります。

なお、Proプラン(月額$20、約3,000円)に加入すると月$5分のAPIクレジットが付与されるため、小規模な検証用途であれば実質的な追加コストを抑えて始められます。

Pythonでの実装例――実用的なコードパターン

基本的なリクエスト(OpenAIライブラリ流用)

Perplexity APIはOpenAI SDKのベースURLを差し替えるだけで利用できます。

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ.get("PPLX_API_KEY"),
    base_url="https://api.perplexity.ai"
)

response = client.chat.completions.create(
    model="sonar-pro",
    messages=[
        {"role": "system", "content": "日本語で簡潔に回答してください。"},
        {"role": "user", "content": "2026年の生成AI市場規模と主要プレイヤーを教えてください。"}
    ],
    temperature=0.2,
    max_tokens=1024,
    extra_body={"return_citations": True}
)

print(response.choices[0].message.content)
# citations はextra属性として返される
if hasattr(response, "citations"):
    for i, url in enumerate(response.citations, 1):
        print(f"[{i}] {url}")

ストリーミング出力

長い回答をチャットUI等でリアルタイム表示する場合は stream=True を使います。

stream = client.chat.completions.create(
    model="sonar",
    messages=[{"role": "user", "content": "最新のAI規制動向を解説してください。"}],
    stream=True
)

for chunk in stream:
    delta = chunk.choices[0].delta
    if delta.content:
        print(delta.content, end="", flush=True)

検索ドメイン絞り込み(search_domain_filter)

特定のドメインのみを検索対象にしたり、除外したりすることができます。信頼性の高い情報源に絞ってRAGを構築したい場合に有効です。

response = client.chat.completions.create(
    model="sonar-pro",
    messages=[{"role": "user", "content": "日本の個人情報保護法の最新改正内容を教えてください。"}],
    extra_body={
        "return_citations": True,
        "search_domain_filter": ["ppc.go.jp", "meti.go.jp"],  # 政府サイトのみ
    }
)

主要なAPIパラメータ詳解

パラメータ デフォルト 説明
model string 必須 使用するモデル名
messages array 必須 会話履歴(system/user/assistant)
temperature float 0.2 出力の多様性。0に近いほど安定・決定論的
top_p float 0.9 nucleus samplingの確率閾値
max_tokens integer 最大出力トークン数(コスト管理に重要)
stream boolean false ストリーミング出力の有効化
return_citations boolean false 引用URLの返却(Sonarモデルのみ)
search_domain_filter array [] 検索対象ドメインの絞り込み・除外
return_images boolean false 検索結果の画像URLを返却
search_recency_filter string 検索結果の新しさ絞り込み(day/week/month/year)

実務で特に重要なのは search_recency_filter です。たとえば「今週のニュース」を対象にしたい場合は "week" を指定することで、古い情報が混入するリスクを下げられます。市況や規制情報を扱うシステムでは積極的に使用してください。

実用的なユースケースと実装パターン

1. リアルタイム情報収集・要約ボット

競合情報、業界ニュース、法改正情報などを日次で自動収集しSlackやメールに配信するパイプラインに活用できます。自社では「毎朝、特定業界の前日ニュースを収集→sonar-proで要約→社内Slackへ投稿」というワークフローを構築しており、情報収集工数を大幅に削減しています。システムプロンプトで「箇条書き3点以内で要約」等を指定すると安定したフォーマットが得られます。

2. RAGの検索レイヤー代替

社内ナレッジベースにない最新の外部情報が必要な場合、Perplexity APIを「外部検索エージェント」として位置づけ、自社のRAGパイプラインに組み込む構成が有効です。LangChainやLlamaIndexと組み合わせ、「社内ドキュメント検索」と「Perplexity外部検索」を並行実行してコンテキストに統合するパターンが実績ある設計です。

3. 引用付きコンテンツ生成

マーケティング・PR用のブログ記事や調査レポートのドラフト生成では、引用URLが自動付与されるため、ファクトチェックのコストが下がります。ただし、生成されたテキストをそのまま公開することは推奨しません。引用URLを人間が検証し、情報の正確性を確認するプロセスは必須です。

4. カスタマーサポートの知識補完

FAQ・マニュアルの範囲外の質問に対し、Perplexity APIを「外部知識ゲートウェイ」として使い、最新の製品情報・サービス情報を取得してサポートエージェントに提供する構成です。search_domain_filter で自社ドメインや公式サイトのみに絞ることで回答品質を安定させられます。

Perplexity APIを活用した情報収集・要約パイプラインのイメージ
Perplexity APIを活用した情報収集・要約パイプラインのイメージ

エラーハンドリングとレート制限

Perplexity APIには1分あたりのリクエスト数(RPM)と1日あたりのリクエスト数(RPD)の制限があります。詳細はプランや利用状況により異なりますが、主なHTTPエラーコードと対処法は以下の通りです。

ステータスコード 原因 対処法
400 不正なリクエスト(パラメータ誤り) リクエストJSONとモデル名を確認
401 認証エラー(APIキー無効) APIキーを再確認・再発行
429 レート制限超過 Exponential backoffで再試行
500 サーバーエラー 数秒後に再試行、継続する場合はサポートへ
503 サービス一時停止 ステータスページを確認し待機

本番環境では429エラーに対するExponential backoff(再試行間隔を指数的に伸ばす)の実装が必須です。以下はシンプルなPython実装例です。

import time
import random

def call_with_backoff(client, **kwargs, max_retries=5):
    for attempt in range(max_retries):
        try:
            return client.chat.completions.create(**kwargs)
        except Exception as e:
            if "429" in str(e) and attempt < max_retries - 1:
                wait = (2 ** attempt) + random.uniform(0, 1)
                time.sleep(wait)
            else:
                raise

他のAI APIとの比較上の位置づけ

Perplexity APIの最大の強みは「Web検索と推論の一体化」であり、OpenAI APIやAnthropic Claude APIが学習データに依存するのとは根本的に異なります。ただし、高度なコーディング生成・長文の創作・複雑なマルチモーダル処理では、専門特化型のモデルに一長一短があります。

実務では「タスク性質でAPIを使い分ける」アーキテクチャが最も効果的です。最新情報の取得・引用付き回答が必要な場面ではPerplexity API(Sonar系)、コード生成や論理パズルにはGPT系やClaude、大量テキストの一括処理にはコスト優先で軽量モデルを使うといった組み合わせが実際の運用で機能しています。LLM全体の横断比較はLLM比較の詳細記事を参照してください。

セキュリティと運用上の注意点

  • 機密情報の入力禁止:ユーザーが入力したテキストはPerplexityのサーバーに送信されます。個人情報・機密データ・営業秘密を含むプロンプトは送信しないよう、アプリケーション層でフィルタリングを実装してください。
  • プロンプトインジェクション対策:ユーザー入力をそのままプロンプトに挿入する設計は危険です。入力のサニタイズと、system promptでの権限境界の明確化が必要です。
  • APIキーのローテーション:定期的にAPIキーを再生成し、古いキーを失効させる運用を取り入れてください。
  • 出力の検証:Web検索を経由した回答は最新情報を含む反面、誤った情報を引用する可能性もあります。重要な判断に使う場合は人間によるファクトチェックを必ず挟んでください。

まとめ

Perplexity APIは、OpenAI互換の使いやすいインターフェースでWeb検索連動型の回答を実現する、現時点で独自の価値を持つAPIです。中核を担うのは検索特化の自社Sonarシリーズで、軽量な Sonar から長コンテキスト対応の旗艦 Sonar Pro、CoT推論付きの Sonar Reasoning Pro、徹底調査型の Sonar Deep Research まで用途に応じて選択できます。リアルタイム情報収集、引用付きコンテンツ生成、RAGの外部検索レイヤーなど、「知識カットオフのないAI機能」を必要とするあらゆるユースケースで実力を発揮します。

運用においては、モデルの使い分けによるコスト最適化(トークン課金とリクエスト課金の両軸を意識)、エラーハンドリングの堅牢化、そしてセキュリティポリシーの整備が成功の鍵です。まずは sonar モデルで小規模なプロトタイプを作り、用途に応じて上位モデルへのアップグレードを検討するアプローチが、無駄なコストを抑えながら実用性を確かめる最短経路です。

関連記事

参考文献

    AIブログ購読

     
    クリスタルメソッドがお届けする
    AIブログの更新通知を受け取る

    Study about AI

    AIについて学ぶ

    • ChatGPT スーパーアプリ活用のメリットと注意点——日本企業の導入判断ガイド

      ChatGPT スーパーアプリ活用のメリットと注意点——日本企業の導入判断ガイド

      監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...

    • Ollama AIエージェント完全ガイド――構築・選定・運用の要点

      Ollama AIエージェント完全ガイド――構築・選定・運用の要点

      監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...

    • ollama rag 構築の完全ガイド|設計・実装・本番運用まで

      ollama rag 構築の完全ガイド|設計・実装・本番運用まで

      監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...

    View more