主题
Google 以图搜图实时 HTML 结果
本接口用于实时获取 Google 以图搜图的原始 HTML 页面。提交一张图片 URL、搜索地区与语言后,接口会返回对应 SERP 的原始 HTML,以及最多 100 条搜索结果对应的页面信息。
接口说明
请求方式:POST接口地址:https://api.seermartech.cn/v3/serp/google/search_by_image/live/html
该接口为实时执行接口,每次请求都会即时向目标搜索引擎发起查询并返回结果。
- 请求体为 UTF-8 编码的 JSON
- POST 请求体格式为 JSON 数组:
[{ ... }] - 每分钟最多可发送 2000 次 API 调用
- 每个 Live SERP 请求支持 1 个任务
计费说明
该接口按请求计费。
参考价约 ¥0.0480 / 次 扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
当 depth 大于 100 时,如果搜索引擎返回 100 条结果,可能产生额外扣费。 若设置的 depth 高于返回结果数,多扣部分会自动退回账户余额。
请求参数
以下为可用于创建任务的字段说明。
| 字段 | 类型 | 说明 |
|---|---|---|
image_url | string | 填。图片 URL。搜索结果将基于该图片生成。示例:https://upload.wikimedia.org/wikipedia/commons/e/ed/Elon_Musk_Royal_Society.jpg |
location_name | string | 搜索地区名。当未指定 location_code 或 location_coordinate 时填。若使用本字段,则无需传 location_code 或 location_coordinate。示例:London,England,United Kingdom |
location_code | integer | 搜索地区代码。当未指定 location_name 或 location_coordinate 时填。若使用本字段,则无需传 location_name 或 location_coordinate。示例:2840 |
location_coordinate | string | GPS 坐标定位。当未指定 location_name 或 location_code 时填。格式:latitude,longitude,radius。latitude 与 longitude 最多 7 位小数;radius 最小值 199.9(毫米),最大值 199999(毫米)。示例:53.476225,-2.243572,200 |
language_name | string | 搜索语言名。当未指定 language_code 时填。若使用本字段,则无需传 language_code。示例:English |
language_code | string | 搜索语言代码。当未指定 language_name 时填。若使用本字段,则无需传 language_name。示例:en |
se_domain | string | 可选。搜索引擎域名。不传时,系统会根据地区和语言自动选择合适域名。示例:google.co.uk、google.com.au、google.de |
depth | integer | 可选。解析深度,即返回的 SERP 结果数量。默认值:100;最大值:700 |
search_param | string | 可选。附加搜索参数,用于传递搜索引擎支持的额外查询控制参数 |
tag | string | 可选。用户自定义任务标识,最大 255 个字符。可用于结果归档、任务追踪与业务。返回结果中会原样出现在 data 数组 |
地区与语言参数说明
地区参数三选一:
location_namelocation_codelocation_coordinate
语言参数二选一:
language_namelanguage_code
如需获取可用的地区与语言列表,可调用以下容接口:
- 地区列表:
/v3/serp/wp/locations - 语言列表:
/v3/serp/wp/languages
响应结构
接口返回 JSON 编码结果,顶层 tasks 数组。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 通用状态码,完整列表见:/v3/appendix/errors |
status_message | string | 通用状态信息,完整列表见:/v3/appendix/errors |
time | string | 执行耗时,单位秒 |
cost | float | 本次请求总费用,单位 USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | 返回错误的任务数量 |
tasks | array | 任务结果数组 |
tasks 数组字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务 ID,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000,完整列表见:/v3/appendix/errors |
status_message | string | 任务状态信息 |
time | string | 任务执行耗时,单位秒 |
cost | float | 当前任务费用,单位 USD |
result_count | integer | result 数组中的数量 |
path | array | 请求路径 |
data | array | 回显请求中提交的参数 |
result | array | 结果数组 |
result 数组字段
| 字段 | 类型 | 说明 |
|---|---|---|
image_url | string | 请求中提交的图片 URL |
keyword | string | 搜索引擎基于图片识别或出的 |
type | string | 请求中的搜索引擎类型 |
se_domain | string | 请求使用的搜索引擎域名 |
location_code | integer | 请求中的地区代码 |
language_code | string | 请求中的语言代码 |
datetime | string | 获取结果的时间,格式:YYYY-MM-DD HH:MM:SS ±HH:MM |
items_count | integer | items 数组中的结果数量 |
items | array | 搜索结果项数组 |
items 数组字段
| 字段 | 类型 | 说明 |
|---|---|---|
page | integer | 返回的 HTML 页序号 |
date | string | HTML 页面抓取时间,格式:YYYY-MM-DD HH:MM:SS ±HH:MM |
html | string | 原始 HTML 页面 |
请求示例
curl
bash
curl --location --request POST "https://api.seermartech.cn/v3/serp/google/search_by_image/live/html" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"language_code": "en",
"location_code": 2840,
"image_url": "https://upload.wikimedia.org/wikipedia/commons/e/ed/Elon_Musk_Royal_Society.jpg"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/serp/google/search_by_image/live/html"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
data = [
{
"language_code": "en",
"location_code": 2840,
"image_url": "https://upload.wikimedia.org/wikipedia/commons/e/ed/Elon_Musk_Royal_Society.jpg"
}
]
response = requests.post(url, headers=headers, json=data)
print(response.json)TypeScript
ts
import axios from "axios";
async function main {
const response = await axios.post(
"https://api.seermartech.cn/v3/serp/google/search_by_image/live/html",
[
{
language_code: "en",
location_code: 2840,
image_url: "https://upload.wikimedia.org/wikipedia/commons/e/ed/Elon_Musk_Royal_Society.jpg"
}
],
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
}
);
console.log(response.data);
}
main.catch(console.error);响应示例
json
{
"version": "0.1.20200923",
"status_code": 20000,
"status_message": "Ok.",
"time": "33.3515 sec.",
"cost": 0.003,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"data": {
"api": "serp",
"function": "live",
"se": "google",
"se_type": "search_by_image",
"image_url": "https://upload.wikimedia.org/wikipedia/commons/e/ed/Elon_Musk_Royal_Society.jpg",
"language_code": "en",
"location_code": "2840",
"device": "desktop",
"os": "windows"
},
"result": [
{}
]
}
]
}状态码与错误处理
可通过以下字段判断请求与任务执行状态:
- 顶层状态:
status_code、status_message - 任务状态:
tasks[].status_code、tasks[].status_message
常见判断方式:
20000:请求成功- 状态码:表示请求参数错误、认证失败、额限制、任务执行异常等
完整错误码列表请参考容错误码说明:/v3/appendix/errors
使用说明与注意事项
- 本接口返回的是 原始 HTML 页面,适合需要自行解析 SERP的场景。
- 每个实时请求支持提交一个任务对象,即 JSON 数组中只能有一个。
keyword字段表示搜索引擎对图片语义的识别或结果,可用于后续分析。- 如需更精准控制搜索地域,可优使用
location_code;如需更细粒度地理范围,可使用location_coordinate。 - 当需要模拟不同国家或语言环境时,可搭
se_domain、地区参数、语言参数使用。
实用场景
- 监控品牌图片:上传品牌 Logo、产品图或创意素材,查看搜索引擎如何识别图片及对应结果页,评估品牌视觉资产的搜索可见性。
- 分析竞品图片搜索表现:用竞品商品图或宣传图发起查询,获取以图搜图结果页 HTML,支持后续解析站点来源、分布和流量。
- 提取图像:利用返回的
keyword字段识别图片对应的搜索语义,为图片 SEO、素材命名和落地页优化提供依据。 - 构建图片 SERP 解析流程:获取原始 HTML 后自行抽取标题、链接、模块结构等,适合需要自定义解析规则的 SEO 数据平台。
- 验证多地区搜索差异:针对同一图片切换
location_code、language_code或se_domain,比较不同市场中的搜索结果展示差异,化策略。