未分類

【Perplexity③】Sonar API実装ガイド|Python実装コード付き2026年版

【Perplexity深掘り③】Perplexity API活用:自社サービスへの検索AI組み込み方【実装コード付き】

Perplexityシリーズ第3回は、開発者・起業家・副業エンジニア向けの実践編です。「Perplexityの検索AI機能を自分のサービスに組み込みたい」という方に向けて、APIキーの取得から実際のPython実装例、コスト管理の考え方まで丁寧に解説します。

本シリーズのバックナンバー:
①全機能解説:Perplexity Proの真の実力
②深掘りリサーチ術:ビジネス調査・競合分析を10分で完成
③Perplexity API活用:自社サービスへの検索AI組み込み方(本記事)


目次

  1. Perplexity APIとは?「検索×生成AI」をワンセットで使える強み
  2. 2026年版APIモデルと料金体系:Sonar/Sonar Pro/Deep Researchを使い分ける
  3. APIキーの取得と初期設定(5分で完了)
  4. 基本実装:PythonでSonar APIを呼び出す
  5. 実践ユースケース3選:こんなサービスに組み込める
  6. コスト試算と最適化のポイント
  7. 注意点・制限事項:導入前に知っておくべきこと
  8. よくある質問(FAQ)
  9. まとめ:Perplexity APIが向いているサービス・向いていないサービス

1. Perplexity APIとは?「検索×生成AI」をワンセットで使える強み

Perplexity APIとは、Perplexityが提供するSonar APIシリーズのことです。一般的なLLM APIとの最大の違いは、リアルタイムWebサーチ機能が標準搭載されている点です。

通常のLLM APIとの比較

機能 通常のLLM API(GPT等) Perplexity Sonar API
テキスト生成
リアルタイムWeb検索 ❌(別途実装が必要) ✅(標準搭載)
情報ソースの引用 ✅(URLつきで自動引用)
最新情報への対応 ❌(学習データの制限あり)
セットアップの複雑さ 低(検索連携が不要)

たとえば「最新の株価情報をもとに投資アドバイスをする機能」「今日のニュースを要約してユーザーに届ける機能」「競合他社の最新動向をリサーチしてレポートする機能」——これらはすべて、従来のLLM単体では実現できなかった機能ですが、Perplexity APIなら追加の検索システム構築なしで実装できます。

Perplexity Sonar APIの仕組みと通常LLM APIとの違い

2. 2026年版APIモデルと料金体系:Sonar/Sonar Pro/Deep Researchを使い分ける

Perplexity APIには複数のモデルがあります。用途に合わせて選ぶことがコスト最適化の鍵です。

注意: 以下の料金はすべてドル表記です。為替レートにより実際のお支払額は変動します。また料金は変動する可能性がありますので、最新情報は公式ドキュメントでご確認ください。

Sonar APIシリーズ料金(2026年4〜5月時点)

モデル 入力トークン 出力トークン リクエスト料金 向いている用途
Sonar(ベース) $1 / 1M tokens $1 / 1M tokens $5 / 1,000 requests 簡単な情報検索・FAQ対応
Sonar Pro $3 / 1M tokens $15 / 1M tokens $5〜 / 1,000 requests 詳細リサーチ・複雑な質問応答
Sonar Reasoning $1 / 1M tokens $5 / 1M tokens $5 / 1,000 requests 論理的推論が必要な処理
Sonar Deep Research $2 / 1M tokens $8 / 1M tokens 別途 深掘り調査・長文レポート生成

Search API(合成なし・生の検索結果のみ)

  • $5 / 1,000 requests(トークン課金なし)
  • ユーザーへの表示用検索結果を取得したいだけの場合に有効

Agentic Research API(2026年新登場)

  • 他社モデル(OpenAI・Anthropic等)を直接使いつつ、Perplexityの検索機能だけ借りる形態
  • $0.005 / Webサーチ(モデルの利用料は別途)

コスト感覚をつかむ目安

1,000文字(約700tokens)の質問に対して500文字(350tokens)の回答を返す場合:
Sonarベース:約$0.001〜0.002(約0.1〜0.2セント)
Sonar Pro:約$0.007〜0.010(約0.7〜1セント)

日本語サービスで月1万クエリを処理しても、Sonarベースなら概算月$10〜20程度から始められます。

