安装
- .NET CLI
- 包管理器
- PackageReference
bash dotnet add package firecrawl-sdk 需要 .NET 8.0 或更高版本。
使用方式
- 从 firecrawl.dev 获取 API 密钥
- 将 API 密钥设置为名为
FIRECRAWL_API_KEY的环境变量,或在FirecrawlClient构造函数中传入该密钥
抓取单个 URL
ScrapeAsync 方法。
JSON 提取
JsonFormat 提取结构化 JSON:
爬取网站
CrawlAsync。该方法会自动处理轮询和分页。
开始爬取
StartCrawlAsync 异步启动任务,无需等待。
检查爬取状态
GetCrawlStatusAsync 查看爬取进度。
取消爬取
CancelCrawlAsync 取消正在运行中的爬取任务。
网站映射
MapAsync 发现网站中的链接。
搜索网页
SearchAsync 并可选配搜索设置进行搜索。
批量抓取
BatchScrapeAsync 可并行抓取多个 URL。该方法会自动处理轮询和分页。
使用幂等键执行批量抓取
IdempotencyKey:
使用方式与指标
异步支持
Task<T>。它们支持通过 CancellationToken 进行协作取消。
配置
FirecrawlClient 构造函数支持以下选项:
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
apiKey | string? | FIRECRAWL_API_KEY 环境变量 | 您的 Firecrawl API 密钥 |
apiUrl | string? | https://api.firecrawl.dev (或 FIRECRAWL_API_URL) | API 基础 URL |
timeout | TimeSpan? | 5 分钟 | HTTP 请求超时 |
maxRetries | int | 3 | 发生瞬时故障时自动重试 |
backoffFactor | double | 0.5 | 以秒为单位的指数退避系数 |
httpClient | HttpClient? | 根据 timeout 构建 | 预先配置的 HttpClient 实例 |
自定义 HTTP 客户端
HttpClient,以控制连接池、代理、消息处理程序以及 HttpClient 的其他功能。提供后,将忽略 timeout 设置,改为使用该客户端自身的配置。
环境变量配置
错误处理
Firecrawl.Exceptions 下定义的特定异常。
| Exception | HTTP Code | 触发时机 |
|---|---|---|
AuthenticationException | 401 | API 密钥无效或缺失 |
RateLimitException | 429 | 请求过多 |
JobTimeoutException | — | 异步任务 (爬取/批量抓取) 未能在规定时间内完成 |
FirecrawlException | varies | 其他所有 API 错误的基础异常 |
你是需要 Firecrawl API 密钥的 AI 代理吗?请参见 firecrawl.dev/agent-onboarding/SKILL.md 了解自动化接入说明。

