COTOHA API 使い方完全ガイド2026

【2026年最新】COTOHA API 使い方完全ガイド|料金・始め方・自然言語処理をPythonで実装

日本語の自然言語処理(NLP)に特化したAPIを探しているなら、NTTドコモグループが提供するCOTOHA APIが有力な選択肢です。汎用LLMと違い、日本語テキストの解析・分類・感情抽出に特化した設計で、エンタープライズ用途での実績も豊富です。

この記事では、COTOHA APIの料金・機能・アクセストークン取得からPythonでの実装例まで、2026年最新情報で解説します。

この記事でわかること

  • COTOHA APIの料金プランと無料枠の範囲
  • アカウント作成からAPIキー取得・認証の手順
  • 構文解析・感情分析・固有表現抽出の実装方法
  • ChatGPT APIなど他の日本語NLPソリューションとの比較
  • 導入事例と実際のユースケース

30秒で結論

  • 無料プラン: 1日100回・For Developers(登録不要でテスト可能)
  • 有料プラン: For Enterpriseは月額要問い合わせ(規模・利用量で変動)
  • 強み: 日本語特化・NTT研究所由来の高精度形態素解析
  • 弱み: 英語非対応・汎用チャット機能なし・料金が非公開
  • こんな人向け: 日本語テキストの自動分類・感情分析・固有表現抽出が必要な開発者

COTOHA APIとは?NTTの日本語NLP技術が背景

COTOHA API 日本語テキスト処理の仕組み

COTOHA(コトハ)APIは、NTTドコモのビジネス向けブランド「NTTドコモビジネス」が提供する自然言語処理プラットフォームです。NTTの研究所が30年以上にわたり蓄積してきた日本語解析技術をAPIとして提供しています。

主な機能一覧

機能 概要 活用例
構文解析 文章の係り受け・品詞情報を取得 文章の意味構造を把握
固有表現抽出 人名・地名・組織名・日時を検出 文書からのメタデータ抽出
感情分析 テキストのポジティブ/ネガティブ判定 レビュー・SNS分析
キーワード抽出 文章の中心的トピックを自動抽出 文書サマリー・タグ付け
類似度判定 2文章の意味的な近さをスコア化 FAQマッチング・重複検出
意図理解 ユーザー発言の意図を分類 チャットボット構築
ユーザー属性推定 テキストから書き手の属性を推定 マーケティング分析
誤脱字検出 文章中の誤字・脱字を指摘 文書品質チェック

これらの機能はすべて日本語テキストに最適化されており、ChatGPT APIのような汎用LLMとは異なるアプローチです。汎用LLMは「理解と生成」の両方をこなしますが、COTOHA APIは「構造化された解析」に特化しているため、確定的な出力が求められる業務システムとの親和性が高くなっています。


COTOHA API 料金プラン(2026年版)

COTOHA APIの料金体系は、用途によって2つのプランに分かれています。

For Developers(開発者向け・無料)

項目 内容
価格 無料
API呼び出し制限 1日100回(一部機能により異なる)
対象 個人開発者・プロトタイプ開発
SLA なし
サポート コミュニティのみ

For Developersプランは個人の学習・プロトタイプ開発に最適です。クレジットカード登録なしで即日利用開始できます。

For Enterprise(企業向け・有料)

項目 内容
価格 月額費用:要問い合わせ(利用量・機能・契約期間で変動)
API呼び出し制限 カスタム(大量処理対応)
SLA あり(99.9%稼働率保証)
サポート 専任担当者による技術サポート
導入支援 あり

Enterpriseプランは、コールセンター・金融・医療・製造業など業務システムへの組み込み用途を想定しています。正確な月額は規模やAPI種別によって異なるため、公式サイトから問い合わせが必要です。

📌 ポイント: 競合比較のために言うと、Google Cloud Natural Language APIは1,000ユニット$1〜$5、Amazon ComprehendはUTF-8テキスト1ユニットあたり$0.0001〜$0.01の従量課金です。COTOHAのEnterpriseプランは日本語特化の精度と企業サポートを込みにした価格感なので、純粋な従量課金の安さよりも「日本語品質と運用サポート」に価値を感じる企業向けです。


