Skip to main content
POST
提交页面 URL 和提取配置,从 JavaScript 渲染的 SPA 中检索结构化数据。你可以使用自定义字段定义、内置模板或 inspect 模式来发现页面上可用的数据。
string
目标 SPA 的完整 HTTP(S) URL,使用 80 或 443 端口。大多数模板都需要此字段。对于 google-trends-explore,建议改用 keyword 字段。SimilarWeb 需要完整的页面 URL,而不是裸域名。
string
推荐用于 google-trends-explore。提供 1 到 5 个唯一的、非空的逗号分隔关键词,每个最多 100 个 Unicode 字符(例如 "adspower,playwright")。服务器会自动构建规范的 Trends URL。显式的 null、数字或空字符串值将返回 INVALID_KEYWORD,且不会回退到 url。
string
提取模式。默认值为 "extract"。
string
内置站点模板 ID。提供后,fields 由模板而非你的请求提供。可用模板 ID:
  • "similarweb-overview" — 网站流量、参与度和排名指标。
  • "google-trends-explore" — 最多 5 个关键词的随时间变化兴趣数据和相对平均值。
  • "chrome-web-store-app-info" — Chrome Web Store 中的扩展元数据(附带 CRX manifest 回退)。
object
所选模板声明的模板特定参数。请参阅 GET /spa-extract/templates 中的模板 input 规范。
string
提取前等待的导航事件。自定义提取默认使用 "domcontentloaded"。站点模板优先使用请求值,然后是模板默认值,最后是 "domcontentloaded"。
object
在 SPA 导航和操作完成后,等待特定元素或文本出现。selector 和 text 可以组合使用。
array
在提取前按数组顺序执行的可选页面交互。每个步骤的上限为 30 秒。
object
extract 模式下命名字段定义的映射。每个键都会成为响应 data 对象中的一个属性。在不使用模板时使用此字段。
object
fields 的遗留别名,仅在 fields 不存在时使用。字符串值被视为 DOM CSS 选择器。不验证响应 JSON,也不返回 schemaValid 或 schemaErrors 字段。建议所有新集成都使用 fields。
number
任务完成的最长等待时间,单位为毫秒。必须是正整数且不超过 3,600,000。
object
渲染页面时使用的视口尺寸。
string
浏览器语言环境,例如 "en-US"。省略时可能遵循受信任代理的元数据。
string
IANA 时区标识符,例如 "Asia/Shanghai"。省略时可能遵循受信任代理的元数据。
object
通过 Geolocation API 暴露给页面的地理位置坐标。
object
自定义代理配置。不能与 countryCode 同时使用。
string
管理的住宅代理区域。不能与 proxy 同时使用。
  • "GLOBAL" — 从 15 个热门区域中动态选择出口。
  • 两位字母国家代码 — 优先使用受信任代理并支持动态回退。
  • 省略 — 自动随机选择受信任代理。
string
"random" 让服务器从其库中选择 User-Agent。未显式提供 userAgent 的请求默认使用 "random"。
string
当 userAgentMode 为 "random" 时使用的操作系统。可选值:"windows"(默认)或 "macos"。
string
显式指定 User-Agent 字符串。覆盖随机选择。
object
浏览器指纹设置。省略时,所有信号默认随机,同时保持操作系统、GPU、CPU、内存、字体和设备信号的一致性。
array
在导航前注入浏览器上下文的 Cookie 列表。
google-trends-explore 会忽略省略、null 或空数组值。在 Trends 请求中提供任何非空或格式错误的 Cookie 将返回 400 INVALID_TRENDS_COOKIES。

响应

string
"extract" 或 "inspect",与请求模式一致。
object
页面元数据。
object
提取的结构化数据。键与你的 fields 定义或模板的输出字段匹配。
array
未找到的字段键列表。
string
"sunbrowser" — 结果来自实时浏览器采集。"cache" — 结果来自服务器缓存。出现在 Trends 响应中。
boolean
此响应是否来自缓存。
boolean
缓存结果是否已过期。
string
结果实际采集时的 RFC3339Nano 时间戳。
number
采集尝试次数。缓存命中响应使用 0;过期响应使用 Worker 报告时的尝试次数。
object
在 inspect 模式下出现。页面上发现的 DOM 和网络提取候选方案。
object
在 inspect 模式下出现。包含 fields 和 schema 的计划,你可以将其复制到未来的 extract 请求中。
一次请求验证后会消耗 1 积分,在任务入队之前扣除。请求体限制为 1 MiB。

更多示例