主题
获取 Google Finance 行高级结果
GET /v3/serp/google/finance_quote/tasks_ready
本接口使用 GET 方法,通过任务 ID 获取 Google Finance 行高级结果:
GET https://api.seermartech.cn/v3/serp/google/finance_quote/task_get/advanced/$id
Google Finance 行接口可返回 Google Finance「」标签页中的实时数据。结果取决于创建任务时指定的股票或金融代码(keyword)、地区(location)和语言(language)等参数。
计费说明
- 在提交任务时计费。
- 任务结果可在提交后的 30 天重复获取,获取结果不额外收费。
- 本接口响应中的
cost通常为0。 - 实扣费以响应头
X-SeerMarTech-Charge-CNY为准。
请求参数
请求路径中的 $id 为任务唯一标识。
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
id | string | 是 | 任务唯一标识,UUID 格式。任务提交成功后获得,可在 30 天用于获取任务结果。 |
请求示例:
text
GET /v3/serp/google/finance_quote/task_get/advanced/02261816-2027-0066-0000-c27d02864073请求示例
cURL
bash
task_id="02261816-2027-0066-0000-c27d02864073"
curl --location \
--request GET \
"https://api.seermartech.cn/v3/serp/google/finance_quote/task_get/advanced/${task_id}" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"PHP
php
<?php
$task_id = '02261816-2027-0066-0000-c27d02864073';
$url = 'https://api.seermartech.cn/v3/serp/google/finance_quote/task_get/advanced/' . $task_id;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer smt_live_YOUR_KEY',
'Content-Type: application/json',
],
]);
$response = curl_exec($ch);
if ($response === false) {
echo '请求失败:' . curl_error($ch);
} else {
echo $response;
}
curl_close($ch);TypeScript
typescript
import axios from "axios";
const taskId = "02231256-2604-0066-2000-57133b8fc54e";
axios
.get(
`https://api.seermartech.cn/v3/serp/google/finance_quote/task_get/advanced/${taskId}`,
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
}
)
.then((response) => {
// 任务结果
console.log(response.data);
})
.catch((error) => {
console.error("请求失败:", error.response?.data || error.message);
});Python
python
import requests
task_id = "02231256-2604-0066-0000-57133b8fc54e"
url = (
"https://api.seermartech.cn/"
"v3/serp/google/finance_quote/task_get/advanced/"
+ task_id
)
response = requests.get(
url,
headers={
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
)
if response.ok:
print(response.json())
else:
print("请求失败:", response.status_code, response.text)C#
csharp
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
public class Example
{
public static async Task Main()
{
var taskId = "02261816-2027-0066-0000-c27d02864073";
var url =
"https://api.seermartech.cn/v3/serp/google/finance_quote/"
+ "task_get/advanced/" + taskId;
using var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue(
"Bearer",
"smt_live_YOUR_KEY"
);
var response = await httpClient.GetAsync(url);
var content = await response.Content.ReadAsStringAsync();
if (response.IsSuccessStatusCode)
{
Console.WriteLine(content);
}
else
{
Console.WriteLine(
$"请求失败:{(int)response.StatusCode} {content}"
);
}
}
}任务结果获取流程
如果需要批量获取已完成任务,可以调用任务就绪列表接口:
text
GET /v3/serp/google/finance_quote/tasks_ready接口会返回已完成任务及结果地址。随后可以使用任务结果地址,或直接使用任务 ID 调用本接口:
text
GET /v3/serp/google/finance_quote/task_get/advanced/$id使用 Python 批量获取
python
import requests
base_url = "https://api.seermartech.cn"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
ready_response = requests.get(
f"{base_url}/v3/serp/google/finance_quote/tasks_ready",
headers=headers,
)
ready_data = ready_response.json()
if ready_data.get("status_code") == 20000:
results = []
for task_group in ready_data.get("tasks", []):
for task_info in task_group.get("result", []):
endpoint = task_info.get("endpoint_advanced")
if endpoint:
# endpoint_advanced 通常为完整结果获取地址
result_response = requests.get(
endpoint.replace(
"https://api.本平台.com",
base_url,
),
headers=headers,
)
results.append(result_response.json())
print(results)
else:
print(
"获取任务列表失败:",
ready_data.get("status_code"),
ready_data.get("status_message"),
)响应说明
接口返回 JSON 数据,主体 tasks 数组。每个任务对象通常以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 接口版本号 |
status_code | integer | 请求状态码,20000 表示成功 |
status_message | string | 状态说明 |
time | string | 请求处理耗时 |
cost | number | 本次请求成本;获取已提交任务结果时通常为 0 |
tasks_count | integer | 返回的任务数量 |
tasks_error | integer | 处理失败的任务数量 |
tasks | array | 任务结果数组 |
任务对象主要字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务 ID |
status_code | integer | 任务状态码 |
status_message | string | 任务状态说明 |
data | object | 创建任务时使用的请求参数 |
result | array | SERP 结果数据 |
data 中可能以下任务参数:
| 字段 | 类型 | 说明 |
|---|---|---|
api | string | API 模块,例如 serp |
function | string | API 方法,例如 task_get |
se | string | 搜索引擎,例如 google |
se_type | string | 搜索结果类型,例如 finance_quote |
language_name | string | 结果语言 |
location_code | integer | 地区代码 |
keyword | string | 股票代码、指数代码或金融标识 |
window | string | 行时间窗口,例如 1D |
priority | integer | 任务优级 |
device | string | 设备类型 |
os | string | 操作系统 |
result 结果字段
result 数组中的结果对象可能以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
se_results_count | integer | 搜索结果数量 |
items_count | integer | 返回项目数量 |
items | array | Google Finance 行项目列表 |
每个 items素通常:
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 结果类型 |
rank_group | integer | 分组排名 |
rank_absolute | integer | 绝对排名 |
quote | object | 金融数据 |
graph_items | array | 行走势图数据 |
items | array | 新闻、搜索或市场分类等子项目 |
markets | array | 期货或市场分类数据 |
details | object | 金融详细指标 |
quote 行字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 行类型 |
ticker | string | 金融代码 |
price | number | 当前价格 |
price_delta | number | 价格变化值 |
price_currency | string | 价格货币 |
identifier | string | 金融唯一标识 |
displayed_name | string | 展示名称 |
url | string | Google Finance 对应页 |
location | string/null | 金融所属地区 |
trend | string | 价格趋势,例如 up、down |
timestamp | string | 行时间 |
percentage_delta | number | 百分比变化值 |
details 详细指标字段
| 字段 | 类型 | 说明 |
|---|---|---|
previous_close | number/null | 前收盘价 |
start_day_range | number/null | 当日最低价 |
end_day_range | number/null | 当日最高价 |
start_year_range | number/null | 年度最低价 |
end_year_range | number/null | 年度最高价 |
market_cap | number/null | 市值 |
volume | number/null | 成交量 |
avg_volume | number/null | 平均成交量 |
pe_ratio | number/null | 市盈率 |
dividend_yield | number/null | 股息率 |
primary_exchange | string/null | 主要交易所 |
ytd_return | number/null | 年初至今回报率 |
expense_ratio | number/null | 费用率 |
category | string/null | 金融类别 |
net_assets | number/null | 净资产 |
yield | number/null | 收益率 |
front_load | number/null | 前端费用 |
market_segment | string/null | 市场板块 |
open_interest | number/null | 未平仓合约数 |
settlement_price | number/null | 结算价 |
cdp_climate_change_score | number/null | 气候变化评分 |
metrics_currency | string/null | 指标使用的货币 |
常见结果类型:
google_finance_quote:金融。google_finance_compare_to:对比金融。google_finance_news:。google_finance_futures_chain:期货链。google_finance_details:金融详细指标。google_finance_about:金融或机构简介。google_finance_interested:用户可能感的金融。google_finance_people_also_search:用户还搜索的。
响应示例
json
{
"version": "0.1.20241227",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0895 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "02261816-2027-0066-0000-c27d02864073",
"status_code": 20000,
"status_message": "Ok.",
"data": {
"api": "serp",
"function": "task_get",
"se": "google",
"se_type": "finance_quote",
"language_name": "English",
"location_code": 2840,
"keyword": ".DJI:INDEXDJX",
"window": "1D",
"priority": 2,
"device": "desktop",
"os": "windows"
},
"result": [
{
"se_results_count": 0,
"items_count": 11,
"items": [
{
"type": "google_finance_quote",
"rank_group": 1,
"rank_absolute": 2,
"quote": {
"type": "google_finance_market_instrument_element",
"ticker": "CLW00",
"price": 70.33000183105469,
"price_delta": -0.90999603,
"price_currency": "USD",
"identifier": "CLW00:NYMEX",
"displayed_name": "Crude Oil",
"url": "https://google.com/finance/quote/CLW00:NYMEX?hl=en&gl=us",
"location": null,
"trend": "down",
"timestamp": "2025-02-13 13:58:12 +00:00",
"percentage_delta": -1.2773668
},
"graph_items": []
},
{
"type": "google_finance_compare_to",
"rank_group": 1,
"rank_absolute": 3,
"items": []
},
{
"type": "google_finance_news",
"rank_group": 1,
"rank_absolute": 4,
"title": "Top news",
"sub_title": null,
"items": []
},
{
"type": "google_finance_futures_chain",
"rank_group": 1,
"rank_absolute": 7,
"markets": []
},
{
"type": "google_finance_details",
"rank_group": 1,
"rank_absolute": 8,
"badges": [],
"previous_close": 71.24,
"start_day_range": 70.16,
"end_day_range": 71.18,
"start_year_range": 70.16,
"end_year_range": 71.18,
"market_cap": null,
"volume": 72805,
"avg_volume": null,
"pe_ratio": null,
"dividend_yield": null,
"primary_exchange": "NYMEX",
"ytd_return": null,
"expense_ratio": null,
"category": null,
"net_assets": null,
"yield": null,
"front_load": null,
"market_segment": "ENRGY",
"open_interest": 256985,
"settlement_price": 71.24,
"cdp_climate_change_score": null,
"metrics_currency": "USD"
},
{
"type": "google_finance_about",
"rank_group": 1,
"rank_absolute": 9,
"displayed_name": "NYMEX:CLW00",
"description": null,
"description_source_url": null,
"ceo": null,
"founded": null,
"headquarters": null,
"website": null,
"employees": null
},
{
"type": "google_finance_interested",
"rank_group": 1,
"rank_absolute": 10,
"items": []
},
{
"type": "google_finance_people_also_search",
"rank_group": 1,
"rank_absolute": 11,
"items": []
}
]
}
]
}
]
}沙盒测试
可通过沙盒接口查看该端点支持的 SERP 特征和扩展字段。沙盒请求不会产生费用:
text
https://sandbox.seermartech.cn/v3/serp/google/ads_search/task_get/advanced/00000000-0000-0000-0000-000000000000沙盒返回的数据为模拟数据用于验证响应结构和字段格式。
状态码与错误处理
20000:请求成功。40000及以上:请求或任务处理失败,应结合status_message定位问题。- 当任务尚未完成、任务 ID 不存在或任务已 30 天保留期时,可能无法获取有效的
result。
建议在客户端同时检查以下字段:
json
{
"status_code": 20000,
"status_message": "Ok.",
"tasks": []
}对于单个任务,还应检查任务对象中的 status_code、status_message 和 result 是否存在。
实用场景
- 监控股票、指数和大宗商品:按任务 ID 获取指定金融的最新价格与涨跌,为市场监测和投研看板提供数据。
- 汇总不同市场的分类:读取美国、欧洲、亚洲、货币和加密资产等市场项目,构建跨市场聚合页面。
- 追踪金融:提取 Google Finance 新闻结果,分析热点事件对搜索需求和行业的影响。
- 生成金融数据报告:使用市值、成交量、市盈率、收益率和区间价格等指标,为投研报告和竞品市场分析补结构化数据。
- 比较金融表现:结合、对比项目和用户还搜索,发现投资主题之间的及潜在选题。