
FastAPI是什么?快速上手指南
API 服務平臺 | 主要功能 | 優缺點概述 |
---|---|---|
SE?Ranking API | 多區域(國家/城市)、桌面/移動排名、歷史趨勢、競品對比、批量查詢 | 官方 SDK 與 REST 接口;文檔完善;付費按項目/關鍵詞計費 |
DataForSEO Rank Tracker API | 支持大規模關鍵詞監測、SaaS 平臺集成、JSON/CSV 導出 | 調用穩定;計費靈活;稍高的學習曲線 |
Keyword.com Rank Tracker API | 實時與批量查詢、企業級 SLA、API Key 訪問控制 | 企業級方案;價格偏高;需綁定關鍵字套餐 |
Ahrefs API | 綜合 SEO 工具,含排名監測、反向鏈接分析、關鍵詞研究等 | 功能豐富;價格昂貴;接口調用限制 |
> 推薦方案:對中大型企業或數字營銷團隊,首選 SE?Ranking API 或 DataForSEO API,兼顧功能完備與成本可控;對小團隊或試水用戶,可先使用免費/試用版 SE?Ranking API。
以 SE?Ranking API 為示例:
注冊賬號并獲取憑據
API Key
與 Secret Key
。安裝官方 SDK(Python)
pip install se-ranking-sdk requests pandas
或采用 RESTful 調用(任何語言)
https://api.seranking.com/v2/keywords/ranking
(API_KEY, SECRET_KEY)
Accept: application/json
import requests
API_URL = "https://api.seranking.com/v2/keywords/ranking"
auth = ("YOUR_API_KEY", "YOUR_SECRET_KEY")
payload = {
"project_id": 12345,
"keywords": ["seo rank api tutorial"],
"se_type": "desktop_en", # 搜索引擎類別:desktop_en / mobile_en / etc.
"location": {"location": 2250} # 地區 ID(2250 = United States)
}
resp = requests.post(API_URL, json=payload, auth=auth)
data = resp.json()
print(data['results'])
返回字段解析
keyword_id
:關鍵詞唯一標識url
:被查詢的目標 URLposition
:當前排名previous_position
:前一次排名volume
:該關鍵詞月度搜索量updated_at
:更新時間戳payload = {
"project_id": 12345,
"keywords": ["seo api", "keyword monitoring", "rank tracker"],
"urls": ["https://example.com/page1", "https://example.com/page2"],
"se_type": "desktop_en",
"location": {"location": 2250}
}
resp = requests.post(API_URL, json=payload, auth=auth)
batch_results = resp.json()['results']
一次請求即可返回多關鍵詞、多 URL 的排名矩陣,便于競品對比與 URL 優化。
CREATE TABLE keyword_ranking (
id SERIAL PRIMARY KEY,
project_id INT,
keyword_id INT,
keyword TEXT,
url TEXT,
position INT,
previous_position INT,
volume INT,
se_type TEXT,
location_id INT,
updated_at TIMESTAMP
);
keyword_ranking
keyword_id
, url
, se_type
, location_id
position
, previous_position
, volume
updated_at
可高效存儲與查詢大規模、秒級粒度的排名波動。
import pandas as pd
import matplotlib.pyplot as plt
# 假設 df 為 DataFrame,已包含歷史多次抓取記錄
df = pd.read_sql("SELECT * FROM keyword_ranking WHERE keyword='seo api'", con=engine)
df.set_index('updated_at', inplace=True)
df['position'].plot(title='SEO API 關鍵詞排名趨勢', marker='o')
plt.gca().invert_yaxis() # 排名 1 在頂部
plt.xlabel('日期')
plt.ylabel('排名')
plt.show()
df['ma7'] = df['position'].rolling(7).mean()
df'position','ma7'.plot(title='7天移動平均排名趨勢')
幫助平滑短期波動,識別長期優化效果。
# 統計 Top10 出現比例
top10 = df[df['position'] < = 10].groupby('url').size() / df['updated_at'].nunique()
print("Share of Voice (Top10):\n", top10)
支持營銷團隊評估競品布局與內容策略。
position - previous_position > = 3
position > 10
推薦方案:Grafana+InfluxDB 或 Tableau/Power BI+Postgres
面板示例
可通過 API 定時更新數據源,實現實時監控與自助分析。
通過本文詳細的SEO Rank API 關鍵詞排名監測實戰指南,你將能夠構建一套完備的數據驅動 SEO 監控體系,為站點搜索可見度和流量增長提供可靠保障。立即行動,開啟自動化排名監測之旅!
原文引自YouTube視頻:https://www.youtube.com/watch?v=jy1g9ws1dJs