Skip to main content

.NET

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

安装#

官方 .NET SDK 由 Firecrawl monorepo 中的 apps/dot-net-sdk 维护。

要安装 Firecrawl .NET SDK,请添加以下 NuGet 包:

Note
需要 .NET 8.0 或更高版本。

使用方式#

  1. firecrawl.dev 获取 API 密钥
  2. 将 API 密钥设置为名为 FIRECRAWL_API_KEY 的环境变量,或在 FirecrawlClient 构造函数中传入该密钥

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

抓取单个 URL#

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

JSON 提取#

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

爬取网站#

要爬取网站并等待其完成,请使用 CrawlAsync。该方法会自动处理轮询和分页。

开始爬取#

使用 StartCrawlAsync 异步启动任务,无需等待。

检查爬取状态#

使用 GetCrawlStatusAsync 查看爬取进度。

取消爬取#

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

网站映射#

使用 MapAsync 发现网站中的链接。

搜索网页#

使用 SearchAsync 并可选配搜索设置进行搜索。

批量抓取#

使用 BatchScrapeAsync 可并行抓取多个 URL。该方法会自动处理轮询和分页。

使用幂等键执行批量抓取#

为确保不会处理重复请求,请传入 IdempotencyKey

使用方式与指标#

查看并发数和剩余额度:

异步支持#

.NET SDK 中的所有方法默认均为异步,并返回 Task<T>。它们支持通过 CancellationToken 进行协作取消。

配置#

FirecrawlClient 构造函数支持以下选项:

选项类型默认值描述
apiKeystring?FIRECRAWL_API_KEY 环境变量您的 Firecrawl API 密钥
apiUrlstring?https://api.firecrawl.dev (或 FIRECRAWL_API_URL)API 基础 URL
timeoutTimeSpan?5 分钟HTTP 请求超时
maxRetriesint3发生瞬时故障时自动重试
backoffFactordouble0.5以秒为单位的指数退避系数
httpClientHttpClient?根据 timeout 构建预先配置的 HttpClient 实例

自定义 HTTP 客户端#

你可以传入一个预先配置好的 HttpClient,以控制连接池、代理、消息处理程序以及 HttpClient 的其他功能。提供后,将忽略 timeout 设置,改为使用该客户端自身的配置。

环境变量配置#

当省略构造函数参数时,SDK 会从环境变量中获取配置:

错误处理#

SDK 会抛出 Firecrawl.Exceptions 下定义的特定异常。

异常层级:

ExceptionHTTP Code触发时机
AuthenticationException401API 密钥无效或缺失
RateLimitException429请求过多
JobTimeoutException异步任务 (爬取/批量抓取) 未能在规定时间内完成
FirecrawlExceptionvaries其他所有 API 错误的基础异常

在抛出异常之前,瞬时故障 (408、409、502 和其他 5xx 错误) 会先以指数退避方式自动重试。

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