Web Scraping API

Web Scraping 抓取页面 API

抓取任意网页,以干净的 Markdown 返回其主要内容,并附带标题和元数据。

US$0.70/千次请求,按请求付费,无需订阅。

Introducing Example 2.0 - Example Blog
example.com/blog/launch

Introducing Example 2.0

Everything new in the biggest Example release yet.

·

Today we are shipping the biggest release in our history…

API 返回的内容
{
"url": "https://www.example.com/blog/launch",
"title": "Introducing Example 2.0",
"description": "Everything new in the biggest Example release yet.",
"markdown": "# Introducing Example 2.0\n\nToday we are shipping the biggest release in our history…",
"html": string,
"language": string,
"rawHtml": string,
"statusCode": integer
}
可用率
99.17%
30d · 477,059 次调用
请求数
582,577
30d · 按周,近 12 周
响应时间
2.7s
中位数 · 30d

抓取路由

我们把每个页面交给真正能抓取它的最便宜的抓取器。

  1. 最便宜的抓取器每个页面都从这里开始
  2. 下一个抓取器仅当页面拦截上一个时
  3. 完整浏览器仅用于最难抓取的页面

价格按每 1,000 个页面计

  1. AnyAPI98/100US$1.05
  2. Firecrawl90/100US$3.97Hobby 套餐
  3. Bright Data81/100US$1.50
  4. Jina Reader55/100US$0.73
  5. Cloudflare Browser Rendering48/100最多 US$0.10+ US$5/月套餐

100 个页面,每个只试一次,测于 2026年10月1日查看每个页面 →

价格与服务商

Web Scraping 抓取页面 API 价格:一个 API,5 个可互换的服务商

最便宜的服务商优先响应。如果它失败,下一个会在同一次调用中接手。

“被拦截”指网站本身拒绝返回页面的调用占比,不计入可用率。第一个之后的每个提供方只会收到前面提供方失败的页面,也就是更难抓取的网站,因此这些数字并非直接对比。

你需支付
US$7.00
US$0.70/千次请求,只为实际用量付费。没有月度套餐。
有了 US$0.10 的初始余额,你的前 142 次请求免费。

试一试

一个请求获取 Web Scraping 抓取页面

formatsarray
要返回页面的哪些表示形式。可任意组合:markdown(以 Markdown 表示的页面内容)、html(浏览器收到的原样页面 HTML,包括 head 和 script 标签)。每种请求的格式都在对应的输出字段中返回。默认两者都返回。rawHtml 是 html 的已弃用别名,为改名前接入的调用方在 rawHtml 字段中返回;请改为发送 html。
requireFieldsarray
Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `statusCode`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a record that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. A source that reports a field only in some cases, such as only when the website answered with an error, does not count as returning it.
打开于
获取免费密钥
示例响应
免费运行只返回前 3 条结果。为密钥充值即可获得完整响应。

这个示例展示了 11 个字段中的 6 个。查看全部字段

{
  "found": true,
  "data": {
    "url": "https://www.example.com/blog/launch",
    "title": "Introducing Example 2.0",
    "description": "Everything new in the biggest Example release yet.",
    "markdown": "# Introducing Example 2.0\n\nToday we are shipping the biggest release in our history…"
  }
}

完整的参数与响应参考:这个接口的每个字段、类型和示例。

参考

一个请求,一种响应结构。

你发送的每个字段和收到的每个字段,都附有真实示例。

最近验证于 2026-11-14 · 可用率和延迟按 30d 统计

请求体

JSON,POST 到这个接口。

  • urlstring

    https://www.example.com/blog/launch

    The full web address of the page to scrape, including its domain, for example https://example.com. The https:// prefix is optional.

  • blockAdsboolean

    为 true 时(上游默认值),在抓取前移除广告和 Cookie 同意弹窗元素。设为 false 则保留。

  • excludeTagsarray

    抓取前要移除的 CSS 选择器(例如 ["nav", "footer", ".ads"])。在 includeTags 之后应用。

  • formatsarray

    要返回页面的哪些表示形式。可任意组合:markdown(以 Markdown 表示的页面内容)、html(浏览器收到的原样页面 HTML,包括 head 和 script 标签)。每种请求的格式都在对应的输出字段中返回。默认两者都返回。rawHtml 是 html 的已弃用别名,为改名前接入的调用方在 rawHtml 字段中返回;请改为发送 html。

  • includeTagsarray

    要保留的 CSS 选择器。设置后,只抓取匹配这些选择器的内容(例如 ["article", "main"] 或 ["#content"])。

  • mobileboolean

    为 true 时,使用移动端视口和 user agent 渲染页面,而不是桌面端。有些网站向移动端提供的内容有实质差异。

  • onlyMainContentboolean

    为 true 时,只返回正文主体内容,去掉导航、页眉、页脚等模板内容。默认为 false,抓取整个页面。

  • requireFieldsarray

    Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `statusCode`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a record that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. A source that reports a field only in some cases, such as only when the website answered with an error, does not count as returning it.

  • waitForinteger

    Milliseconds to wait for the page to finish rendering before capture. Use this for JavaScript-heavy pages or single-page apps whose content loads after the initial paint. Capped at 15000 to stay within the request timeout. This wait is time you asked us to spend, so your response takes this much longer, and it is excluded from the latency published for this endpoint. If every provider that can wait fails, the page may still be returned, captured without the wait.

