跳转到主要内容
POST
/
scrape
抓取单个 URL,并可选择使用 LLM 提取信息
curl --request POST \
  --url https://api.firecrawl.dev/v1/scrape \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "<string>",
  "onlyMainContent": true,
  "includeTags": [
    "<string>"
  ],
  "excludeTags": [
    "<string>"
  ],
  "maxAge": 0,
  "headers": {},
  "waitFor": 0,
  "mobile": false,
  "skipTlsVerification": false,
  "timeout": 30000,
  "parsePDF": true,
  "jsonOptions": {
    "schema": {},
    "systemPrompt": "<string>",
    "prompt": "<string>"
  },
  "actions": [
    {
      "type": "wait",
      "milliseconds": 2,
      "selector": "#my-element"
    }
  ],
  "location": {
    "country": "US",
    "languages": [
      "en-US"
    ]
  },
  "removeBase64Images": true,
  "blockAds": true,
  "proxy": "basic",
  "storeInCache": true,
  "formats": [
    "markdown"
  ],
  "changeTrackingOptions": {
    "modes": [
      "git-diff"
    ],
    "schema": {},
    "prompt": "<string>",
    "tag": null
  },
  "zeroDataRetention": false
}
'
{
  "success": true,
  "data": {
    "markdown": "<string>",
    "html": "<string>",
    "rawHtml": "<string>",
    "screenshot": "<string>",
    "links": [
      "<string>"
    ],
    "actions": {
      "screenshots": [
        "<string>"
      ],
      "scrapes": [
        {
          "url": "<string>",
          "html": "<string>"
        }
      ],
      "javascriptReturns": [
        {
          "type": "<string>",
          "value": "<unknown>"
        }
      ],
      "pdfs": [
        "<string>"
      ]
    },
    "metadata": {
      "title": "<string>",
      "description": "<string>",
      "language": "<string>",
      "sourceURL": "<string>",
      "keywords": "<string>",
      "ogLocaleAlternate": [
        "<string>"
      ],
      "<any other metadata> ": "<string>",
      "statusCode": 123,
      "error": "<string>"
    },
    "llm_extraction": {},
    "warning": "<string>",
    "changeTracking": {
      "previousScrapeAt": "2023-11-07T05:31:56Z",
      "changeStatus": "new",
      "visibility": "visible",
      "diff": "<string>",
      "json": {}
    }
  }
}
注意:全新的 此 API 的 v2 版本 现已上线,提供更强大的功能和更高的性能。

授权

Authorization
string
header
必填

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

请求体

application/json
url
string<uri>
必填

要爬取的 URL

onlyMainContent
boolean
默认值:true

仅返回页面的主体内容,不包括页眉、导航、页脚等。

includeTags
string[]

需要包含在输出中的标签。

excludeTags
string[]

在输出结果中要排除的标签。

maxAge
integer
默认值:0

如果页面的缓存版本的生成时间距现在小于此值(毫秒),则返回该缓存版本;如果缓存版本早于此值,则会重新抓取页面。如果你不需要极其实时的数据,启用此选项可以将抓取速度最多提升 5 倍。默认值为 0,表示禁用缓存。

headers
object

随请求发送的请求头。可用于携带 cookies、user-agent 等信息。

waitFor
integer
默认值:0

设置在获取内容前的延迟时间(毫秒),以便页面有足够时间加载完成。

mobile
boolean
默认值:false

若要模拟移动端抓取,请将其设置为 true。适用于测试响应式页面并获取移动端截图。

skipTlsVerification
boolean
默认值:false

在发送请求时跳过 TLS 证书校验

timeout
integer
默认值:30000

请求超时时间(毫秒)

parsePDF
boolean
默认值:true

控制在爬取过程中如何处理 PDF 文件。为 true 时,会提取 PDF 内容并转换为 Markdown 格式,按页数计费(每页 1 个积分)。为 false 时,会返回以 base64 编码的 PDF 文件,统一按 1 个积分计费。

jsonOptions
object

JSON 配置对象

actions
(Wait · object | Screenshot · object | Click · object | Write text · object | Press a key · object | Scroll · object | Scrape · object | Execute JavaScript · object | Generate PDF · object)[]

在抓取页面内容前需要执行的 actions

location
object

请求的地理位置设置。指定后,如果可用,将使用合适的代理服务器,并模拟相应的语言和时区设置。如果未指定,默认值为“US”。

removeBase64Images
boolean
默认值:true

从输出中移除所有 Base64 图片,以避免内容过于冗长。图片的替代文本(alt 文本)会保留在输出中,但其 URL 会被占位符替换。

blockAds
boolean
默认值:true

启用广告拦截和 Cookie 弹窗屏蔽。

proxy
enum<string>

指定要使用的代理类型。

  • basic:用于抓取没有或仅有基础反爬虫机制的网站的代理。速度快,通常可用。
  • stealth:用于抓取具备高级反爬虫机制的网站的隐身代理。速度较慢,但在某些网站上更可靠。每次请求最多消耗 5 点积分。
  • auto:如果 basic 代理抓取失败,Firecrawl 将自动改用 stealth 代理重试抓取。如果使用 stealth 的重试成功,本次抓取将收取 5 点积分;如果首次使用 basic 抓取就成功,则仅收取常规费用。

如果你未指定代理类型,Firecrawl 将默认使用 basic。

可用选项:
basic,
stealth,
auto
storeInCache
boolean
默认值:true

如果为 true,该页面将被存储到 Firecrawl 的索引和缓存中。若你的抓取活动可能涉及数据保护方面的问题,将其设置为 false 会更合适。使用某些与敏感抓取相关的参数(如 actions、headers)时,该参数会被强制设为 false。

formats
enum<string>[]

输出中要包含的formats。

可用选项:
markdown,
html,
rawHtml,
links,
screenshot,
screenshot@fullPage,
json,
changeTracking
changeTrackingOptions
object

用于 changeTracking 的选项(Beta)。仅当在 formats 中包含 'changeTracking' 时才适用。使用 changeTracking 时,还必须同时指定 'markdown' 格式。

zeroDataRetention
boolean
默认值:false

如果为 true,将对本次抓取启用零数据保留策略。要开启此功能,请联系 [email protected]

响应

成功响应

success
boolean
data
object