【PR】Perplexity Pro($20/月〜)に加入すると、Sonar APIクレジット$5相当が毎月付与されます。まずAPIをテストしてみたい方に最適です。7日間無料トライアルあり。(料金は変動する可能性があります)
Perplexity Proを試してみる → (PR)


3. APIキーの取得と初期設定(5分で完了)

ステップ1:APIキーの取得

  1. Perplexity公式サイトにアクセスしてアカウントを作成
  2. 左メニューの「API」または pplx.ai/settings からAPI設定ページへ
  3. 「Generate API Key」をクリックしてAPIキーを発行
  4. クレジットカードを登録し、API利用のための残高をチャージ(最小$5〜)

ステップ2:開発環境の準備

Pythonを使う場合、以下のパッケージをインストールします。

pip install requests python-dotenv

環境変数でAPIキーを管理する場合(推奨):

# .envファイルを作成
PERPLEXITY_API_KEY=pplx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ステップ3:接続テスト

import os
import requests
from dotenv import load_dotenv

load_dotenv()

api_key = os.getenv("PERPLEXITY_API_KEY")
headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json"
}

# 接続テスト用の簡単なリクエスト
payload = {
    "model": "sonar",
    "messages": [
        {"role": "user", "content": "今日の日付を教えてください"}
    ]
}

response = requests.post(
    "https://api.perplexity.ai/chat/completions",
    headers=headers,
    json=payload
)

print(response.json()["choices"][0]["message"]["content"])

このコードが動けば、API接続は完了です。

【PR】APIを試す前にPerplexity Proに加入しておくと、毎月$5分のAPIクレジットがもらえます。テスト段階のコストをカバーできてお得です。(料金は変動する可能性があります)
Perplexity Proに加入してAPIクレジットをもらう → (PR)


4. 基本実装:PythonでSonar APIを呼び出す

基本的なAPI呼び出しコード(全文)

import os
import requests
import json
from dotenv import load_dotenv

load_dotenv()

def search_with_perplexity(query: str, model: str = "sonar-pro") -> dict:
    """
    Perplexity Sonar APIを使ってリアルタイム検索付き回答を取得する

    Args:
        query: ユーザーの質問文
        model: 使用するモデル(sonar / sonar-pro / sonar-reasoning)

    Returns:
        回答テキストと引用URLのdict
    """
    api_key = os.getenv("PERPLEXITY_API_KEY")

    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    payload = {
        "model": model,
        "messages": [
            {
                "role": "system",
                "content": (
                    "あなたは日本語で回答する優秀なリサーチアシスタントです。"
                    "最新情報を引用し、根拠を明示しながら正確に回答してください。"
                )
            },
            {
                "role": "user",
                "content": query
            }
        ],
        "max_tokens": 1024,
        "temperature": 0.2,  # 事実確認系は低めに設定
        "return_citations": True,  # 引用URLを含める
    }

    response = requests.post(
        "https://api.perplexity.ai/chat/completions",
        headers=headers,
        json=payload
    )

    if response.status_code != 200:
        raise Exception(f"API Error: {response.status_code} - {response.text}")

    result = response.json()
    answer = result["choices"][0]["message"]["content"]
    citations = result.get("citations", [])

    return {
        "answer": answer,
        "citations": citations,
        "model": model,
        "usage": result.get("usage", {})
    }


# 使用例
if __name__ == "__main__":
    result = search_with_perplexity(
        "2026年5月の日本の主要ECモール(楽天・Amazon・Yahoo!)の最新トレンドを教えてください"
    )

    print("=== 回答 ===")
    print(result["answer"])
    print("\n=== 引用元 ===")
    for i, url in enumerate(result["citations"], 1):
        print(f"{i}. {url}")
    print(f"\n=== トークン使用量 ===")
    print(result["usage"])
Perplexity API実装フローとレスポンス構造の図解

ストリーミングレスポンスの実装(大きな回答向け)

長文レポートを生成する場合、ストリーミング(逐次出力)を使うと体験が向上します。