COTOHA API 始め方:アカウント作成からAPIキー取得まで

COTOHA API クラウドインフラとAPIアーキテクチャ

STEP 1:開発者ポータルにアクセス

COTOHA APIの開発者ポータル(https://api.ce-cotoha.com/)にアクセスして「新規登録」を選択します。

STEP 2:アカウント登録

メールアドレス・パスワードを入力してアカウントを作成します。For Developersはクレジットカード不要です。登録メールが届いたら確認リンクをクリックして認証を完了させます。

STEP 3:ポータルにログインしてClient IDとClient Secretを確認

ログイン後のダッシュボードから Client IDClient Secret が発行されます。これらは後のAPI認証に使用するので控えておきます。

STEP 4:アクセストークンを取得

COTOHA APIはOAuth 2.0形式の認証を採用しています。まず Client IDClient Secret を使ってアクセストークンを取得し、そのトークンを使って各APIを呼び出す形式です。

# アクセストークン取得(curlの場合)
curl -X POST \
  "https://api.ce-cotoha.com/v1/oauth/accesstokens" \
  -H "Content-Type: application/json" \
  -d '{
    "grantType": "client_credentials",
    "clientId": "YOUR_CLIENT_ID",
    "clientSecret": "YOUR_CLIENT_SECRET"
  }'

レスポンス例:

{
  "access_token": "eyJhbGciOiJSUzI1NiJ9...",
  "token_type": "bearer",
  "expires_in": "86399",
  "scope": "default"
}

access_token の有効期限は約24時間です。本番運用では定期的に再取得する仕組みをシステムに組み込む必要があります。


Python実装:構文解析・感情分析・固有表現抽出

AIによる文書解析・自然言語処理のイメージ

実際にPythonでCOTOHA APIを呼び出してみます。まずは共通のクライアントクラスを作成し、各機能を呼び出す形にします。

前提:ライブラリのインストール

pip install requests python-dotenv

認証クラスの実装

# cotoha_client.py
import os
import requests
from datetime import datetime, timedelta

class CotohaClient:
    BASE_URL = "https://api.ce-cotoha.com/api/dev/nlp"
    AUTH_URL = "https://api.ce-cotoha.com/v1/oauth/accesstokens"
    
    def __init__(self, client_id: str, client_secret: str):
        self.client_id = client_id
        self.client_secret = client_secret
        self._token = None
        self._token_expires = None
    
    def _get_token(self) -> str:
        """アクセストークンの取得・キャッシュ"""
        if self._token and self._token_expires > datetime.now():
            return self._token
        
        resp = requests.post(self.AUTH_URL, json={
            "grantType": "client_credentials",
            "clientId": self.client_id,
            "clientSecret": self.client_secret,
        })
        resp.raise_for_status()
        data = resp.json()
        self._token = data["access_token"]
        self._token_expires = datetime.now() + timedelta(seconds=int(data["expires_in"]) - 60)
        return self._token
    
    def _headers(self) -> dict:
        return {
            "Authorization": f"Bearer {self._get_token()}",
            "Content-Type": "application/json",
        }
    
    def parse(self, text: str) -> dict:
        """構文解析"""
        return requests.post(
            f"{self.BASE_URL}/v1/parse",
            headers=self._headers(),
            json={"sentence": text, "type": "default"}
        ).json()
    
    def ne(self, text: str) -> dict:
        """固有表現抽出(Named Entity Recognition)"""
        return requests.post(
            f"{self.BASE_URL}/v1/ne",
            headers=self._headers(),
            json={"sentence": text, "type": "default"}
        ).json()
    
    def sentiment(self, text: str) -> dict:
        """感情分析"""
        return requests.post(
            f"{self.BASE_URL}/v1/sentiment",
            headers=self._headers(),
            json={"sentence": text}
        ).json()
    
    def keyword(self, document: str) -> dict:
        """キーワード抽出"""
        return requests.post(
            f"{self.BASE_URL}/v1/keyword",
            headers=self._headers(),
            json={"document": document, "type": "default"}
        ).json()

