Skip to content

Google Finance Quote 实时 HTML

本接口用于获取 Google Finance「Quote」标签页的原始 HTML。返回结果会受到请求参数影响,主要:keyword 中的股票代码/证券代码,以及 locationlanguage 等搜索环境参数。

接口为实时请求模式,请求后直接返回结果。适合需要抓取原始页面结构、解析展示区块、或对接自定义页面解析逻辑的场景。

接口地址

POST https://api.seermartech.cn/v3/serp/wp/v2/live/html

说明:参考文档标题对应的是 Google Finance Quote 页面,但示例路径使用的是容 API 路径 /v3/serp/wp/v2/live/html。接时请以容路径为准。

计费说明

每次请求都会计费。

参考价约 ¥0.0480 / 次 扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

请求说明

  • 请求方法:POST
  • 请求体格式:JSON
  • 编码:UTF-8
  • 请求体为 JSON 数组:[{ ... }]
  • 单次 Live SERP 请求支持 1 个任务
  • 频率上限:最多 2000 次 API 调用/分钟

主要参数

字段名类型说明
keywordstring股票代码或证券代码。用于指定交易股票或证券在特定交易所的 ticker/symbol。最长支持 700 个字符。字段中的 %## 会被解码,字符 + 会被解码为空格;如果确实需要传 %,请写为 %25;需要传 +,请写为 %2B
location_codeinteger条件填搜索引擎地区代码。若未传 location_name,则此字段填;如果使用该字段,则无需传 location_name。可通过 /v3/serp/google/locations 查询可用地区代码。示例:2840
language_codestring条件填搜索引擎语言代码。若未传 language_name,则此字段填;如果使用该字段,则无需传 language_name。可通过 /v3/serp/google/languages 查询可用语言代码。示例:en
devicestring设备类型。可选值:desktop

附加参数

字段名类型说明
location_namestring条件填搜索引擎地区名。若未传 location_code,则此字段填;如果使用该字段,则无需传 location_code。可通过 /v3/serp/google/locations 查询。示例:London,England,United Kingdom
language_namestring条件填搜索引擎语言名。若未传 language_code,则此字段填;如果使用该字段,则无需传 language_code。可通过 /v3/serp/google/languages 查询。示例:English
osstring设备操作系统。可选值:windows
tagstring自定义任务标识,最长 255 个字符。可用于在结果中匹业务侧任务;响应中的 data 对象会原样返回该值。
windowstringgoogle_finance_quote 图表时间窗口。可选值:1D5D1M6MYTD1Y5YMAX。默认值:1D

返回结果说明

接口返回 JSON 数据,顶层 tasks 数组,每个任务中对应结果。

顶层字段

字段名类型说明
versionstring当前 API 版本
status_codeinteger通用状态码,完整列表参考 /v3/appendix/errors
status_messagestring通用提示信息,完整列表参考 /v3/appendix/errors
timestring执行耗时,单位秒
costfloat本次请求总成本,单位 USD
tasks_countintegertasks 数组中的任务数量
tasks_errorinteger返回错误的任务数量
tasksarray任务数组

建议在接时设计完善的异常处理机制,覆盖通用错误、任务级错误以及解析异常。

tasks[] 字段

字段名类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000,完整列表参考 /v3/appendix/errors
status_messagestring任务状态说明
timestring任务执行耗时,单位秒
costfloat当前任务成本,单位 USD
result_countintegerresult 数组数量
patharrayURL 路径
dataobject请求时提交的参数,会在响应中回传
resultarray结果数组

result[] 字段

字段名类型说明
keywordstringPOST 请求中传的。返回时 %## 会被解码,+ 会被解码为空格
typestring请求中的搜索引擎类型
se_domainstring请求中的搜索引擎域名
location_codeinteger请求中的地区代码
language_codestring请求中的语言代码
datetimestring结果获取时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
items_countintegeritems 数组中的结果数量
itemsarraySERP 结果项数组

items[] 字段

字段名类型说明
pageinteger返回的 HTML 页序号
datestringHTML 页面抓取时间,格式示例:2019-11-15 12:57:46 +00:00
htmlstring原始 HTML 页面

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/serp/wp/v2/live/html" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "language_code": "en",
 "location_code": 2840,
 "keyword": "NASDAQ-100"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/serp/wp/v2/live/html"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}
data = [
 {
 "language_code": "en",
 "location_code": 2840,
 "keyword": "NASDAQ-100"
 }
]

response = requests.post(url, headers=headers, json=data)
print(response.json)

TypeScript

typescript
import axios from "axios";

async function fetchFinanceQuoteHtml {
 const response = await axios.post(
 "https://api.seermartech.cn/v3/serp/wp/v2/live/html",
 [
 {
 language_code: "en",
 location_code: 2840,
 keyword: "NASDAQ-100",
 },
 ],
 {
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
 }
 );

 // 输出接口返回结果
 console.log(response.data);
}

fetchFinanceQuoteHtml.catch(console.error);

响应示例

json
{
 "version": "0.1.20200130",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "7.7543 sec.",
 "cost": 0.003,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "serp",
 "function": "live",
 "se": "wp",
 "se_type": "v2",
 "language_name": "English",
 "location_name": "United States",
 "keyword": "NASDAQ-100",
 "tag": "tag1",
 "device": "desktop",
 "os": "windows"
 },
 "result": [
 {}
 ]
 }
 ]
}

错误处理

请重点以下字段:

  • 顶层 status_code:表示整个请求的处理状态
  • 顶层 tasks_error:表示任务级错误数量
  • tasks[].status_code:表示单个任务的执行状态
  • tasks[].status_message:表示单个任务的错误或提示信息

错误码完整列表可参考:/v3/appendix/errors

常见处理建议:

  • 当顶层 status_code20000 时,优按请求失败处理
  • tasks_error > 0 时,逐个检查 tasks[].status_code
  • 当成功返回 html 后,再业务侧 HTML 解析流程
  • keyword%+ 的,务按编码规则处理,查询词失真

使用说明补

  • 该接口返回的是原始 HTML,不保证页面结构长期稳定
  • 如果你需要抽取结构化数据,建议结合自定义解析器或后处理规则
  • window 参数会影响金融图表区间展示,适合抓取不同时间窗口下的页面表现
  • 单次请求支持一个任务,不建议按批量直接拼到同一请求中

实用场景

  • 抓取股票页原始 HTML,用于自建解析器提取价格、涨跌、图表区间等展示信息
  • 对比不同地区与语言下的 Quote 页面差异,评估金融化展示效果
  • 监控指定 ticker 页面结构变化,及时发现目标页面改版对采集逻辑的影响
  • 采集不同时间窗口(如 1D1M1Y)的页面 HTML,用于构建历史展示变化分析
  • 校验证券代码在指定搜索环境中的可展示性,金融收录与可见性分析

统一入口:官网 · LLM API · 控制台