REST API + MCPサーバー
SEOレポートAPI
開発者とAIエージェント
REST でレポートを作成し、完了までポーリングし、ウェブサイトでチームが閲覧するのと同じ保存済みレポートを読み取ります。同じ API キー(有料プラン)で MCP 対応エージェントを接続します。
アクセスモデル
APIアクセスはアカウントにリンクされ、キーで制御されます。プランを選択し、アカウントでAPIキーを作成すると、APIを通じて実行するすべての新しいサイトは、ウェブサイトと同様にプランのクレジットを使用します。クレジットは各月の1日(UTC)にリセットされ、繰り越しされません。
ウェブサイトのセッション、API コール、およびエージェントセッションは、同じ保存されたレポート状態から読み取られます。
レポートを作成し、ステータスをポーリングし、同じオブジェクトから完全な結果を読み取ります。
利用可能なエンドポイント
/api/v1/reports/preview有料プランでパートナー統合用のスコアプレビューを作成します。
/api/v1/reports新しいレポートを作成するか、既に存在するレポートを再利用します。代わりにサイトを再スキャンするには "forceRerun": true を追加します。
/api/v1/reports/:id最新のレポートステータスとセクションを取得します.
/api/v1/reports/:id/result完全レポート結果を読み取ります。
/api/v1/reports/:id/download?format=jsonレポートペイロードをJSONとしてエクスポートし、プログラム的統合に使用します。
Quickstart: curl で SEO レポートを取得
3 つのリクエストで全フローをカバーし、有料プランの API キーを使用します。最初はレポートを作成し、2 番目はステータスが queued または running でなくなるまでポーリングし、3 番目はエクスポートします。新しいサイトは 1 クレジットを使用します。既にレポートがあるサイトを再度実行してもクレジットは使用されません。
export SEOREPORT_API_KEY="sr__live_your_api_key"
# Send the key as a header file so it never sits in curl's argv, where ps shows
# it to every local user. printf is a shell builtin, so it spawns no process.
auth() { printf 'Authorization: Bearer %s\n' "$SEOREPORT_API_KEY"; }
# 1. Create a report and keep its job ID
JOB_ID=$(curl -s -X POST https://seoreport.dev/api/v1/reports \
-H @<(auth) \
-H "Content-Type: application/json" \
-d '{"url": "example.com"}' | jq -r '.report.jobId')
# 2. Poll until the report is no longer queued or running
while :; do
STATUS=$(curl -s "https://seoreport.dev/api/v1/reports/$JOB_ID" \
-H @<(auth) | jq -r '.report.status')
case "$STATUS" in queued|running) sleep 3 ;; *) break ;; esac
done
echo "status: $STATUS"
# 3. Export the finished report (format=pdf, md and txt also work)
curl -s "https://seoreport.dev/api/v1/reports/$JOB_ID/download?format=json" \
-H @<(auth) -o report.jsonSEO モニタリング API
監視対象に登録されたドメインは毎週再監査されます。何かが変わると、アラートアドレスにメールが届きます:新しいクリティカルまたはハイシビリティの発見、クリティカル発見の解決、または別のスコアバンドへの移動です。変更がない週は何も送信されません。
/api/v1/monitorsドメインの週次監視を開始します;"enabled": false で一時停止します。
/api/v1/monitorsこのアカウントが監視しているドメインを一覧表示します。
/api/v1/monitors?url=ドメインの監視を停止し、保存された結果を削除します。
# Uses the auth() helper from the quickstart above.
# Re-audit a domain every week and email [email protected] when it changes
curl -X PUT https://seoreport.dev/api/v1/monitors \
-H @<(auth) \
-H "Content-Type: application/json" \
-d '{"url": "example.com", "alertEmail": "[email protected]"}'
# List monitored domains
curl https://seoreport.dev/api/v1/monitors \
-H @<(auth)
# Stop monitoring (pass the host the list returns)
curl -X DELETE "https://seoreport.dev/api/v1/monitors?url=example.com" \
-H @<(auth)監視は有料プランに含まれ、レポートクレジットを消費しません。
公式 TypeScript クライアント
REST API 用の型付きクライアント。プランの API キーで認証し、TypeScript からレポートを作成、ポーリング、エクスポートします。
MCPサーバー — 同じAPI、同じキー
MCP対応のクライアントを https://seoreport.dev/mcp に向け、RESTと同じBearer APIキーで認証します。接続時にレポート用ツールとアカウント用ツールが自動的に提示されるため、追加のコードなしでエージェントが監査を実行し、結果を読み取れます。
{
"mcpServers": {
"seoreport": {
"url": "https://seoreport.dev/mcp",
"headers": {
"Authorization": "Bearer sr__live_your_api_key"
}
}
}
}create_reportURLのレポートを開始し、ジョブIDを取得します。
get_report_statusレポートが完成するまでジョブをポーリングします。
get_report完成したレポートのスコアと指摘事項を読み取ります。
list_reportsアカウントのレポート一覧を取得します。
get_report_downloadJSON・Markdown・テキスト・PDFのダウンロードURLを取得します。
get_accountアカウントのプラン、残りクレジット、更新日を確認します。
チェックアウトは直接請求せず、ブラウザで開くリンクを返します。エージェントは開始できますが、支払えるのは人だけです。プランの解約、APIキーの管理、アカウントの削除はダッシュボードで行います。
{
"success": true,
"report": {
"jobId": "3f6c2a1e-8d4b-4c7a-9e21-5b0d7f4a6c18",
"status": "completed",
"targetUrl": "https://example.com"
},
"pollAfterMs": 0
}