Skip to main content

Java

Firecrawl Java SDK 是对 Firecrawl API 的封装,帮助你轻松将网站转换为 Markdown。
2 min read

安装#

官方 Java SDK 维护在 Firecrawl monorepo 的 apps/java-sdk 目录中。

要安装 Firecrawl Java SDK,请从 Maven Central 添加以下依赖:

Note
需要 Java 11 或更高版本。

使用方式#

  1. firecrawl.dev 获取 API 密钥
  2. 将 API 密钥设置为名为 FIRECRAWL_API_KEY 的环境变量,或通过 FirecrawlClient.builder().apiKey(...) 传入

以下是一个基于当前 SDK API 的快速示例:

抓取 URL#

要抓取单个 URL,请使用 scrape 方法。

解析上传的文件#

最新的 Java SDK 包 (com.firecrawl:firecrawl-java) 支持直接将文件上传到 /v2/parseparse 不支持 changeTracking,也不支持仅适用于浏览器的选项,例如 screenshotbrandingactionswaitForlocationmobile

Java

JSON 提取#

使用 JsonFormat 通过 scrape 端点提取结构化 JSON:

爬取网站#

要爬取一个网站并等待其完成,请使用 crawl

开始爬取#

使用 startCrawl 可直接启动任务,无需等待完成。

检查爬取状态#

使用 getCrawlStatus 检查爬取进度。

取消爬取任务#

使用 cancelCrawl 取消正在运行的爬取任务。

网站映射#

使用 map 发现网站上的链接。

搜索网页#

使用 search 并可选择配置搜索设置来进行搜索。

批量抓取#

使用 batchScrape 并行抓取多个 URL。

代理#

使用 agent 运行一个由 AI 驱动的代理。

通过 JSON schema 进行结构化输出:

使用方式与指标#

查看并发数和剩余额度:

异步支持#

已内置异步版本,返回 CompletableFuture

浏览器#

Java SDK 提供了 浏览器 Sandbox 辅助工具。

创建会话#

执行代码#

与抓取绑定的交互式会话#

使用抓取任务 ID,在相同的回放上下文中运行后续浏览器代码:

  • interact(...) 会在与抓取绑定的浏览器会话中运行代码(并在首次使用时初始化该会话)。
  • stopInteraction(...) 会在你完成后显式停止交互式会话。

列出并关闭会话#

配置#

FirecrawlClient.builder() 支持以下选项:

选项类型默认值说明
apiKeyStringFIRECRAWL_API_KEY 环境变量或 firecrawl.apiKey 系统属性Firecrawl API 密钥
apiUrlStringhttps://api.firecrawl.dev (或 FIRECRAWL_API_URL)API 基础 URL
timeoutMslong300000HTTP 请求超时时间 (毫秒)
maxRetriesint3发生瞬时故障时自动重试的次数
backoffFactordouble0.5指数退避系数 (秒)
asyncExecutorExecutorForkJoinPool.commonPool()用于异步方法的自定义执行器
httpClientOkHttpClient基于 timeoutMs 构建预配置的 OkHttpClient 实例

自定义 HTTP 客户端#

你可以传入一个预先配置好的 OkHttpClient,以控制连接池、拦截器、SSL 配置、代理设置及其他任何 OkHttp 功能。提供该客户端后,timeoutMs 设置将被忽略,改为使用客户端自身的配置。

错误处理#

SDK 会抛出位于 com.firecrawl.errors 下的运行时异常。

你是需要 Firecrawl API 密钥的 AI 代理吗?请参见 firecrawl.dev/agent-onboarding/SKILL.md 获取自动化接入说明。