Google にはリアルタイムの順位 API はありません。Search Console API が実際に返すもの、Custom Search が誤解を招く理由、そしてそれぞれの方法で動く Python のコードを紹介します。

要点
Googleは、リアルタイムのキーワード順位を返すAPIを公開していません。Search Console APIは、確認済みの自社サイトがすでに上位表示されているクエリについて、平均掲載順位を返します。無料で一次データですが、対象は自社のプロパティに限られ、期間で平均化されています。Custom Search JSON APIが返すのは、google.comではなくカスタム検索エンジンの結果であるため、その順位はユーザーが実際に目にするものと一致しません。競合を含む本当のリアルタイムのSERPでの順位を知るには、サードパーティのSERP APIが必要です。このガイドでは、それぞれの動くコードと、それぞれがどこで行き詰まるかを示します。
さらに詳しく知るには、こちらに質問
Google APIでキーワードの順位を確認することは、実際に試すまでは解決済みの問題に見える作業のひとつです。rankings.get()というエンドポイントは存在せず、人が真っ先に手を伸ばす2つのGoogle APIは、どちらも、尋ねている問いとは微妙に異なる問いに答えています。出発点として適切なのはSearch Console Search Analyticsのドキュメントですが、そこでの「掲載順位」が何を意味するかを理解していることが前提です。
いいえ。Googleは、キーワードを受け取ってgoogle.comでの現在の順位を返すAPIを、これまで一度もリリースしていません。これは意図的なものです。検索結果ページへの自動クエリはGoogleの規約で禁止されており、Googleには順位追跡の基盤を提供する商業的な利益がないからです。
代わりに存在するのは、それぞれ明確な限界を持つ、3つの部分的な方法です。
| 方法 | 返すもの | 競合も対象か | 費用 |
|---|---|---|---|
| Search Console API | 平均掲載順位、自社サイトのみ | いいえ | 無料 |
| Custom Search JSON API | カスタム検索エンジンの結果 | はい、ただし本物のSERPではない | 1日100クエリまで無料 |
| サードパーティのSERP API | リアルタイムで正確なSERPでの順位 | はい | 有料、クエリごと |
searchAnalyticsのエンドポイントにqueryディメンションを指定してクエリを送り、positionフィールドを読み取ります。これはGoogleから直接得られる一次データで、無料で、キーワードの上限もありません。サイトが表示回数を得たすべてのクエリを取得できます。
Pythonでの実際のリクエストは次のとおりです。
from google.oauth2 import service_account
from googleapiclient.discovery import build
creds = service_account.Credentials.from_service_account_file(
"service-account.json",
scopes=["https://www.googleapis.com/auth/webmasters.readonly"],
)
service = build("searchconsole", "v1", credentials=creds)
response = service.searchanalytics().query(
siteUrl="https://example.com/",
body={
"startDate": "2026-07-01",
"endDate": "2026-07-31",
"dimensions": ["query", "page"],
"rowLimit": 25000,
},
).execute()
for row in response.get("rows", []):
query, page = row["keys"]
print(f"{row['position']:.1f} {query} -> {page}")
3つ目のポイントが、レポートを知らないうちに台無しにします。まだ最初の数ページに入り込めていないキーワードは、Search Consoleには単に存在しないため、このAPIだけでは、60位から20位への進捗を測定することができません。
技術的には可能ですが、意味のある形では不可能です。Custom Search JSON APIでは、まずProgrammable Search Engineを作成する必要があります。ウェブ全体を検索するように設定しても、独自のランキングと独自の制約が適用されるため、返される順序はgoogle.comが返す順序とは異なります。
無料プランでは1日100クエリが上限で、有料利用は1,000クエリごとの課金に加えて1日の上限があります。少数のキーワードを時々確認する程度なら実用に耐えます。しかし順位トラッカーとしては、信頼できそうに見えて、実は静かに間違っている数字を生み出すため、データがまったくない状態よりも悪い結果になります。
やめましょう。許可なくGoogle検索に自動クエリを送ることは、Googleの利用規約に反しており、量を問わず、IPのブロックやCAPTCHAの壁を招きます。規約の問題を別にしても、技術面の現実は厄介です。結果はパーソナライズされ、地域化され、AI機能でますます組み立てられるようになっているため、スクレイピングで得た「順位」は、サイトに何の変更がなくても、データセンター、場所、セッションによって変動します。
競合の順位が必要なら、商用のSERP APIが、提供会社自身の契約のもとで合法であり、運用面でも安定している方法です。これは有料の項目ですが、そのコストは、Googleが無償では提供していないデータの正直な対価です。社内で人を採用せずに、このパイプラインの構築と監視を任せたい企業は、通常は専門会社に依頼します。この種のレポートの設定を行う会社を紹介している、フランスのデータ分析エージェンシーベスト10の比較をご覧ください。

ほとんどのチームにとって現実的な構成は、ハイブリッドで、次のようになります。
この構成を自分たちで設計したくないチームは、通常は専門家に任せます。クライアント向けにこのレポートの仕組みを運用する会社を紹介している、フランスのSEOエージェンシーベスト10の比較をご覧ください。
この最後の点は、将来の懸念ではありません。AIの回答がインターフェース上でクエリを解決するとき、10位と3位は同じ結果、つまりクリックなしに収束します。引用を順位とあわせて追跡すること、それこそが、当社のSearch Console MCPサーバーとAI可視性プラットフォームの役割です。設定の全体は、ドキュメントで最初から最後まで説明しています。
リアルタイムのキーワード順位を返す公式のGoogle APIはありません。自社の平均化されたデータにはSearch Console APIを、正確な順位や競合の順位にはサードパーティのSERP APIを使い、順位の確認作業にはCustom Search JSON APIを完全に避けましょう。誤ったものの上に構築することが、ここで最もよくある間違いで、自信満々に不正確なダッシュボードを生み出します。
そのパイプラインを自分で構築して保守したくないなら、SorankはSearch Consoleを接続し、AIによる引用をひとつの場所で追跡します。
いいえ。Google は、キーワードを受け取って google.com での現在の掲載順位を返す API を公開したことはありません。Search Console API は確認済みの自社プロパティの平均掲載順位だけを返し、Custom Search JSON API は google.com とは並び順が一致しないカスタム検索エンジンに問い合わせます。
いいえ。Search Console は、デバイス、地域、日付をまたいだすべての表示回数の平均掲載順位を報告します。7.4 という値は 7 位を意味しません。期間中の表示は 3 位から 15 位まで幅があったかもしれません。
許可なく Google 検索に自動で問い合わせることは Google の利用規約に反し、ある程度の量になると IP のブロックや CAPTCHA が発生します。提供元の契約のもとで認められ、運用も安定しているのは、商用の SERP API を使う方法です。
先行導入企業のご紹介
