v2 API 变更: v2 已完全支持 JSON schema 抽取,但 API 格式有所调整。在 v2 中,schema 直接嵌入到 formats 对象中,写法为
formats: [{type: "json", schema: {...}}]。v1 的 jsonOptions 参数在 v2 中已被移除。使用 Firecrawl 抓取并提取结构化数据
-
设置 Schema(可选):
定义一个 JSON Schema(采用 OpenAI 的格式)来明确所需数据;如果不需要严格的 Schema,也可仅提供一个
prompt,并附上网页 URL。 - 发起请求: 使用 JSON 模式将你的 URL 和 Schema 发送到我们的 /scrape 端点。查看方法: Scrape Endpoint Documentation
- 获取数据: 返回与你的 Schema 匹配的干净、结构化数据,可直接使用。
提取结构化数据
通过 /scrape 的 JSON 模式
JSON
无需 schema 的结构化数据
prompt,在没有 schema 的情况下进行提取。LLM 会自行确定数据结构。
JSON
真实案例:提取公司信息
Output
JSON 格式选项
formats 中直接包含一个内嵌 schema 的对象:
formats: [{ type: 'json', schema: { ... }, prompt: '...' }]
参数:
schema: 描述所需结构化输出的 JSON Schema(基于 schema 的提取为必填)。prompt: 可选提示,用于引导提取(也用于无 schema 的提取)。
jsonOptions 参数。schema 必须直接包含在 formats 数组中的 format 对象内。
JSON 提取中不支持 HTML 属性。 JSON 提取是基于页面的 Markdown 转换结果工作的,该转换只保留可见文本内容。HTML 属性(例如
data-id、元素上的自定义属性)会在转换过程中被去除,大语言模型无法看到这些属性。如果你需要提取 HTML 属性值,请使用 rawHtml format 并在客户端解析属性,或者使用 executeJavascript 动作为在提取前将属性值注入到可见文本中。