curl --request POST \
--url https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"target": "<string>",
"location_name": "<string>",
"language_name": "<string>",
"location_code": 123,
"language_code": "<string>",
"date_from": "<string>",
"date_to": "<string>",
"correlate": true,
"ignore_synonyms": true,
"include_clickstream_data": true,
"tag": "<string>"
}
]
'import requests
url = "https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live"
payload = [
{
"target": "<string>",
"location_name": "<string>",
"language_name": "<string>",
"location_code": 123,
"language_code": "<string>",
"date_from": "<string>",
"date_to": "<string>",
"correlate": True,
"ignore_synonyms": True,
"include_clickstream_data": True,
"tag": "<string>"
}
]
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
target: '<string>',
location_name: '<string>',
language_name: '<string>',
location_code: 123,
language_code: '<string>',
date_from: '<string>',
date_to: '<string>',
correlate: true,
ignore_synonyms: true,
include_clickstream_data: true,
tag: '<string>'
}
])
};
fetch('https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'target' => '<string>',
'location_name' => '<string>',
'language_name' => '<string>',
'location_code' => 123,
'language_code' => '<string>',
'date_from' => '<string>',
'date_to' => '<string>',
'correlate' => true,
'ignore_synonyms' => true,
'include_clickstream_data' => true,
'tag' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live"
payload := strings.NewReader("[\n {\n \"target\": \"<string>\",\n \"location_name\": \"<string>\",\n \"language_name\": \"<string>\",\n \"location_code\": 123,\n \"language_code\": \"<string>\",\n \"date_from\": \"<string>\",\n \"date_to\": \"<string>\",\n \"correlate\": true,\n \"ignore_synonyms\": true,\n \"include_clickstream_data\": true,\n \"tag\": \"<string>\"\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("[\n {\n \"target\": \"<string>\",\n \"location_name\": \"<string>\",\n \"language_name\": \"<string>\",\n \"location_code\": 123,\n \"language_code\": \"<string>\",\n \"date_from\": \"<string>\",\n \"date_to\": \"<string>\",\n \"correlate\": true,\n \"ignore_synonyms\": true,\n \"include_clickstream_data\": true,\n \"tag\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"target\": \"<string>\",\n \"location_name\": \"<string>\",\n \"language_name\": \"<string>\",\n \"location_code\": 123,\n \"language_code\": \"<string>\",\n \"date_from\": \"<string>\",\n \"date_to\": \"<string>\",\n \"correlate\": true,\n \"ignore_synonyms\": true,\n \"include_clickstream_data\": true,\n \"tag\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"version": "<string>",
"status_code": 123,
"status_message": "<string>",
"time": "<string>",
"cost": 123,
"tasks_count": 123,
"tasks_error": 123,
"tasks": [
"<string>"
],
"tasks.id": "<string>",
"tasks.status_code": 123,
"tasks.status_message": "<string>",
"tasks.time": "<string>",
"tasks.cost": 123,
"tasks.result_count": 123,
"tasks.path": [
"<string>"
],
"tasks.data": {},
"tasks.result": [
"<string>"
],
"tasks.result.se_type": "<string>",
"tasks.result.target": "<string>",
"tasks.result.location_code": 123,
"tasks.result.language_code": "<string>",
"tasks.result.total_count": 123,
"tasks.result.items_count": 123,
"tasks.result.items": [
"<string>"
],
"tasks.result.items.se_type": "<string>",
"tasks.result.items.year": 123,
"tasks.result.items.month": 123,
"tasks.result.items.metrics": {},
"tasks.result.items.metrics.organic": {},
"tasks.result.items.metrics.organic.pos_1": 123,
"tasks.result.items.metrics.organic.pos_2_3": 123,
"tasks.result.items.metrics.organic.pos_4_10": 123,
"tasks.result.items.metrics.organic.pos_11_20": 123,
"tasks.result.items.metrics.organic.pos_21_30": 123,
"tasks.result.items.metrics.organic.pos_31_40": 123,
"tasks.result.items.metrics.organic.pos_41_50": 123,
"tasks.result.items.metrics.organic.pos_51_60": 123,
"tasks.result.items.metrics.organic.pos_61_70": 123,
"tasks.result.items.metrics.organic.pos_71_80": 123,
"tasks.result.items.metrics.organic.pos_81_90": 123,
"tasks.result.items.metrics.organic.pos_91_100": 123,
"tasks.result.items.metrics.organic.etv": 123,
"tasks.result.items.metrics.organic.count": 123,
"tasks.result.items.metrics.organic.estimated_paid_traffic_cost": 123,
"tasks.result.items.metrics.organic.is_new": 123,
"tasks.result.items.metrics.organic.is_up": 123,
"tasks.result.items.metrics.organic.is_down": 123,
"tasks.result.items.metrics.organic.is_lost": 123,
"tasks.result.items.metrics.organic.clickstream_etv": 123,
"tasks.result.items.metrics.organic.clickstream_gender_distribution": {},
"tasks.result.items.metrics.organic.female": 123,
"tasks.result.items.metrics.organic.male": 123,
"tasks.result.items.metrics.organic.clickstream_age_distribution": {},
"tasks.result.items.metrics.organic.18-24": 123,
"tasks.result.items.metrics.organic.25-34": 123,
"tasks.result.items.metrics.organic.35-44": 123,
"tasks.result.items.metrics.organic.45-54": 123,
"tasks.result.items.metrics.organic.55-64": 123,
"tasks.result.items.metrics.paid": {},
"tasks.result.items.metrics.paid.pos_1": 123,
"tasks.result.items.metrics.paid.pos_2_3": 123,
"tasks.result.items.metrics.paid.pos_4_10": 123,
"tasks.result.items.metrics.paid.pos_11_20": 123,
"tasks.result.items.metrics.paid.pos_21_30": 123,
"tasks.result.items.metrics.paid.pos_31_40": 123,
"tasks.result.items.metrics.paid.pos_41_50": 123,
"tasks.result.items.metrics.paid.pos_51_60": 123,
"tasks.result.items.metrics.paid.pos_61_70": 123,
"tasks.result.items.metrics.paid.pos_71_80": 123,
"tasks.result.items.metrics.paid.pos_81_90": 123,
"tasks.result.items.metrics.paid.pos_91_100": 123,
"tasks.result.items.metrics.paid.etv": 123,
"tasks.result.items.metrics.paid.count": 123,
"tasks.result.items.metrics.paid.estimated_paid_traffic_cost": 123,
"tasks.result.items.metrics.paid.is_new": 123,
"tasks.result.items.metrics.paid.is_up": 123,
"tasks.result.items.metrics.paid.is_down": 123,
"tasks.result.items.metrics.paid.is_lost": 123,
"tasks.result.items.metrics.paid.clickstream_etv": 123,
"tasks.result.items.metrics.paid.clickstream_gender_distribution": {},
"tasks.result.items.metrics.paid.female": 123,
"tasks.result.items.metrics.paid.male": 123,
"tasks.result.items.metrics.paid.clickstream_age_distribution": {},
"tasks.result.items.metrics.paid.18-24": 123,
"tasks.result.items.metrics.paid.25-34": 123,
"tasks.result.items.metrics.paid.35-44": 123,
"tasks.result.items.metrics.paid.45-54": 123,
"tasks.result.items.metrics.paid.55-64": 123
}历史排名概览
此端点将提供指定域名的历史排名和流量数据,例如该域名在 SERP 中的排名分布,以及自然搜索结果和付费搜索结果的预估月流量。
curl --request POST \
--url https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"target": "<string>",
"location_name": "<string>",
"language_name": "<string>",
"location_code": 123,
"language_code": "<string>",
"date_from": "<string>",
"date_to": "<string>",
"correlate": true,
"ignore_synonyms": true,
"include_clickstream_data": true,
"tag": "<string>"
}
]
'import requests
url = "https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live"
payload = [
{
"target": "<string>",
"location_name": "<string>",
"language_name": "<string>",
"location_code": 123,
"language_code": "<string>",
"date_from": "<string>",
"date_to": "<string>",
"correlate": True,
"ignore_synonyms": True,
"include_clickstream_data": True,
"tag": "<string>"
}
]
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
target: '<string>',
location_name: '<string>',
language_name: '<string>',
location_code: 123,
language_code: '<string>',
date_from: '<string>',
date_to: '<string>',
correlate: true,
ignore_synonyms: true,
include_clickstream_data: true,
tag: '<string>'
}
])
};
fetch('https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'target' => '<string>',
'location_name' => '<string>',
'language_name' => '<string>',
'location_code' => 123,
'language_code' => '<string>',
'date_from' => '<string>',
'date_to' => '<string>',
'correlate' => true,
'ignore_synonyms' => true,
'include_clickstream_data' => true,
'tag' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live"
payload := strings.NewReader("[\n {\n \"target\": \"<string>\",\n \"location_name\": \"<string>\",\n \"language_name\": \"<string>\",\n \"location_code\": 123,\n \"language_code\": \"<string>\",\n \"date_from\": \"<string>\",\n \"date_to\": \"<string>\",\n \"correlate\": true,\n \"ignore_synonyms\": true,\n \"include_clickstream_data\": true,\n \"tag\": \"<string>\"\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("[\n {\n \"target\": \"<string>\",\n \"location_name\": \"<string>\",\n \"language_name\": \"<string>\",\n \"location_code\": 123,\n \"language_code\": \"<string>\",\n \"date_from\": \"<string>\",\n \"date_to\": \"<string>\",\n \"correlate\": true,\n \"ignore_synonyms\": true,\n \"include_clickstream_data\": true,\n \"tag\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"target\": \"<string>\",\n \"location_name\": \"<string>\",\n \"language_name\": \"<string>\",\n \"location_code\": 123,\n \"language_code\": \"<string>\",\n \"date_from\": \"<string>\",\n \"date_to\": \"<string>\",\n \"correlate\": true,\n \"ignore_synonyms\": true,\n \"include_clickstream_data\": true,\n \"tag\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"version": "<string>",
"status_code": 123,
"status_message": "<string>",
"time": "<string>",
"cost": 123,
"tasks_count": 123,
"tasks_error": 123,
"tasks": [
"<string>"
],
"tasks.id": "<string>",
"tasks.status_code": 123,
"tasks.status_message": "<string>",
"tasks.time": "<string>",
"tasks.cost": 123,
"tasks.result_count": 123,
"tasks.path": [
"<string>"
],
"tasks.data": {},
"tasks.result": [
"<string>"
],
"tasks.result.se_type": "<string>",
"tasks.result.target": "<string>",
"tasks.result.location_code": 123,
"tasks.result.language_code": "<string>",
"tasks.result.total_count": 123,
"tasks.result.items_count": 123,
"tasks.result.items": [
"<string>"
],
"tasks.result.items.se_type": "<string>",
"tasks.result.items.year": 123,
"tasks.result.items.month": 123,
"tasks.result.items.metrics": {},
"tasks.result.items.metrics.organic": {},
"tasks.result.items.metrics.organic.pos_1": 123,
"tasks.result.items.metrics.organic.pos_2_3": 123,
"tasks.result.items.metrics.organic.pos_4_10": 123,
"tasks.result.items.metrics.organic.pos_11_20": 123,
"tasks.result.items.metrics.organic.pos_21_30": 123,
"tasks.result.items.metrics.organic.pos_31_40": 123,
"tasks.result.items.metrics.organic.pos_41_50": 123,
"tasks.result.items.metrics.organic.pos_51_60": 123,
"tasks.result.items.metrics.organic.pos_61_70": 123,
"tasks.result.items.metrics.organic.pos_71_80": 123,
"tasks.result.items.metrics.organic.pos_81_90": 123,
"tasks.result.items.metrics.organic.pos_91_100": 123,
"tasks.result.items.metrics.organic.etv": 123,
"tasks.result.items.metrics.organic.count": 123,
"tasks.result.items.metrics.organic.estimated_paid_traffic_cost": 123,
"tasks.result.items.metrics.organic.is_new": 123,
"tasks.result.items.metrics.organic.is_up": 123,
"tasks.result.items.metrics.organic.is_down": 123,
"tasks.result.items.metrics.organic.is_lost": 123,
"tasks.result.items.metrics.organic.clickstream_etv": 123,
"tasks.result.items.metrics.organic.clickstream_gender_distribution": {},
"tasks.result.items.metrics.organic.female": 123,
"tasks.result.items.metrics.organic.male": 123,
"tasks.result.items.metrics.organic.clickstream_age_distribution": {},
"tasks.result.items.metrics.organic.18-24": 123,
"tasks.result.items.metrics.organic.25-34": 123,
"tasks.result.items.metrics.organic.35-44": 123,
"tasks.result.items.metrics.organic.45-54": 123,
"tasks.result.items.metrics.organic.55-64": 123,
"tasks.result.items.metrics.paid": {},
"tasks.result.items.metrics.paid.pos_1": 123,
"tasks.result.items.metrics.paid.pos_2_3": 123,
"tasks.result.items.metrics.paid.pos_4_10": 123,
"tasks.result.items.metrics.paid.pos_11_20": 123,
"tasks.result.items.metrics.paid.pos_21_30": 123,
"tasks.result.items.metrics.paid.pos_31_40": 123,
"tasks.result.items.metrics.paid.pos_41_50": 123,
"tasks.result.items.metrics.paid.pos_51_60": 123,
"tasks.result.items.metrics.paid.pos_61_70": 123,
"tasks.result.items.metrics.paid.pos_71_80": 123,
"tasks.result.items.metrics.paid.pos_81_90": 123,
"tasks.result.items.metrics.paid.pos_91_100": 123,
"tasks.result.items.metrics.paid.etv": 123,
"tasks.result.items.metrics.paid.count": 123,
"tasks.result.items.metrics.paid.estimated_paid_traffic_cost": 123,
"tasks.result.items.metrics.paid.is_new": 123,
"tasks.result.items.metrics.paid.is_up": 123,
"tasks.result.items.metrics.paid.is_down": 123,
"tasks.result.items.metrics.paid.is_lost": 123,
"tasks.result.items.metrics.paid.clickstream_etv": 123,
"tasks.result.items.metrics.paid.clickstream_gender_distribution": {},
"tasks.result.items.metrics.paid.female": 123,
"tasks.result.items.metrics.paid.male": 123,
"tasks.result.items.metrics.paid.clickstream_age_distribution": {},
"tasks.result.items.metrics.paid.18-24": 123,
"tasks.result.items.metrics.paid.25-34": 123,
"tasks.result.items.metrics.paid.35-44": 123,
"tasks.result.items.metrics.paid.45-54": 123,
"tasks.result.items.metrics.paid.55-64": 123
}示例
curl -X POST "https://api.aisa.one/apis/v1/dataforseo/dataforseo_labs/google/historical_rank_overview/live" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '[{"target": "...", "location_name": "...", "location_code": "..."}]'
// 把整段复制给 Claude Code、Codex、Cursor 或任意 coding agent。
// 连接、授权、跑通这个例子需要的东西都在里面 ——
// 不用粘贴任何 key,浏览器里点一次 Allow 就好。
{
"operation_id": "post_dataforseo_labs_google_historical_rank_live",
"arguments": {},
"max_price_usd": 0.05
}
// ── for the agent ─────────────────────────────────────────────────────────
// Register the AIsa MCP server, then call its `use` tool with the JSON above.
// name aisa
// endpoint https://mcp.aisa.one/mcp
// transport streamable-http
// auth OAuth. The server publishes RFC 9728 metadata, so open a
// browser and the user clicks Allow once — nothing to paste.
// If AISA_API_KEY is set, send it as a bearer header instead.
// Use your own MCP mechanism, not a hand-edited config file:
// Codex codex mcp add aisa --url https://mcp.aisa.one/mcp
// Claude Code claude mcp add --transport http -s user aisa https://mcp.aisa.one/mcp
// Cursor / VS Code a "url" entry for https://mcp.aisa.one/mcp in the MCP config
// The server lists five tools over https://mcp.aisa.one/servers worth of APIs:
// search, get_details, use, batch_use, list_categories. search and
// get_details are free; use is billed per call and max_price_usd refuses
// anything above the cap before spending. This operation's full contract —
// every argument, the response shape, the price and the pitfalls — is at
// https://aisa.one/docs/zh/api-reference/dataforseo/post_dataforseo-dataforseo-labs-google-historical-rank-overview-live.md
// Then run the call and show me the result.
https://mcp.aisa.one/mcp —— Claude Code、
Codex、Cursor、VS Code 都可以。鉴权走 OAuth:客户端打开浏览器,你点一次
Allow,不需要粘贴任何 key。各客户端的具体命令和每次调用的价格见
aisa.one/zh-cn/mcp。授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
请求体
- Option 1
- Option 2
- Option 3
- Option 4
位置的完整名称;未指定 location_code 时为必填字段。注意:必须指定 location_name 或 location_code 之一。您可以通过向 https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages 单独发送请求,获取包含 location_name 的可用位置列表;示例:United Kingdom
语言的完整名称 如果未指定 language_code,则为必填字段 注意:必须指定 language_name 或 language_code 之一 可以通过向 https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages 单独发送请求,获取包含 language_name 的可用位置列表 示例:English
位置代码;如果未指定 location_name,则为必填字段。注意:必须指定 location_name 或 location_code 其中之一;可通过向 https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages 单独发起请求,获取可用位置及其 location_code 的列表;示例:2840
语言代码;如果未指定 language_name,则此字段为必填字段。注意:必须指定 language_name 或 language_code 之一。您可以通过向 https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages 单独发送请求,获取可用位置及其 language_code 的列表。示例:en
时间范围的起始日期。可选字段;如果未指定此字段,将提供前 6 个月的数据。最小可用值:2020-10-01。日期格式:"yyyy-mm-dd"
时间范围的结束日期,可选字段。如果未指定此字段,则默认使用今天的日期。日期格式:"yyyy-mm-dd",示例:"2021-04-01"
将数据与之前获取的数据集关联;可选字段;默认值:true;如果使用此参数,系统会将当前获取的数据与之前获取的数据集关联;此参数旨在减少数据库变更可能导致的任何不一致;建议始终将 correlate 设置为 true
忽略高度相似的关键词,可选字段;如果设置为 true,则仅返回基于核心关键词的数据,并排除所有高度相似关键词的数据;默认值:false
在结果中包含或排除基于点击流的指标数据,可选字段。如果将该参数设置为 true,响应中将包含带有点击流数据的 clickstream_etv、clickstream_gender_distribution 和 clickstream_age_distribution 字段;默认值:false。注意:历史点击流数据从 2024/05(2024 年 5 月)起可用;启用此参数后,该请求将按双倍价格收费;有关基于点击流的指标如何计算的更多信息,请参阅此帮助中心文章
用户定义的任务标识符。可选字段。字符数限制为 255。您可以使用此参数标识任务并将其与结果匹配;您将在响应的 data 对象中找到指定的 tag 值
响应
成功响应
API 的当前版本
通用状态码;您可以在此处查看完整的响应码列表。注意:我们强烈建议设计必要的系统来处理相关异常或错误情况
常规信息消息;可在此处查看常规信息消息的完整列表
执行时间(秒)
任务总成本(美元)
tasks 数组中的任务数量
返回错误的 tasks 数组中的任务数量
任务数组
任务标识符,系统中采用 UUID 格式的唯一任务标识符
DataForSEO 生成的任务状态码;范围为:10000-60000;完整响应代码列表可在此处查看
任务的信息性消息,你可以在此处查看通用信息性消息的完整列表
执行时间(秒)
任务成本(美元)
结果数组中的元素数量
URL 路径
包含您在 POST 请求中指定的相同参数
结果数组
搜索引擎类型
POST 数组中的目标域名
POST 数组中的位置代码
POST 数组中的语言代码
数据库中与您的请求相关的结果总量
items 数组中返回的结果数量
包含历史排名和流量数据
搜索引擎类型
所提供数据对应的年份
数据对应的月份
与指定域名相关的排名数据
自然搜索的排名和流量数据
域名排名第 #1 的自然搜索 SERP 数量
域名自然搜索结果排名第 2–3 位的数量
域名排名第 4-10 位的自然搜索结果页数量
域名排名第 11-20 位的自然搜索结果页数量
域名排名第 21-30 位的自然搜索结果页数量
域名排名第 31-40 位的自然搜索结果页数量
域名排名第 41–50 位的自然搜索结果页数量
域名排名第 51–60 位的自然搜索结果页数量
域名排名第 #61-70 位的自然搜索结果数量
域名排名第 71-80 位的自然搜索结果页数量
该域名排名第 81-90 位的自然搜索 SERP 数量
该域名排名第 91-100 位的自然搜索 SERP 数量
预估流量 域名的预估自然搜索月流量,计算方式为该域名参与排名的所有关键词的 CTR(点击率)与搜索量之乘积的总和;有关此指标计算方式的更多信息,请参阅此帮助中心文章
包含该域名的自然搜索 SERP 总数
将自然搜索流量转化为付费流量的估算成本,表示为某个域名有排名的所有关键词投放广告的估算每月成本(USD);该指标通过 organic etv 与 paid cpc 值的乘积计算,表示通过 Google Search 中的 PPC 广告获得估算每月自然流量所需的成本。有关该指标如何计算的更多信息,请参阅此帮助中心文章
新排名元素的数量,表示为指定目标发现了多少个新排名元素
排名上升,表示指定目标中排名上升的元素数量
排名下降 表示指定目标中排名下降的元素数量
丢失的排名元素;表示所指目标中有多少排名元素此前曾出现在 SERP 中,但在最近一次检查时未被发现
基于点击流数据估算的流量,即该域名获得排名的所有关键词的点击率与点击流搜索量乘积之和 要获取此字段的结果,必须将参数 include_clickstream_data 设置为 true 有关此指标计算方式的更多信息,请参阅此帮助中心文章
按性别划分的基于估算点击流的指标分布;要检索此字段的结果,参数 include_clickstream_data 必须设置为 true;有关该指标计算方式的更多信息,请参阅此帮助中心文章
相关点击流数据集中的女性用户数量
相关点击流数据集中的男性用户数量
按年龄划分的基于点击流的指标分布。要检索此字段的结果,必须将参数 include_clickstream_data 设置为 true。有关该指标计算方式的更多信息,请参阅此帮助中心文章
相关点击流数据集中年龄在 18 至 24 岁范围内的用户数量
相关点击流数据集中年龄在 25-34 岁范围内的用户数量
相关点击流数据集中年龄在 35-44 岁范围内的用户数量
相关点击流数据集中年龄在 45-54 岁范围内的用户数量
相关点击流数据集中年龄在 55-64 岁范围内的用户数量
付费搜索的排名和流量数据
该域名排名第 1 的付费 SERP 数量
域名排名第 #2-3 位的付费 SERP 数量
域名排名第 #4-10 位的付费 SERP 数量
域名排名第 #11-20 位的付费 SERP 数量
该域名在付费 SERP 中排名第 21-30 位的数量
域名排名第 #31-40 位的付费 SERP 数量
域名排名第 #41-50 位的付费 SERP 数量
域名在付费搜索结果页中排名第 51-60 位的数量
域名排名第 #61-70 位的付费 SERP 数量
域名排名第 #71-80 位的付费 SERP 数量
域名排名第 81-90 位的付费搜索结果页数量
域名在付费搜索结果中排名第 91-100 位的 SERP 数量
预估流量:域名的预估每月付费流量,计算方式为该域名排名涉及的所有关键词的 CTR(点击率)与搜索量之积;有关此指标计算方式的更多信息,请参阅此帮助中心文章
包含该域名的付费 SERP 总数
每月搜索流量的预估成本。表示根据 etv 和 cpc 值估算的每月付费流量成本(USD)。有关该指标计算方式的更多信息,请参阅此帮助中心文章
新排名元素的数量,表示为指定目标发现了多少个新排名元素
排名上升,表示指定目标中排名上升的元素数量
排名下降 表示指定目标中排名下降的元素数量
丢失的排名元素;表示所指目标中有多少排名元素此前曾出现在 SERP 中,但在最近一次检查时未被发现
基于点击流数据估算的流量,即该域名获得排名的所有关键词的点击率与点击流搜索量乘积之和 要获取此字段的结果,必须将参数 include_clickstream_data 设置为 true 有关此指标计算方式的更多信息,请参阅此帮助中心文章
按性别划分的基于估算点击流的指标分布;要检索此字段的结果,参数 include_clickstream_data 必须设置为 true;有关该指标计算方式的更多信息,请参阅此帮助中心文章
相关点击流数据集中的女性用户数量
相关点击流数据集中的男性用户数量
按年龄划分的基于点击流的指标分布。要检索此字段的结果,必须将参数 include_clickstream_data 设置为 true。有关该指标计算方式的更多信息,请参阅此帮助中心文章
相关点击流数据集中年龄在 18 至 24 岁范围内的用户数量
相关点击流数据集中年龄在 25-34 岁范围内的用户数量
相关点击流数据集中年龄在 35-44 岁范围内的用户数量
相关点击流数据集中年龄在 45-54 岁范围内的用户数量
相关点击流数据集中年龄在 55-64 岁范围内的用户数量