def stream_search(query: str, model: str = "sonar-pro"):
    """ストリーミングで回答を逐次表示する"""
    api_key = os.getenv("PERPLEXITY_API_KEY")

    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    payload = {
        "model": model,
        "messages": [{"role": "user", "content": query}],
        "stream": True,  # ストリーミングを有効化
    }

    with requests.post(
        "https://api.perplexity.ai/chat/completions",
        headers=headers,
        json=payload,
        stream=True
    ) as response:
        for line in response.iter_lines():
            if line and line.startswith(b"data: "):
                data = line[6:]
                if data == b"[DONE]":
                    break
                chunk = json.loads(data)
                delta = chunk["choices"][0].get("delta", {})
                if "content" in delta:
                    print(delta["content"], end="", flush=True)
    print()  # 改行

5. 実践ユースケース3選:こんなサービスに組み込める

ユースケース①:EC・物販向け「リアルタイム競合価格モニタリング」

def monitor_competitor_prices(product_name: str, category: str) -> str:
    """指定商品カテゴリの競合価格を自動調査する"""
    query = f"""
    {product_name}({category}カテゴリ)の2026年5月現在の
    楽天・Amazon・Yahoo!ショッピングでの平均販売価格、
    人気商品のレビュー傾向、最新の売れ筋キーワードを教えてください。
    """
    return search_with_perplexity(query, model="sonar-pro")

活用例: ECショップ運営者がダッシュボードから毎日自動で競合価格レポートを取得し、仕入れ値や販売価格の調整に活用。

ユースケース②:BtoBサービス向け「業界ニュース自動サマリー機能」

def summarize_industry_news(industry: str, days: int = 7) -> str:
    """指定業界の直近ニュースを要約する"""
    query = f"""
    {industry}業界の直近{days}日間の重要ニュースを5件まとめてください。
    各ニュースについて:タイトル、概要(100文字以内)、ビジネスへの影響を記載してください。
    必ず信頼できる情報源のURLを引用してください。
    """
    return search_with_perplexity(query, model="sonar")

活用例: SaaSダッシュボードに「今週の業界ニュース」ウィジェットを追加。ユーザーが朝一番に業界動向を把握できるサービス差別化機能として実装。

ユースケース③:不動産・金融向け「規制・法改正チェッカー」

def check_regulation_updates(regulation_topic: str, region: str = "日本") -> str:
    """特定テーマの最新規制・法改正情報を取得する"""
    query = f"""
    {region}における{regulation_topic}に関する
    2026年の最新の法改正・規制変更・ガイドライン更新情報を教えてください。
    施行日、変更の要点、影響を受ける業者・個人が対応すべきことを
    根拠となる公式情報源とともに教えてください。
    """
    return search_with_perplexity(query, model="sonar-pro")

活用例: 税理士・不動産業者向けツールに「今月の法改正チェック」機能として組み込む。手動リサーチが不要になり、サービスの付加価値を高める。

Perplexity APIの3つの実践ユースケースをまとめたイメージ

6. コスト試算と最適化のポイント

月間コスト試算例

小規模サービス(月1万クエリ・平均700入力トークン / 350出力トークン):

モデル トークン料金 リクエスト料金 合計(概算)
Sonar $7 + $3.5 = $10.5 $50 約$60
Sonar Pro $21 + $52.5 = $73.5 $50〜 約$120〜

コストを抑える3つのポイント:

  1. モデルの使い分け:単純なFAQ・定型検索はSonarベース($1/$1)、詳細分析・競合調査はSonar Pro($3/$15)と使い分けるだけでコストを大幅削減できます

  2. キャッシュの活用:同じクエリや類似クエリが多いサービスでは、Redisなどを使ってレスポンスをキャッシュ。全体コストを20〜40%削減できます

  3. systemプロンプトの最適化:毎回のリクエストに含めるsystem部分が長いとトークン消費が増えます。できるだけ簡潔にまとめ、ユーザーの質問部分(user)のみに情報を集中させましょう


7. 注意点・制限事項:導入前に知っておくべきこと

注意点1:ProサブスクリプションとAPIは別物

Perplexity Pro($20/月)はWeb UIでの使い放題サブスクリプションです。APIは別途従量課金となります。ProにはAPIクレジット$5分が付与されますが、本番運用には追加チャージが必要です。

注意点2:ファインチューニング・画像入力は現時点で非対応

2026年5月時点で、Sonar APIはモデルのファインチューニングや画像入力(マルチモーダル)には対応していません。自社データで特化させたい場合や画像を扱う場合は、OpenAI APIやAnthropic APIとの組み合わせを検討してください。

