API リファレンス
SignalSumo の SEO データを自社のツール、ダッシュボード、ワークフローに直接統合できます。
クイックスタート
最初のレスポンスまでの 3 ステップ。
1. API キーを作成
Pro または Agency プランで、キーは次の場所で生成できます APIキー そしてコピーしてください — 表示は一度だけです。
2. 接続を確認
curl -H "Authorization: Bearer ss_live_your_key_here" \
"https://signalsumo.com/api/v1/usage"
A 200 プランと残りの呼び出し回数が含まれるレスポンスは、接続が確立されていることを意味します。
3. 最初のデータ呼び出しを実行
curl -X POST \
-H "Authorization: Bearer ss_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"keyword":"seo audit tool","limit":5}' \
"https://signalsumo.com/api/v1/keyword-research"
Authorization: Bearer ヘッダーを付与し、同じJSONを返します — パラメータとレスポンスフィールドは下記エンドポイントをご参照ください。
概要
すべての API エンドポイントは次の URL 配下で提供されます:
https://signalsumo.com/api/v1/
リクエストとレスポンスは次を使用します JSON. すべてのレスポンスは同じ構造に従います:
{
"success": true,
"data": { ... },
"meta": { "timestamp": "2026-06-26T10:00:00+00:00" }
}
エラーは同じ形式で返されます success: false および error object の代わりに data.
エンドポイントは 2 つのグループに分かれ、違いはコストです:
- リサーチ エンドポイント —
/backlinks,/keyword-research,/site-audit— fetch fresh data from outside SignalSumo. They draw feature quota or credits. See プランと請求. - Your-data エンドポイント — everything under
/rank,/gscおよび/ai-visibility— read what your account has already collected. They are plain database reads: they cost クレジットや機能クォータはありません、月間上限を超えても拒否されることはありません。
認証
APIキーを以下に渡してください Authorization すべてのリクエストにヘッダーを付与:
Authorization: Bearer ss_live_your_key_here
代わりにクエリパラメータとして渡すことも可能です(本番環境では推奨しません):
GET /api/v1/usage?api_key=ss_live_your_key_here
この Authorization: Bearer ヘッダーが推奨方式です。APIは許可的なCORSヘッダーも送信するため、ブラウザベースのツールから直接呼び出せます。プロダクションではシークレットキーをサーバ側で管理してください。
プランと請求
API アクセスは プロ および エージェンシー プランで利用できます。2 つの独立したメーターが使用量を管理し、呼び出しは次の場合にのみ実行されます 両方 許可します。
1. 月間 API 呼び出し
すべてのリクエスト(キャッシュヒットやエンドポイントに到達したエラーを含む)は 1 回の API 呼び出しとしてカウントされます。
| プラン | 月間 API 呼び出し | リセット |
|---|---|---|
| プロ | 20 | 毎月の1日 |
| エージェンシー | 100 | 毎月の1日 |
超過すると返されます HTTP 429 (RATE_LIMITED) と resets_at フィールドは meta。 ライブ上限と使用状況はいつでもこちらで確認できます GET /usage.
2. 機能別クォータとクレジット
呼び出しメーターを超えて、データエンドポイントはそれぞれ月間機能クォータ(ログイン中のダッシュボードと同じ割り当て)から取得します。クォータがなくなったときの各エンドポイントの挙動は次のとおりです:
| エンドポイント | 機能クォータが枯渇したとき |
|---|---|
| /keyword-research | 返却 429 QUOTA_EXCEEDED. なし クレジットを消費します — ループしても安全です。 |
| /backlinks | フォールバック先 1 クレジット リクエストごとに。A 深い クエリ(page > 1 または limit > 100) always costs 1 credit. No credits → 402 PAYMENT_REQUIRED. |
| /site-audit | 返却 429 QUOTA_EXCEEDED 月間クロール数またはロールページ予算が使い切られた場合。 |
"cached": true 内 meta、機能クォータやクレジットは消費しません(それでも API 呼び出しとしてカウントされます)。
3. 1分あたりのリクエスト数
月間メーターとは別に、プランで1分あたりのリクエスト上限を設定します。これにより、制御不能なループや漏洩したキーが回復可能な範囲に制限されます。月間割り当ては、1時間以内にすべて使い切ることについては何も規定しません。
| プラン | 1分あたりのリクエスト数 |
|---|---|
| プロ | 20 |
| エージェンシー | 60 |
各エンドポイントは個別にカウントされるため、バックリンク枠を使い切ってもキーワードリサーチがロックされません。超過すると 429 と retry_after (秒)と limit 内 meta. 拒否されたリクエストはカウントされませんので、待機時間を retry_after 常にクリアされます。
409 ALREADY_RUNNING;数秒後に再試行するとキャッシュヒットになります。
ロケーションと言語
/keyword-research 受け入れます location_code および language_code 結果をローカライズするためです。どちらも任意で、デフォルトは米国(2840) および英語 (en).
location_code
数値の市場コードです。一般的な値は次のとおりです:
| コード | 市場 | コード | 市場 |
|---|---|---|---|
| 2840 | アメリカ合衆国 | 2276 | ドイツ |
| 2826 | イギリス | 2250 | フランス |
| 2124 | カナダ | 2724 | スペイン |
| 2036 | オーストラリア | 2380 | イタリア |
| 2356 | インド | 2528 | オランダ |
| 2392 | 日本 | 2076 | ブラジル |
90以上の市場に対応しています。未認識のコードは 422 UNSUPPORTED_LOCATION 米国にフォールバックするよりも、要求していない米国データの請求を受ける方が、コードが間違っていると伝えられるよりも不快です。お電話ください GET /api/v1/keyword-research/locations 全リストはこちらです。
language_code
2文字の言語コードです。サポートされている値:
| コード | 言語 | コード | 言語 |
|---|---|---|---|
| en | 英語 | pt | ポルトガル語 |
| es | スペイン語 | nl | オランダ語 |
| fr | フランス語 | ru | ロシア語 |
| de | ドイツ語 | ja | 日本語 |
| it | イタリア語 | zh | 中国語 |
language_code フォールバック先 英語 エラーを返す代わりに、結果が予期せず英語になる場合はコードを再確認してください。
エラーコード
| HTTP | コード | 意味 |
|---|---|---|
| 400 | BAD_REQUEST | リクエスト構文が不正です |
| 401 | UNAUTHORIZED | APIキーが不足しているか無効です |
| 403 | FORBIDDEN | ご利用のプランではAPIアクセスは利用できません(ProまたはAgencyプランが必要です) |
| 404 | NOT_FOUND | エンドポイントまたはリソースが見つかりません |
| 402 | PAYMENT_REQUIRED | 機能のクォータが上限に達し、残りのクレジットがありません(バックリンク) |
| 422 | VALIDATION_ERROR | 必須パラメータが不足しているか無効な値です |
| 409 | ALREADY_RUNNING | 同じリクエストが既にアカウントで取得中です — しばらくしてから再試行してください。キャッシュヒットとなります。料金は発生していません |
| 429 | RATE_LIMITED / QUOTA_EXCEEDED | 月間呼び出し制限、1 分ごとのペーシングまたは機能クォータ超過 — 詳細は resets_at または retry_after 内 meta |
| 502 | UPSTREAM_ERROR | 上流データプロバイダーからデータが返されませんでした |
| 500 | SERVER_ERROR | 内部エラーです — 再試行しても安全です |
MCP と LLM クライアント
アシスタント(例:Claude)にこのデータを会話形式で読ませたい場合、クライアントを作成する必要はありません。SignalSumo は Model Context Protocol、以下のエンドポイントをLLMが直接呼び出せるツールとして公開します。
| ルート | 認証 | 対象ユーザー |
|---|---|---|
| ホスト型コネクタ | OAuth 2.1 — no key to copy | Claudeやその他のMCPクライアント向け。インストール不要で常に最新です。 |
@signalsumo/mcp on npm | クライアント設定内のAPIキー | ローカルインストール、セルフホスト設定、または独自環境での実行。 |
| このREST API | Authorization: Bearer | 独自のスクリプト、ダッシュボード、バックエンド統合。 |
All three read the same data through the same endpoints and the same plan limits — they differ only in how the caller authenticates. The npm package uses slightly different tool names from the hosted connector; its README is the reference for those. Source: github.com/signalsumo/mcp.
GET /api/v1/usage
現在の暦月の API クォータ使用量を返します。
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/usage"
サンプルレスポンス
{
"success": true,
"data": {
"plan": "agency",
"api_calls_used": 42,
"api_calls_limit": 100,
"unlimited": false,
"resets_at": "2026-08-01"
},
"meta": {
"timestamp": "2026-06-26T10:00:00+00:00",
"key_name": "Production App"
}
}
GET /api/v1/backlinks
ドメインのバックリンクプロファイルを返します:概要 overview、分布 insights、個別の詳細情報が豊富なリストも含まれます backlinks. 結果はキャッシュされ、ダッシュボードと共有されます(Pro: 2日、Agency: 7日)。キャッシュヒットは "cached": true 機能クォータは消費しません。
これは同じデータです バックリンクチェッカー shows in the app, and the cache is shared — a domain you have already looked at there returns instantly here, free.
page > 1 または limit > 100 — 常に費用がかかります 1 クレジット. 詳細は プランと請求.
クエリパラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| domain | 文字列 | はい | ルートドメイン、例: example.com (完全な URL も受け付けて正規化されます) |
| ページ | 整数 | いいえ | ページ番号、デフォルト 1 |
| limit | 整数 | いいえ | ページあたりの結果数、1〜200、デフォルト 100 |
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/backlinks?domain=example.com&limit=2"
サンプルレスポンス
{
"success": true,
"data": {
"domain": "example.com",
"total_backlinks": 48210,
"referring_domains": 1824,
"page": 1,
"limit": 2,
"overview": {
"domain_rank": 71,
"total_backlinks": 48210,
"referring_domains": 1824,
"referring_domains_nofollow": 640,
"referring_main_domains": 1610,
"referring_pages": 39044,
"referring_ips": 1502,
"referring_subnets": 1210,
"dofollow_backlinks": 1184,
"broken_backlinks": 220,
"broken_pages": 96,
"spam_score": 8,
"first_seen": "2018-05-11 09:20:00",
"lost_date": null
},
"insights": {
"referring_links_types": { "anchor": 30140, "image": 9800 },
"referring_links_attributes": { "noopener": 12000, "nofollow": 8400 },
"referring_links_platform_types": { "blogs": 900, "cms": 640, "news": 210 },
"referring_links_tld": { "com": 1200, "org": 180 },
"referring_links_countries": { "US": 800, "GB": 210 },
"referring_subnets": 1210,
"referring_main_domains": 1610
},
"backlinks": [
{
"domain_from": "blog.example-news.com",
"url_from": "https://blog.example-news.com/best-seo-tools",
"url_to": "https://example.com/",
"anchor": "SignalSumo",
"dofollow": 1,
"spam_score": 4,
"first_seen": "2021-03-10 12:00:00",
"last_seen": "2026-06-20 04:00:00",
"semantic_location": "article",
"platform_type": "blogs",
"country": "US",
"is_broken": 0,
"domain_from_rank": 62,
"page_from_rank": 41,
"is_lost": 0,
"lost_date": null,
"is_new": 0,
"item_type": "anchor",
"page_from_title": "The Best SEO Tools in 2026",
"page_from_status_code": 200,
"url_to_status_code": 200,
"domain_from_ip": "192.0.2.10",
"tld_from": "com",
"links_count": 2,
"is_indirect_link": 0,
"url_from_https": 1,
"attributes": ["noopener"],
"text_pre": "we recommend",
"text_post": "for site audits",
"kw_top3": 4,
"kw_top10": 12,
"kw_top100": 88
}
]
},
"meta": { "timestamp": "2026-06-26T10:00:00+00:00", "cached": false }
}
バックリンク項目
| 項目 | 説明 |
|---|---|
| domain_from / url_from | リンク元サイトとリンクが設置されている正確なページ |
| url_to | リンク先となっているお客様のドメイン上のページ |
| アンカー | リンクのアンカーテキスト |
| dofollow | 1 = dofollow、 0 = nofollow |
| spam_score | リンク元ページのスパムスコア(0–100) |
| domain_from_rank / page_from_rank | リンク元ドメイン/ページの権威度(正規化 0–100) |
| is_new / is_lost / is_broken | リンクライフサイクルフラグ (1/0) |
| first_seen / last_seen / lost_date | リンクが最初に検出された日時、最終検出日時、(該当する場合)失効日時 |
| platform_type / country / tld_from | リンク元サイトのプラットフォーム、国、TLD |
| item_type | リンク形式: anchor, image, redirect, … |
| page_from_status_code / url_to_status_code | リンク元ページ/リンク先ページの HTTP ステータス |
| attributes | リンク rel 属性、例: ["noopener","nofollow"] |
| kw_top3 / kw_top10 / kw_top100 | リンク元ページが上位 3 / 10 / 100 にランクインしているキーワード |
POST /api/v1/keyword-research
シードキーワードに対して、検索ボリューム、CPC、競合度、難易度、検索意図、12 か月のボリューム推移、SERP 機能などを含む完全な指標セットを返します。また、同じ指標を持つ関連キーワードのランキングリストも提供します。同期的に即時応答します。
これらは指標です キーワードリサーチツール 表示されます。追求すべきキーワードを選択したら、 ランクトラッカー follows their positions daily — and /rank/keywords それらのポジションを読み戻します。無料です。
429 QUOTA_EXCEEDED、ループ内で呼び出しても安全です。最近の検索はキャッシュから提供されます(マークされた "cached": true) クォータコストなしで。
リクエストボディ(JSON)
| 項目 | タイプ | 必須 | 説明 |
|---|---|---|---|
| keyword | 文字列 | はい | シードキーワード(最大 200 文字) |
| location_code | 整数 | いいえ | ロケーションコード、デフォルト 2840 (米国) |
| language_code | 文字列 | いいえ | 言語コード、デフォルト en |
| limit | 整数 | いいえ | 返される関連キーワードの最大数、1–100、デフォルト 10 |
サンプルリクエスト
curl -X POST \
-H "Authorization: Bearer ss_live_xxxx" \
-H "Content-Type: application/json" \
-d '{"keyword":"seo audit tool","limit":5}' \
"https://signalsumo.com/api/v1/keyword-research"
サンプルレスポンス
{
"success": true,
"data": {
"keyword": "seo audit tool",
"location_code": 2840,
"language_code": "en",
"total_count": 80,
"overview": {
"search_volume": 2900,
"cpc": 19.07,
"competition": 0.11,
"competition_level": "LOW",
"difficulty": 77,
"intent": ["Commercial"],
"trend": [ { "y": 2026, "m": 5, "v": 2400 }, { "y": 2026, "m": 6, "v": 1600 } ],
"serp_features": ["organic"],
"growth": { "m": -33, "q": -16, "y": -64 },
"bid_low": 4.72,
"bid_high": 19.10,
"avg_backlinks": 5087,
"avg_ref_domains": 970,
"comp_domain_rank": 486,
"se_results": 41000000
},
"related_keywords": [
{
"keyword": "free seo audit tool",
"search_volume": 1900,
"cpc": 3.10,
"competition": 0.68,
"competition_level": "MEDIUM",
"difficulty": 54,
"intent": ["Commercial", "Transactional"],
"trend": [ { "y": 2026, "m": 6, "v": 1900 } ],
"serp_features": ["organic", "people_also_ask"],
"growth": { "m": 4, "q": -2, "y": 11 },
"bid_low": 1.20,
"bid_high": 4.90,
"avg_backlinks": 210,
"avg_ref_domains": 88,
"comp_domain_rank": 402,
"se_results": 12000000,
"related": ["website audit tool", "seo checker free"],
"match_bucket": "similar"
}
]
},
"meta": { "timestamp": "2026-06-26T10:00:00+00:00" }
}
キーワードフィールド
この overview (シードキーワード)とすべての related_keywords 行はこれらのフィールドを共有します。任意のフィールドは null 上流データが利用できない場合。
| 項目 | 説明 |
|---|---|
| search_volume | 月間平均検索回数 |
| cpc | 平均クリック単価(USD) |
| competition | 有料競合、0–1 |
| competition_level | LOW / MEDIUM / HIGH |
| difficulty | オーガニックランキング難易度、0〜100(null 未計算の場合) |
| intent | 検索意図、例: ["Commercial"] |
| trend | 12 ヶ月間のボリューム履歴 — { y, m, v } 月額 |
| growth | ボリューム変化 %: m 毎月、 q 四半期ごとに、 y 年次 |
| serp_features | 存在するSERP機能タイプ、例: ["organic","people_also_ask"] |
| bid_low / bid_high | ページ上部入札範囲(USD) |
| avg_backlinks / avg_ref_domains | 現在ランクインしているページの平均バックリンク数/参照ドメイン数 |
| comp_domain_rank | 現在ランクインしているページの平均権威度(0–1000) |
| se_results | キーワードに対する競合結果の総数 |
| related | 最大8つの関連サブキーワード(関連行のみ) |
| match_bucket | シードとの関係: similar, related、または question |
POST /api/v1/site-audit
同じクローリングを実行します ウェブサイト監査ツール — broken links, redirect chains, missing titles and canonical problems, page by page.
job_id immediately.
Poll GET /api/v1/jobs/{job_id} 結果用です。標準的なクロール時間は1〜5分です。
リクエストボディ(JSON)
| 項目 | タイプ | 必須 | 説明 |
|---|---|---|---|
| url | 文字列 | はい | クロール対象の完全なURL(例) https://example.com |
| max_pages | 整数 | いいえ | クロールする最大ページ数(デフォルト 100)。 プランのクローリング上限と残りの月間ページ予算に従います。 |
| depth | 整数 | いいえ | クローリング深さ、1〜5、デフォルト 3 |
サンプルリクエスト
curl -X POST \
-H "Authorization: Bearer ss_live_xxxx" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","max_pages":50}' \
"https://signalsumo.com/api/v1/site-audit"
Response (202 Accepted)
{
"success": true,
"job_id": "a3f9b2c1d4e5f6a7b8c9d0e1f2a3b4c5",
"status": "queued",
"poll": "https://signalsumo.com/api/v1/jobs/a3f9b2c1d4e5f6a7b8c9d0e1f2a3b4c5",
"meta": { "timestamp": "2026-06-26T10:00:00+00:00" }
}
GET /api/v1/jobs/{job_id}
非同期ジョブのステータスをポーリングします。10〜15秒ごとにポーリングし、 status is complete または failed.
ステータス値
| ステータス | 意味 |
|---|---|
| queued | ジョブが受理されましたが、まだ開始されていません |
| running | クローリング進行中 — 確認 progress (0–100) |
| 完了 | 完了 — data フィールドに結果が含まれます |
| 失敗 | クローリング失敗 — error フィールドに理由があります |
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/jobs/a3f9b2c1d4e5f6a7b8c9d0e1f2a3b4c5"
レスポンス — 実行中
{
"success": true,
"data": {
"job_id": "a3f9b2c1d4e5f6a7b8c9d0e1f2a3b4c5",
"endpoint": "site-audit",
"status": "running",
"progress": 42,
"created_at": "2026-06-26 10:00:00",
"updated_at": "2026-06-26 10:01:30",
"completed_at": null
},
"meta": { "timestamp": "2026-06-26T10:01:30+00:00" }
}
レスポンス — 完了
{
"success": true,
"data": {
"job_id": "a3f9b2c1d4e5f6a7b8c9d0e1f2a3b4c5",
"endpoint": "site-audit",
"status": "complete",
"progress": 100,
"created_at": "2026-06-26 10:00:00",
"updated_at": "2026-06-26 10:03:18",
"completed_at": "2026-06-26 10:03:18",
"data": {
"audit_id": "AUDIT-A1B2C3-4567",
"domain": "https://example.com",
"pages_crawled": 47,
"total_score": 78,
"geo_score": 71,
"issues": { "critical": 3, "warning": 12, "total": 15 },
"report_url": "https://signalsumo.com/report?id=AUDIT-A1B2C3-4567"
}
},
"meta": { "timestamp": "2026-06-26T10:03:18+00:00" }
}
GET /api/v1/rank/keywords
アカウントが追跡しているすべてのキーワードと、測定された市場・デバイス、最新の順位です。これは以下のデータです ランクトラッカー — no crawl is triggered and nothing is charged.
country, language および device are returned on every row on purpose. A position is meaningless without them — comparing a desktop US ranking against a mobile UK one produces a decline that never happened.
クエリパラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| project_id | 整数 | いいえ | プロジェクトを1つに限定します。省略すると所有するすべてのプロジェクトのキーワードが返されます。 |
| limit | 整数 | いいえ | 1–500, default 100 |
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/rank/keywords?limit=1"
サンプルレスポンス
{
"success": true,
"data": {
"keywords": [
{
"keyword_id": 4821,
"keyword": "seo audit tool",
"difficulty": 62,
"search_volume": 8100,
"cpc": 12.4,
"country": "US",
"language": "en",
"device": "desktop",
"status": "active",
"project_id": 17,
"project_domain": "example.com",
"project_name": "Example Site",
"last_checked": "2026-08-19",
"current_position": 8,
"previous_position": 11,
"position_change": 3,
"landing_page": "https://example.com/tools/audit",
"gsc_clicks": 143,
"gsc_impressions": 5210,
"gsc_ctr": 2.74,
"local_pack": false,
"featured_snippet": true,
"ai_overview": false
}
],
"count": 1
},
"meta": { "project_id": null, "limit": 1 }
}
position_change キーワードが移動したときに正の値になります 上へ. まだチェックされていないキーワードは次を返します null すべてに対して latest.* フィールドはむしろ 0 — position zero would read as "ranked first".
GET /api/v1/rank/history
1つの追跡キーワードのデイリーポジション履歴。ランク付けされたURLと各チェック時のSERP機能を含みます。事前計算された trend 概要。
クエリパラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| keyword_id | 整数 | はい | 開始日 /rank/keywords. 所有していないキーワードは次を返します 404 NOT_FOUND. |
| 日 | 整数 | いいえ | 1–365, default 90 |
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/rank/history?keyword_id=4821&days=30"
サンプルレスポンス
{
"success": true,
"data": {
"keyword": {
"id": 4821,
"keyword": "seo audit tool",
"project_id": 17,
"domain": "example.com",
"project": "Example Site"
},
"history": [
{
"check_date": "2026-08-19",
"position": 8,
"previous_position": 11,
"change": 3,
"landing_page": "https://example.com/tools/audit",
"gsc_clicks": 143,
"gsc_impressions": 5210,
"gsc_ctr": 2.74,
"gsc_average_position": 8.6,
"featured_snippet": true,
"ai_overview": false,
"people_also_ask": true,
"local_pack": false,
"images": false,
"videos": false,
"shopping": false,
"knowledge_graph": false,
"sitelinks": true
}
],
"trend": { "first": 14, "latest": 8, "best": 6, "worst": 15 }
},
"meta": { "days_requested": 30, "points": 1 }
}
読み込み中 trend
| 項目 | 意味 |
|---|---|
| 最初 | 順位は 最古 ウィンドウ内のポイント |
| 最新 | 最新チェック時の順位 |
| 最高 | 到達した最小番号(最高順位) |
| 最低 | 到達した最大番号(最低順位) |
history 最新順に並びます。 best および worst ランク付けされていないチェックを無視し、結果として null キーワードがウィンドウ内で順位付けされなかった場合。
GET /api/v1/gsc/properties
アカウントに接続されたGoogle Search Consoleプロパティは、以下に示す通りです Search Console Insightsパラメータは不要です。
This reads SignalSumo's synced copy — it does not call Google. last_synced_at そのコピーの鮮度を教えます。
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/gsc/properties"
サンプルレスポンス
{
"success": true,
"data": {
"properties": [
{
"property_id": 31,
"property_uri": "sc-domain:example.com",
"display_name": "example.com",
"status": "active",
"last_synced_at": "2026-08-20 04:15:02",
"last_sync_status": "ok",
"google_email": "[email protected]",
"is_sandbox": false
}
],
"count": 1
}
}
GET /api/v1/gsc/queries
Clicks, impressions, CTR and average position for a synced property, grouped by whichever dimension you ask for. Despite the name it is not limited to queries — set dim ページ、国、デバイス、または日付ごとに同じ数値を分解するために。
クエリパラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| property_id | 整数 | はい | 開始日 /gsc/properties. 所有していないプロパティは返されます 404 NOT_FOUND. |
| dim | 文字列 | いいえ | query (デフォルト)、 page, country, device, date, searchAppearance |
| from | 文字列 | いいえ | YYYY-MM-DD、デフォルトは28日前 |
| to | 文字列 | いいえ | YYYY-MM-DD、デフォルトは本日 |
| sort | 文字列 | いいえ | clicks (デフォルト)、 impressions, ctr, position, key |
| dir | 文字列 | いいえ | desc (デフォルト) または asc |
| limit | 整数 | いいえ | 1–500, default 100 |
422 VALIDATION_ERROR、しかし認識されていない dim または sort 値はエラーになる代わりにデフォルトに静かにフォールバックします。こちらをご確認ください dim エコーで返されます data 内訳を信頼する前に。
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/gsc/queries?property_id=31&dim=query&limit=2"
サンプルレスポンス
{
"success": true,
"data": {
"property_id": 31,
"dim": "query",
"from": "2026-07-23",
"to": "2026-08-20",
"totals": {
"clicks": 4820,
"impressions": 216400,
"ctr": 2.23,
"position": 18.4
},
"rows": [
{ "key": "seo audit tool", "clicks": 143, "impressions": 5210, "ctr": 2.74, "position": 8.6 },
{ "key": "free seo checker", "clicks": 98, "impressions": 7740, "ctr": 1.27, "position": 14.2 }
],
"total_rows": 1842
},
"meta": { "sort": "clicks", "dir": "desc", "limit": 2 }
}
total_rows is the number of distinct keys in the period, not the number returned — use it to decide whether to raise limit. totals 期間全体を常にカバーします、以下に関係なく limit.
GET /api/v1/ai-visibility/projects
AI回答エンジン全体で追跡するブランドを、プロジェクトごとに1行で表示し、現在の可視性スコアとその変動を示します。パラメータは不要です。Powered by the AI 可視性チェッカー.
Scores are collected by scheduled scans, so this endpoint never calls an AI provider — it returns what the last scan stored.
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/ai-visibility/projects"
サンプルレスポンス
{
"success": true,
"data": {
"projects": [
{
"id": 9,
"domain": "example.com",
"brand_name": "Example",
"target_country": "US",
"target_language": "en",
"ai_engine": "all",
"tracking_frequency": "weekly",
"status": "active",
"visibility_score": 41.8,
"previous_visibility_score": 37.2,
"score_change": 4.6,
"created_at": "2026-05-02 11:20:44",
"updated_at": "2026-08-18 06:02:11"
}
],
"count": 1
}
}
score_change is null until a project has been scanned at least twice — a first scan has nothing to compare against, and reporting 0 「変化なし」と表示されます。
GET /api/v1/ai-visibility/share-of-voice
AIアシスタントが競合他社と比較してあなたのブランドを言及する頻度と、最新スキャンからの完全な指標内訳を示します。
クエリパラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| project_id | 整数 | はい | 開始日 /ai-visibility/projects. 所有していないプロジェクトは次を返します 404 NOT_FOUND. |
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/ai-visibility/share-of-voice?project_id=9"
サンプルレスポンス
{
"success": true,
"data": {
"project": {
"id": 9,
"domain": "example.com",
"brand_name": "Example",
"target_country": "US",
"ai_engine": "all",
"visibility_score": 41.8,
"previous_visibility_score": 37.2
},
"latest_snapshot": {
"geo_score": 41.8,
"mention_rate": 38.0,
"avg_position": 2.4,
"sentiment_avg": 0.62,
"citation_rate": 21.5,
"competition_score": 58.3,
"prompts_evaluated": 50,
"snapshot_date": "2026-08-18"
},
"share_of_voice": {
"brand_mentions": 19,
"competitor_mentions": 74,
"total_mentions": 93,
"brand_share_pct": 20.43
},
"competitors": [
{
"competitor_name": "Competitor One",
"competitor_domain": "competitor1.com",
"mention_count": 31,
"visibility_score": 52.1,
"avg_position": 1.9,
"updated_at": "2026-08-18 04:41:07"
}
]
}
}
2つの異なるパーセンテージ
これらは混同しやすく、異なる質問に答えます:
| 項目 | 回答する質問 |
|---|---|
mention_rate | Of the prompts we tested, what share mentioned you at all? — coverage. |
brand_share_pct | Of every brand mention across you and your tracked competitors, what share was yours? — competitive position. |
latest_snapshot is null プロジェクトの初回スキャンが完了する前に。 competitors 最大20件を返し、言及数で順序付けます。 brand_share_pct is null when no mentions have been recorded on either side — a share of nothing is not zero percent.
GET /api/v1/keyword-research/locations
すべての市場 POST /keyword-research 受け入れ、これにより発見できます location_code 推測して1件取得し、報酬を得る代わりに 422パラメータは不要です。
サンプルリクエスト
curl -H "Authorization: Bearer ss_live_xxxx" \
"https://signalsumo.com/api/v1/keyword-research/locations"
サンプルレスポンス
{
"success": true,
"data": {
"locations": [
{ "location_code": 2840, "location_name": "United States", "country_iso": "US", "language_code": "en" },
{ "location_code": 2826, "location_name": "United Kingdom", "country_iso": "GB", "language_code": "en" }
],
"count": 94,
"note": "These are the markets covered by the keyword database. Pass location_code to POST /keyword-research."
}
}
Changelog
| Version | 日付 | Changes |
|---|---|---|
| v1.2 | Aug 2026 | すでにライブ中の7つの読み取り専用エンドポイントを文書化しました: /rank/keywords, /rank/history, /gsc/properties, /gsc/queries, /ai-visibility/projects, /ai-visibility/share-of-voice および /keyword-research/locations. No behaviour changed — these were callable before, just undocumented. Added MCP and LLM client guidance. |
| v1.1 | Jul 2026 | キーワードとバックリンクの応答が、難易度、意図、トレンド、SERP 機能、拡張バックリンク項目、概要とインサイトを含む完全な指標セットに拡張されました。サイト監査結果が追加されます geo_score 問題数が含まれます。ロケーション/言語の参照と請求情報が追加されました。 |
| v1.0 | Jun 2026 | 初回リリース — usage、backlinks、keyword-research、site-audit、jobs |
ご質問がありますか?メール [email protected]