WebExtrator MCP
Use MCP to allow the AI Agent to render web pages and extract content, supporting dynamic pages and complex web structures.
High-concurrency web page rendering and intelligent content extraction API, with sync and async callback modes.
This is only a basic call example. See the full docs for more parameters and advanced usage.
View DocsWebExtrator 不是简单下载 HTML,而是把浏览器渲染、正文抽取、结构化字段和任务追踪放进同一个开发者友好的 API 面。
使用浏览器环境打开目标 URL,支持 wait_until、delay、wait_for_selector 等参数,适合 SPA、新闻页、电商页和登录态页面。
Extract API 返回标题、描述、作者、站点、图片、链接、Markdown 和 structured 字段,业务系统可以直接入库或进入后续模型链路。
商品、文章、食谱、视频、招聘等页面常带有结构化元数据。WebExtrator 会优先利用这些确定性信息,再按需补充语义规范化。
当页面缺少清晰元数据时,可用 enable_llm 启用语义规范化,把长文本整理成更稳定的字段结构。
小页面可以同步返回;长耗时页面可以设置 async 或 callback_url,先拿任务 ID,再通过回调或任务接口取结果。
自定义 Header、User-Agent、资源拦截和超时策略都在请求体里完成,不需要自己维护浏览器池、队列和失败重试层。
请求参数来自公开 OpenAPI:只需要 URL;需要更稳定的抽取时补充页面类型、等待条件、Header 或异步回调地址。
task_id 与 trace_id/webextrator/tasks 回查import requests
resp = requests.post(
"https://api.acedata.cloud/webextrator/extract",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"url": "https://example.com/article",
"expected_type": "article",
"wait_until": "networkidle",
"enable_llm": True,
},
timeout=120,
)
result = resp.json()
print(result["task_id"])
print(result["data"]["title"])
print(result["data"]["markdown"][:400])面向需要“读懂网页”的产品:从 Agent 浏览器到内容采集,从电商监测到知识库入库。
给智能体一个稳定的网页读取工具,把动态网页压缩成标题、正文、链接和字段,而不是把整页 HTML 塞进上下文。
批量抽取文章、产品、文档和 FAQ 页面,保留 Markdown 正文与结构化元数据,便于切块、检索和引用。
通过 Product 类页面信息提取商品标题、描述、图片和结构化字段,减少为每个站点写解析器的维护成本。
统一提取 headline、byline、siteName、description 与正文 Markdown,让跨站内容进入同一个数据模型。
对招聘、目录、活动、资源集合等页面先渲染再抽取,结合任务回查做批量补数和审计。
Render API 返回最终 URL、状态码、标题、HTML、文本和 User-Agent,可用于检查跳转、页面状态和客户端可见内容。
不需要搭浏览器集群,也不需要额外消息队列。先拿密钥,再提交 URL,最后消费结果。
在 Ace Data Cloud 控制台申请 WebExtrator 服务,并为应用创建访问密钥。
调用 Render 或 Extract API。需要动态内容时设置等待条件,需要异步处理时设置 async 或回调地址。
读取 data.html、data.text、data.markdown 或 data.structured,进入数据库、搜索索引或模型上下文。
自建浏览器、队列、回调和结构化层的工程量很快会超过业务本身。WebExtrator 把这些能力收束成一个可调用的 API。
| 能力 | WebExtrator | Some Others |
|---|---|---|
| 动态页面 | 真实浏览器渲染,可配置等待事件、选择器和延迟。 | 常只返回静态 HTML,遇到 SPA 或延迟加载内容需要额外工程。 |
| 结构化结果 | 正文 + Markdown + structured 在同一个响应里返回。 | 通常需要自己再写正文抽取、字段映射和清洗逻辑。 |
| 长耗时任务 | 支持异步,可通过回调或任务查询接口获取结果。 | 需要自己维护队列、任务状态、回调和历史记录。 |
| 请求控制 | 按请求控制 Header、User-Agent、资源拦截、超时和等待策略。 | 参数分散在爬虫框架和浏览器上下文里,难以暴露给业务方。 |
三类接口覆盖从“拿页面”到“拿字段”再到“回查任务”的完整流程。
适合网页状态检查、HTML 归档、正文预处理和需要自己控制后处理逻辑的场景。
/webextrator/render适合 Agent、RAG、内容聚合、电商监测等需要把网页转成业务对象的场景。
/webextrator/extractexpected_type 与 enable_llm 优化结果适合批量任务、慢页面、回调失败补偿和基于 trace_id 的问题排查。
/webextrator/tasksid、trace_id、ids、trace_ids 查询Render 与 Extract 使用同一基础单价;Tasks 用于查询历史任务,不额外收费。
用于打开 URL 并返回渲染后的 HTML、文本、标题、最终 URL 与页面状态。
在渲染基础上输出正文、Markdown、图片、链接和结构化字段,适合直接接入数据链路。
通过任务 ID 或 trace ID 获取异步与历史任务结果,用于回调补偿、批量回查和排障。
价格按当前 cost 规则折算展示;最终扣费以平台服务页和账单记录为准。
关于 WebExtrator 参数、同步异步、结构化字段和费用的几个关键问题。
如果你只需要页面渲染后的 HTML、文本、标题、状态码和最终 URL,用 Render。若你希望平台同时整理正文、Markdown、图片、链接和结构化字段,用 Extract。
目标页面加载慢、需要额外等待选择器、或者批量处理时建议使用 async: true 或 callback_url。接口会先返回任务 ID,结果可通过回调或 Tasks API 获取。
OpenAPI 当前支持 product、article、general。它是页面类型提示,可以减少启发式判断的不确定性。
可以。请求体支持 headers 和 user_agent。如果目标页面依赖 Cookie 或特定 Header,可以按请求传入;请确保你有权限访问目标内容。
可以用 block_resources 拦截 image、font、media、stylesheet、xhr、fetch 等资源类型,并用 wait_until、timeout、delay 控制等待策略。
当前 cost 规则中 /webextrator/tasks 为免费接口。Render 与 Extract 按请求计费,页面展示的价格来自当前成本规则折算。
把 WebExtrator 抽取出来的内容继续接入搜索、对话、图像或视频生成链路。
Extract structured content (title, body, images, product fields) from the given URL, with automatic page type detection.
Render a web page at the given URL and return its full HTML, final URL, title, and status code.
Web extractor task query API — check the status and result of a render/extract task.
We offer various credit packages. The more you purchase, the higher the discount you receive.
up to46% OFFUse MCP to allow the AI Agent to render web pages and extract content, supporting dynamic pages and complex web structures.
Configuration Method
Connect the current service in Claude Code:
mcpServers service entry below into .mcp.json in the project root directory, retaining the existing configuration.ACEDATACLOUD_API_TOKEN in the terminal: use export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN' on macOS/Linux, and $env:ACEDATACLOUD_API_TOKEN = 'YOUR_API_TOKEN' in Windows PowerShell; replace YOUR_API_TOKEN with your AceDataCloud API Token.claude in the same terminal where this variable has been set; new terminals or desktop-launched clients must also be able to read this variable./mcp to confirm that the service is connected and the tools have been loaded; when using the project configuration for the first time, check and approve the service as prompted.export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
claude mcp add --scope user --transport http 'webextrator-mcp' 'https://webextrator.mcp.acedata.cloud/mcp' --header 'Authorization: Bearer ${ACEDATACLOUD_API_TOKEN}'