注意点3:利用規約・著作権への配慮

Perplexityが引用する情報源の著作権は原著者に帰属します。API経由で取得した回答・引用情報を自社サービスで提供する際は、利用規約を確認し、情報ソースの適切な開示を行いましょう。

注意点4:日本語品質のばらつき

英語クエリと比較して日本語クエリでは、検索精度や回答品質にばらつきが出る場合があります。重要な情報は引用元を必ず確認し、不正確な情報が配信されないようバリデーションの仕組みを実装することをおすすめします。


8. よくある質問(FAQ)

Q1. PythonのopenAIライブラリでPerplexity APIを使えますか?

はい、使えます。Perplexity APIはOpenAI互換のインターフェースを提供しているため、base_url="https://api.perplexity.ai"に変更するだけでほぼそのまま動作します。ただし一部パラメータの挙動が異なる場合があるため、本番環境では動作確認を行ってください。

Q2. レート制限はありますか?

あります。プランやモデルによって異なります。本番運用前に公式ドキュメントでレート制限を確認し、リトライロジックの実装を忘れないようにしましょう。

Q3. APIキーの管理で気をつけることは?

絶対にAPIキーをソースコードに直接書かないこと。.envファイルや環境変数、AWS Secrets Managerなどのシークレット管理サービスを使いましょう。.env.gitignoreに必ず追加してください。

Q4. 個人開発や副業レベルでもAPIを使うメリットはありますか?

あります。特に「最新情報を扱うAIチャットbot」「ニュースサマリーツール」「業界モニタリングツール」などは、Perplexity APIを使えば最小限のコードで実現できます。月$10〜30程度の初期コストで本格的な検索AI機能を持ったサービスが作れるのは大きな強みです。

【PR】Perplexity APIをより深く学びたい方は、UdemyのAPI開発・Python実践コースが充実しています。30日間返金保証付きで安心して受講できます。(料金は変動する可能性があります)
UdemyのAPI・Python開発コースを見る → (PR)

Q5. ChatGPT APIやClaude APIとどう使い分ければいいですか?

用途による棲み分けが明確です。

API 向いている用途
Perplexity Sonar リアルタイム情報・最新ニュース・Web検索が必要な機能
ChatGPT / GPT系 創作・コード生成・長文推論・画像生成が必要な機能
Claude API 長文文書の読み取り・分析・丁寧な文章生成・カスタマー対応

【PR】ChatGPT Plus($20/月〜)やClaude Pro($20/月〜)と組み合わせることで、さらに幅広い機能開発が可能になります。(料金は変動する可能性があります)
Claude Proを試してみる → (PR)


9. まとめ:Perplexity APIが向いているサービス・向いていないサービス

✅ Perplexity APIが向いているサービス

  • リアルタイム情報(ニュース・価格・天気・スポーツ結果)を扱うアプリ
  • 競合・市場調査を自動化したい BtoBツール
  • 最新の法律・規制情報を届けるコンプライアンス管理ツール
  • FAQチャットbotで「最新版」の回答を保証したいカスタマーサポート
  • リサーチ代行・情報収集自動化ツール

❌ Perplexity APIが向いていないサービス

  • 創作・小説・コピーライティング生成(→ Claude ProやChatGPT Plus推奨)
  • 画像・音声・動画生成・分析(→ OpenAI API、Gemini APIを検討)
  • 完全クローズドのイントラネット内情報検索(→ 外部Web検索が前提のため)
  • ファインチューニングが必要な特化型AI(→ 現時点では非対応)

Perplexity APIは「Webの最新情報に常にアクセスできる賢いアシスタント」を自分のサービスに宿らせるための最短経路です。ぜひAPIを試してみましょう。

【PR】API開発・Python・AI活用を体系的に学びたい方はCourseraがおすすめ。世界トップ大学のAIエンジニアリングコースが7日間無料トライアルで受講できます。(料金は変動する可能性があります)
CourseraのAI・API開発コースを確認する → (PR)


関連記事


免責事項: 本記事のAPI料金情報は2026年5月時点の調査に基づいています。料金・仕様は変動する可能性がありますので、最新情報はPerplexity公式ドキュメントでご確認ください。本記事にはアフィリエイトリンク(PR)が含まれます。

最終更新:2026年5月25日