搜尋 Google 排名 API 的團隊,想要的通常是同一件事:一個能回傳某個頁面在某個關鍵字下排第幾的呼叫。Google 並不提供。
Google 提供的,是一組描述你自己成效、你自己的索引狀態、你自己的檢索情況的 API。它們確實有用,而且全部免費。但它們在結構上無法回答大多數人帶著來搜尋的那個問題。
我們花了一天,在一個真實站點上測量這些 API 實際回傳什麼,包括那些容易被誤讀的部分。有三個發現格外突出:資料晚到三天;那個位置數字是平均值,拿去和即時結果對照重現不出來;而聽起來最像排名查詢的那個 API,回傳的判定單獨看什麼也說明不了。
Google 實際提供了什麼
有四個介面常被誤認為排名 API。按 Google 自己的文件,各自用途如下。
Search Analytics API 回傳已驗證資源的點擊、曝光、CTR 和平均排名。它是 Google 提供的、最接近排名資料的東西,也是 Search Console 裡每一個「平均排名」數字的來源。
URL Inspection API 回傳單一 URL 的索引狀態:Google 是否知道它、是否已索引,如果沒有又是為什麼。
Indexing API 聽起來像是用來提交頁面索引的。Google 的文件把支援類型限定為 JobPosting 和 BroadcastEvent 結構化資料,這是個很窄的用途,不是通用的索引提交。
Custom Search JSON API 回傳某個查詢的網頁結果。它搜尋的是你自己設定的索引,不會告訴你你的站點在 Google 主要搜尋結果裡排第幾。
它們都不回傳「你這個關鍵字的排名」。這件事不存在於 Google 的產品線裡,而它的缺席是刻意的,不是疏忽。Google 沒有商業理由大規模發放競爭對手的排名資料。
測量結果:資料晚三天
2026 年 9 月 12 日,我們拉取了自己站點的逐日明細。有資料的最新日期是 9 月 9 日。
可用日期 | 回傳列數 |
|---|---|
2026-09-02 | 有 |
2026-09-03 | 有 |
2026-09-04 | 有 |
2026-09-05 | 有 |
2026-09-06 | 有 |
2026-09-07 | 有 |
2026-09-08 | 有 |
2026-09-09 | 有(最新) |
穩定落後三天。window 參數是從可用的最新日期往前數,而不是從今天往前數,這裡有個小陷阱:要求七天,回傳的是以 9 月 9 日結尾的八個日期,不是 9 月 12 日。
對月報來說這無關緊要。對「我昨天的頁面改動是不是弄壞了什麼」這個問題,它是致命的。沒有任何設定能修好它。延遲在 Google 那一側的線路上。
測量結果:平均排名不是排名
這是更重要的發現,也是讓人相信 Google 排名 API 存在、只是藏著不肯給的原因。
平均排名是你的 URL 在該期間內所有曝光中的平均位置,按國家、裝置、查詢變體加權。即時排名檢查回傳的是一個位置、一台裝置、一個瞬間的一個數字。它們是共用了同一個名字的兩種不同測量。
我們從自己的 Search Console 資料裡抽出 25 個查詢驗證這個落差,然後把這 25 個關鍵字拿去對美國、英文、桌機版的即時 SERP 做深度 100 的檢查。
結果 | 數量 |
|---|---|
兩組裡都能用的查詢 | 23 |
出現在即時前 100 | 14(61%) |
有 Search Console 曝光但重現不出即時結果 | 9(39%) |
兩者都存在時絕對落差的中央值 | 7.4 位 |
絕對落差的平均 | 8.5 位 |
最大落差 | 36.6 位 |
彼此相差在 3 位以內 | 14 個中有 4 個 |
相差超過 10 位 | 14 個中有 4 個 |

在兩種測量都存在的地方,它們的中央值落差是 7.4 位。
有兩個細節比平均值更重要。
第一,23 個查詢裡有 9 個給出了 Search Console 位置,但在美國、英文、桌機版的檢查裡完全沒有即時結果。這不是 bug。曝光會從其他國家、其他語言、其他裝置,以及圖片和影片介面累積而來。單一地區的檢查不可能重現它們;把兩個數字當成同一種測量的團隊,會花整整一週去追一個純粹是方法產物的差異。
第二,方向並不一致。多數即時位置落在 Search Console 平均值之下,這符合預期,因為平均值包含了表現更好的介面。但有一個查詢朝反方向移動了 36.6 位,從 73.6 變成 37。沒有任何修正係數可用。