你发送。 一个简短的 JSON 请求体。显示的值只是示例,请换成你自己的。

响应

JSON,每个字段一个示例值。

datadata
  • descriptionstring

    Everything new in the biggest Example release yet.

    The page meta description.

  • htmlstring

    The page HTML exactly as the browser received it, head and script tags included. Present when 'html' is among the requested formats (the default).

  • languagestring

    Two-letter language code the page declares (its html lang attribute or the equivalent metadata).

  • markdownstring

    # Introducing Example 2.0 Today we are shipping the biggest release in our history…

    The page content as clean Markdown. Present when 'markdown' is among the requested formats (the default). Populated whenever the provider has data for the entity.

  • rawHtmlstring

    The same bytes as 'html'. Deprecated alias returned only when 'rawHtml' is among the requested formats; use 'html'.

  • statusCodeinteger可设为必填

    HTTP status code the website answered with, such as 200, 404 or 500. Absent when it could not be determined. Some sources report it only when the website answered with an error; name `statusCode` in requireFields to be served only by a source that always reports it.

  • titlestring

    Introducing Example 2.0

    The page title from its metadata.

  • urlstring

    https://www.example.com/blog/launch

    The canonical source URL of the scraped page. Populated whenever the provider has data for the entity.

top level
  • foundboolean

    true

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

你收到。 字段有名称、有类型,无论哪个数据源响应,结构都一样。

常见问题

关于 Web Scraping 抓取页面 API

AnyAPI 的 Web Scraping 抓取页面 API 只需一次 POST 请求 /v1/run/web.scrape,就以统一格式的 JSON 返回 Web Scraping 数据。抓取任意网页,以干净的 Markdown 返回其主要内容,并附带标题和元数据。AnyAPI 会在 5 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千次请求 US$0.70 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 Web Scraping 抓取页面 API 调用中有 99.2% 成功,响应时间中位数为 2.7 秒,共测量 477,059 次调用。

费用:每千次请求 US$0.70 起,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。

抓取任意网页,以干净的 Markdown 返回其主要内容,并附带标题和元数据。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

过去 30 天,通过 AnyAPI 发起的 Web Scraping 抓取页面 API 调用中有 99.2% 成功,响应时间中位数为 2.7 秒,共测量 477,059 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。

可以。新的 AnyAPI 账户自带 US$0.10 免费余额,无需绑卡,足够调用 142 次 Web Scraping 抓取页面,每次 US$0.0007。

AnyAPI 会在同一个请求中依次尝试它的 5 个数据源,从最便宜的开始,所以一个数据源宕机不会让你的调用失败。

向 https://api.getanyapi.com/v1/run/web.scrape 发送 POST 请求,在 “Authorization: Bearer” 请求头中放入你的 AnyAPI 密钥,并以 JSON 请求体传入参数。同一个密钥和同一个钱包适用于所有 AnyAPI 接口。

不需要。你向一个预付费的 AnyAPI 余额充值美元,每个请求从中扣费。没有月度套餐,也没有最低消费,同一个余额可用于所有 AnyAPI 接口。

有。TypeScript 用 npm 安装 @getanyapi/sdk,Python 用 pip 安装 getanyapi。两者都用同一个密钥调用所有 AnyAPI 接口,任何 HTTP 客户端也都可以。

可以。智能体可以连接 https://api.getanyapi.com/mcp 上的 AnyAPI MCP 服务器,或者向 https://api.getanyapi.com/agent/signup 发送一次无需认证的 POST 来创建自己的免费试用密钥,再通过 HTTP 调用这个接口。