構文解析の実行例

import os
from cotoha_client import CotohaClient

client = CotohaClient(
    client_id=os.getenv("COTOHA_CLIENT_ID"),
    client_secret=os.getenv("COTOHA_CLIENT_SECRET")
)

result = client.parse("AIが日本語自然言語処理の精度を大幅に向上させました。")
for token in result["result"]:
    print(f"形態素: {token['form']} | 品詞: {token['pos']} | 係り先: {token.get('head', '-')}")

出力例:

形態素: AI     | 品詞: 名詞    | 係り先: 2
形態素: が     | 品詞: 格助詞  | 係り先: 2
形態素: 日本語 | 品詞: 名詞    | 係り先: 3
形態素: 自然   | 品詞: 名詞    | 係り先: 3
...

感情分析の実行例

reviews = [
    "このサービスは非常に使いやすく、サポートも丁寧で大変満足しています。",
    "対応が遅すぎて、問題が全く解決されませんでした。",
    "普通の機能で特に不満はありません。",
]

for review in reviews:
    result = client.sentiment(review)
    sentiment = result["result"]["sentiment"]
    score = result["result"]["score"]
    print(f"[{sentiment}({score:.3f})] {review[:30]}...")

出力例:

[Positive(0.812)] このサービスは非常に使いやすく、サポ...
[Negative(0.743)] 対応が遅すぎて、問題が全く解決されま...
[Neutral(0.553)]  普通の機能で特に不満はありません。...

固有表現抽出の実行例

text = "NTTドコモは2026年3月に東京都千代田区でAIサミットを開催する予定です。"
result = client.ne(text)

for entity in result["result"]:
    print(f"テキスト: {entity['form']} | 種別: {entity['class']} | 開始: {entity['begin_pos']}")

出力例:

テキスト: NTTドコモ     | 種別: OG(組織名)| 開始: 0
テキスト: 2026年3月     | 種別: TI(時間)  | 開始: 7
テキスト: 東京都千代田区 | 種別: LO(場所)  | 開始: 14

COTOHA APIと競合ツールの比較

ツール 日本語精度 価格帯 汎用性 対応言語 向いている用途
COTOHA API ◎ 高精度 要問い合わせ(企業向け) △ NLP特化 日本語のみ 日本語文書の構造化解析
Google Cloud NL ○ 良好 $1〜$5/1,000ユニット ○ 汎用性高い 多言語対応 多言語・スケールアウト
Amazon Comprehend ○ 良好 $0.0001〜$0.01/ユニット ○ AWS連携 多言語対応 AWSエコシステム内
Azure Text Analytics ○ 良好 $1〜$25/1,000件 ○ Microsoft連携 多言語対応 Microsoft 365連携
ChatGPT API △ 柔軟だが確定的でない $0.15〜$60/100万token ◎ 最高水準 多言語対応 生成・対話・柔軟な解析

結論: 日本語の構造化解析(品詞・係り受け・固有表現)の精度と確定性を求めるなら、COTOHAが優位。汎用性・多言語・コスト最優先ならGoogle/Amazon/Azure、柔軟な理解・生成ならChatGPT APIが選択肢に入ります。


COTOHA APIの実際の活用事例

COTOHA API 実際の活用場面

1. コールセンターのVOC分析

顧客からの問い合わせテキストを感情分析にかけ、クレーム度スコアを算出。スコアが一定以上のものを優先エスカレーションする仕組みを構築した事例があります。1日数万件の問い合わせを自動スコアリングすることで、オペレーターの負担を大幅に削減できます。

2. 法律・金融文書の情報抽出

契約書から当事者名(固有表現抽出)・日付・金額を自動抽出して構造化データベースに格納するシステム。従来は人手でのデータ入力が必要だった作業をAPIで自動化しています。

3. 社内ナレッジベースの検索精度向上

社内FAQシステムで類似度判定APIを活用し、ユーザーの質問と既存Q&Aの意味的近さを判定してランキング表示。キーワード一致だけでは取りこぼしていた質問にも適切な回答を返せるようになります。