落差朝兩個方向跑,所以沒有可用的修正係數。
對正在挑 Google 排名 API 的人來說,實際後果是:免費資料不會告訴你排名,付費資料又和它對不上。兩者都在正確地測量不同的東西。把任何一方當成另一方的替代品,報告就是從那裡開始出錯的。
第一方資料真正不可替代的地方是覆蓋率,我們在另一篇文章裡單獨做了對照測量。
URL Inspection API 回傳的其實是別的東西
URL Inspection API 是 Google 這些介面裡唯一感覺像排名檢查的,因為你給它一個不含關鍵字的 URL,它會回傳一個狀態。我們測了兩個 URL。
URL 狀態 | 判定 | 覆蓋率狀態 | 上次檢索時間 |
|---|---|---|---|
約一小時前發布 | NEUTRAL | Google 不認得此 URL | 未知 |
約九小時前發布 | NEUTRAL | 已發現,目前未索引 | 未知 |
兩者回傳了相同的判定。真正區分這兩種情況的欄位是覆蓋率狀態字串,它是一句話,不是列舉值。對 Google 從未見過的 URL,和對它已發現但未索引的 URL,判定欄位都回傳 NEUTRAL。
這是個能用的 API,單獨作為監控訊號卻很糟。如果你想在頁面未被索引時收到告警,請解析覆蓋率狀態而不是判定欄位,並且要預期:恰恰是你最在意的那些 URL,上次檢索時間會缺席。
四個介面,以及沒有一個在做的事
問題 | Google 的介面 | 回答 |
|---|---|---|
上週我這個查詢表現如何 | Search Analytics API | 能答。晚三天,且是平均值 |
這個 URL 索引了嗎 | URL Inspection API | 能答。按 URL,需主動要求 |
我現在任意關鍵字排第幾 | 無 | 不能 |
我的競爭對手排第幾 | 無 | 不能 |
我沒排名的關鍵字的 SERP 長什麼樣 | 無 | 不能 |
模式是一致的。Google 的 API 從內部描述你的站點。而排名問題是從外部、針對一個結果頁提出的,Google 不提供這個。
怎樣在不花冤枉錢的前提下補上缺口
實際可行的設定是兩個各司其職的資料來源,而不是讓一個資料來源既做這又做那。
用 Google 的 API 做自己站點的基準事實。 點擊、曝光和索引狀態是你在別處拿不到的第一方事實,而且免費。按排程拉取,把三天延遲當作這個測量工具本身的性質。
用 SERP 資料來源看外部視角。 即時排名、競爭對手排名,以及你還沒排名的關鍵字。這部分要付費,但比多數團隊以為的便宜:在我們的測試裡,按深度 100 檢查 23 個關鍵字花了 $0.2975,也就是每次檢查 $0.0129。
不要去調和這兩個數字。 它們測的是不同的東西。有用的做法是把它們並排讀:Search Console 告訴你發生過什麼,即時檢查告訴你正在發生什麼。兩者不一致時,先看那個查詢的國家和裝置組成,再下任何結論。
把兩者跑在同一個腳本裡的機制在我們的雙資料來源追蹤器建置裡,即時那一半的成本在批次檢查測試裡算過。
常見問題
Google 有官方的排名 API 嗎? 沒有。Google 提供的是你自己搜尋成效(Search Analytics)、索引狀態(URL Inspection),以及兩種很窄的提交類型(Indexing)。沒有任何一個回傳關鍵字排名。
既然沒有排名 API,為什麼 Search Console 會顯示位置? 因為平均排名是從你的曝光算出來的成效指標,不是排名查詢。它是該期間內所有曝光的平均位置,跨國家、裝置和介面再取平均。
Search Console 的資料落後多久? 我們在 2026 年 9 月 12 日測到的是三天,可用的最新日期是 9 月 9 日。window 參數從那個日期往前數,所以要求七天會回傳以最新可用日期結尾的八個日期。
URL Inspection API 能告訴我頁面是否被索引嗎? 能,而且它就是做這件事的合適工具。請讀覆蓋率狀態字串,而不是判定欄位,因為對未知 URL 和已發現但未索引的 URL,判定都會回傳 NEUTRAL。
Custom Search JSON API 是排名 API 嗎? 不是。它回傳的是你自己設定的搜尋引擎的結果,不是你在 Google 主要搜尋結果中的位置。
拿到真實排名資料最便宜的方式是什麼? 只檢查你真正會動手處理的那一小批關鍵字,深度選在和你排名位置相稱的檔位。在我們的測試裡,深度 10 每次檢查 $0.002,深度 100 是 $0.014,也就是說深度設定對帳單的影響比關鍵字數量多七倍。
Auspia 觀點:「有沒有 Google 排名 API」這個問題,誠實的答案是沒有,而真正有用的下一步是別再找了。Google 的 API 很好地回答第一方問題,卻完全無法回答排名問題。給外部視角留一筆小預算,把剩下的力氣花在 Google 不會替你做的部分上——當兩個數字打架時,決定要改什麼。
作者:Gabriel Finch,Auspia 搜尋檢索研究員,已審核 1,200 多個 AI 回答。他撰寫關於搜尋基礎設施、檢索系統,以及每個資料來源實際能看到什麼的內容。




