主题
基于首页 HTML 术语查找域名(实时)
POST /v3/domain_analytics/technologies/domains_by_html_terms/live
接口说明
该接口用于根据网站首页 HTML 中出现的术语查找域名。除域名列表外,响应还会返回这些网站的技术栈画像,以及对应的国家、语言等补信息。
- 请求方式:
POST - 接口路径:
/v3/domain_analytics/technologies/domains_by_html_terms/live - 完整地址:
https://api.seermartech.cn/v3/domain_analytics/technologies/domains_by_html_terms/live
计费说明
每次请求都会产生费用。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求限制
- 所有 POST 数据使用 UTF-8 编码的 JSON 格式
- 请求体为 JSON 数组:
[{ ... }] - 每分钟最多可发送 2000 次 API 请求
- 支持结果数量控制、过滤和排序
请求参数
顶层请求体示例
json
[
{
"search_terms": ["data-attrid"],
"order_by": ["last_visited,desc"],
"limit": 10,
"offset": 0
}
]参数说明
| 字段名 | 类型 | 说明 |
|---|---|---|
search_terms | array | 目标搜索术语,填。可指定 HTML素、标签、属性、,或组合。如果填写多个术语,返回结果首页 HTML 中同时所有这些术语的域名。最多支持 10 个术语。 |
keywords | array | 可选。按域名的 title、description 或 meta keywords 中的进一步筛选。使用 UTF-8 编码。最多支持 10 个。 |
mode | string | 可选。搜索模式。可选值:strict_entry:严格匹术语的顺序、间隔和分隔符;entry:忽略顺序、间隔和分隔符进行匹。默认值:entry。 |
filters | array | 可选。结果过滤条件数组,最多可同时设置 8 个过滤条件。条件之间需要设置逻辑运算符 and 或 or。支持运算符:<、<=、>、>=、=、<>、in、not_in、like、not_like。 like 和 not_like 可合 % 通任意长度字符串。更多过滤规则可参考 /v3/domain_analytics/technologies/filters。 |
order_by | array | 可选。结果排序规则。可排序字段:domain_rank、domain、last_visited、country_iso_code、language_code、content_language_code。排序方式:asc 升序,desc 降序。格式示例:["last_visited,desc"]。单次请求最多设置 3 条排序规则。 |
limit | integer | 可选。返回的最大域名数量。默认值:100;最大值:10000。 |
offset | integer | 可选。结果偏移量。默认值:0。如设置为 10,则跳过前 10 条结果,返回后续数据。最大值:9999,且 limit + offset 不得 10000。如需翻页更多结果,请使用 offset_token。 |
offset_token | string | 可选。后续请求分页令牌。该值会在每次响应中返回。若需要获取大结果集,建议使用该参数时。注意:当请求中使用 offset_token 时,除该参数外,参数与上一次请求一致。 |
过滤与排序
过滤说明
filters 支持多条件组合,例如:
json
[
["country_iso_code", "=", "US"],
"and",
["language_code", "=", "en"]
]也可以使用 like 模糊匹:
json
[
["domain", "like", "%.shop"]
]更多过滤字段和可用规则请参考接口路径:
/v3/domain_analytics/technologies/filters
排序说明
order_by 为字符串数组,每项格式为:
json
["字段名,排序方式"]示例:
json
["last_visited,desc", "domain_rank,asc"]默认排序规则以平台 API 实行为为准。
响应结构
接口返回 JSON 编码数据,顶层 tasks 数组。
顶层响应字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 通用状态码。完整错误码请参考 /v3/appendix/errors。建议在接时做好异常与错误处理。 |
status_message | string | 通用状态信息。 |
time | string | 执行耗时,单位秒。 |
cost | float | 当前请求总费用,单位 USD。 |
tasks_count | integer | tasks 数组中的任务数量。 |
tasks_error | integer | 返回错误的任务数量。 |
tasks | array | 任务结果数组。 |
tasks[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式。 |
status_code | integer | 任务状态码,范围通常为 10000-60000。完整列表见 /v3/appendix/errors。 |
status_message | string | 任务状态说明。 |
time | string | 任务执行耗时,单位秒。 |
cost | float | 当前任务费用,单位 USD。 |
result_count | integer | result 数组中的数量。 |
path | array | URL 路径。 |
data | object | 与请求中提交的参数一致。 |
result | array | 获取结果数组。 |
result[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
total_count | integer | 数据库中匹条件的总数量。 |
items_count | integer | 当前结果集中 items 的数量。 |
offset | integer | 当前请求使用的偏移值。 |
offset_token | string | 后续分页令牌。用于继续获取当前查询的后续结果。 |
items | array | 域名明细列表。 |
items[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
type | string | 结果类型,固定为 domain_technology_item。 |
domain | string | 域名。 |
title | string | 域名对应页面的 meta title。 |
description | string | 域名对应页面的 meta description。 |
meta_keywords | array | 域名页面的 meta keywords。 |
domain_rank | string | 目标域名的外链排名值。 |
last_visited | string | 爬虫最近访问该域名的时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。例如:2022-10-10 12:57:46 +00:00。 |
country_iso_code | string | 目标域名所属国家的 ISO 代码。 |
language_code | string | 目标域名语言代码。 |
content_language_code | string | 目标站点语言代码。 |
phone_numbers | array | 目标网站中识别出的联系电话。 |
emails | array | 目标网站中识别出的邮箱地址。 |
social_graph_urls | array | 从目标站点 social graph 中检测出的社交媒体链接或账号。 |
technologies | object | 目标域名使用的技术栈。按技术分类返回多个对象。完整技术分类及结构可参考 /v3/domain_analytics/technologies/technologies/。 |
请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/domain_analytics/technologies/domains_by_html_terms/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"search_terms": ["data-attrid"],
"order_by": ["last_visited,desc"],
"limit": 10,
"offset": 0
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/domain_analytics/technologies/domains_by_html_terms/live"
payload = [
{
"search_terms": ["data-attrid"],
"order_by": ["last_visited,desc"],
"limit": 10,
"offset": 0
}
]
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json)TypeScript
typescript
import axios from "axios";
const payload = [
{
search_terms: ["data-attrid"],
order_by: ["last_visited,desc"],
limit: 10,
offset: 0
}
];
axios({
method: "post",
url: "https://api.seermartech.cn/v3/domain_analytics/technologies/domains_by_html_terms/live",
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
},
data: payload
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});响应示例
json
{
"version": "0.1.20221214",
"status_code": 20000,
"status_message": "Ok.",
"time": "2.7783 sec.",
"cost": 0.01,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "示例任务ID",
"status_code": 20000,
"status_message": "Ok.",
"time": "2.7421 sec.",
"cost": 0.01,
"result_count": 1,
"path": [
"v3",
"domain_analytics",
"technologies",
"domains_by_html_terms",
"live"
],
"data": {
"api": "domain_analytics",
"function": "domains_by_html_terms",
"se": "technologies",
"search_terms": ["data-attrid"],
"order_by": ["last_visited,desc"],
"limit": 10,
"offset": 0
},
"result": [
{
"total_count": 123456,
"items_count": 10,
"offset": 0,
"offset_token": "示例分页令牌",
"items": [
{
"type": "domain_technology_item",
"domain": "santos.rs",
"title": "Santos & Santorini",
"description": "",
"meta_keywords": null,
"domain_rank": 199,
"last_visited": "2022-12-29 03:13:49 +00:00",
"country_iso_code": "RS",
"language_code": "en",
"content_language_code": "bs",
"phone_numbers": null,
"emails": null,
"social_graph_urls": null,
"technologies": {
"servers": {
"web_servers": []
},
"web_development": {
"ui_frameworks": [],
"javascript_libraries": [],
"font_scripts": [],
"javascript_frameworks": [],
"programming_languages": []
},
"analytics": {
"analytics": []
},
"media": {
"video_players": []
}
}
},
{
"type": "domain_technology_item",
"domain": "bertuccistore.it",
"title": "Bertucci Store",
"description": null,
"meta_keywords": null,
"domain_rank": 6,
"last_visited": "2022-12-29 03:02:33 +00:00",
"country_iso_code": "WW",
"language_code": "it",
"content_language_code": "it",
"phone_numbers": null,
"emails": null,
"social_graph_urls": null,
"technologies": {
"web_development": {
"ui_frameworks": [],
"font_scripts": [],
"javascript_frameworks": [],
"javascript_libraries": [],
"programming_languages": []
},
"add_ons": {
"wordpress_plugins": []
},
"analytics": {
"analytics": []
},
"location": {
"maps": []
},
"servers": {
"web_servers": [],
"reverse_proxies": [],
"databases": []
},
"other": {
"widgets": []
},
"content": {
"photo_galleries": [],
"cms": [],
"blogs": []
},
"media": {
"photo_galleries": []
},
"sales": {
"ecommerce": []
}
}
}
]
}
]
}
]
}状态码与错误处理
- 顶层
status_code表示整个请求的处理状态 tasks[].status_code表示任务状态- 建议同时校验这两个字段
- 完整错误码列表请参考:
/v3/appendix/errors
常见处理建议:
20000:请求成功- 非
20000:按status_message和错误码进行重试、修正参数或记录告警 - 使用
offset_token拉取大批量数据时,后续请求参数保持一致,否则可能导致结果不连续或请求失败
使用建议
search_terms适合用于技术特征反查,例如查找使用某个 HTML 属性、标签或模式的网站。- 若需要进一步聚焦某类网站,可结合
keywords、filters与order_by一起使用。 - 当结果集较大时,优使用
offset_token进行深分页,时或出offset范围限制。
实用场景
- 筛选使用特定前端标记的网站:通过查找特定 HTML 标签、属性或页面,快速定位采用某种页面结构或组件模式的站点,便于技术型客户挖掘。
- 识别潜在 CMS/建站平台用户:结合 HTML 术语与技术栈字段,反查可能使用某类建站系统或插件生态的网站,为建站迁移、插件销售或 SaaS 拓客提供线索。
- 按国家和语言挖掘细分市场站点:结合
country_iso_code、language_code、content_language_code过滤特定区域网站,用于海外 SEO 市场研究与本地化竞争分析。 - 锁定备特定营销技术栈的竞品网站:利用返回的
technologies数据识别使用分析、广告、自动化营销的网站,制定竞品监测和渠道策略。 - 批量建立技术画像站点库:按 HTML 特征批量采集域名,再结合标题、描述、联系方式和社交链接构建可运营的网站画像数据库,用于销售线索 enrichment 与行业研究。