4. ニュース記事の自動タグ付け

キーワード抽出APIで記事の主要トピックを自動抽出し、コンテンツ管理システム(CMS)に自動タグ付けする仕組みを構築。編集者のメタデータ入力工数を削減し、コンテンツの検索性を向上させています。


COTOHA APIの制限・注意点

実際に導入を検討する際に把握しておきたい制限があります。

対応言語は日本語のみ

英語・中国語などの多言語処理は対象外です。グローバル展開を予定しているシステムには向きません。その場合はGoogle Cloud NLやAmazon Comprehendの多言語対応を活用する必要があります。

For Developersは1日100回制限

テスト用途なら問題ないですが、本番稼働前には必ずFor Enterpriseへの移行計画を立てておく必要があります。制限超過時はAPIが応答を返さなくなるため注意が必要です。

料金の透明性

For Enterpriseの価格は公開されておらず、商談が必要です。スタートアップや個人開発者が気軽に使える価格帯かどうかは問い合わせてみないと分かりません。

トークン管理の実装が必要

アクセストークンが24時間で失効するため、本番システムでは自動リフレッシュ機能の実装が必須です(上記の実装例参照)。


よくある質問(FAQ)

Q. COTOHA APIは完全無料で使えますか?

For Developersプランは無料で使えます。ただし1日100回の呼び出し制限があります。本番システムへの組み込みや大量処理が必要な場合はFor Enterprise(有料・要問い合わせ)への移行が必要です。

Q. COTOHA APIでChatGPTのような文章生成はできますか?

できません。COTOHA APIは自然言語の「解析・分類・抽出」に特化しており、文章生成機能は提供していません。文章生成が必要な場合はChatGPT APIやClaude APIと組み合わせて使う設計が現実的です。例えば「COTOHAで意図を分類→ChatGPTで回答文を生成」というパイプラインが一般的です。

Q. Pythonのwrapperライブラリはありますか?

公式のPythonライブラリは提供されていませんが、GitHubで非公式ライブラリが複数公開されています。ただし、メンテナンス状況にばらつきがあるため、本番導入にはこの記事で紹介したような自作クライアントを使うほうが安定します。requests+環境変数管理の組み合わせで十分に実装できます。

Q. For EnterpriseとFor Developersでは機能に差がありますか?

基本的なAPIの種類は同じですが、For Enterpriseではより高精度なモデルや追加機能(より詳細なユーザー属性推定など)が利用できる場合があります。また、SLA・サポート・大量処理対応の面で大きく異なります。

Q. COTOHA APIのレスポンス速度はどのくらいですか?

通常のテキスト処理では100〜500msのレスポンスタイムが目安です。文章が長くなるほど処理時間は増加します。リアルタイム応答が重要なシステムでは事前にレイテンシ計測を行うことを推奨します。

Q. COTOHA APIはセキュリティ・個人情報の観点で安全ですか?

NTTドコモビジネスが提供するエンタープライズサービスのため、ISO 27001等のセキュリティ基準に準拠しています。For Enterpriseでは秘密保持契約(NDA)の締結も可能です。個人情報を含むテキストを処理する場合は、利用規約とデータ処理に関する契約内容を事前に確認することを推奨します。


まとめ:COTOHA APIを選ぶべきシーン

COTOHA APIは「日本語テキストを確定的に構造化解析したい」ユースケースで最も力を発揮します。汎用LLMのように確率的な応答ではなく、品詞・係り受け・固有表現の種別といった構造化されたデータが必要な業務システムでは、今もCOTOHA APIの強みは健在です。

一方で、料金の透明性と日本語限定という制約は現実的なデメリットです。グローバル展開予定・コスト最優先・英語テキスト処理が含まれる場合は、Google Cloud NLやAmazon Comprehendの方がフィットする可能性が高いでしょう。

まずはFor Developersの無料枠でプロトタイプを作り、精度と運用コストを確認してからEnterprise移行を検討するのが現実的なアプローチです。