安装#
官方 Rust SDK 维护在 Firecrawl 的 monorepo 中,位于 apps/rust-sdk。
要安装 Firecrawl Rust SDK,请从 crates.io 添加此依赖:
或通过 Cargo 安装:
使用方式#
- 从 firecrawl.dev 获取 API 密钥
- 将 API 密钥设置为名为
FIRECRAWL_API_KEY的环境变量,或直接传给Client::new(...)
抓取网页并打印其 markdown:
以下各节介绍了爬取、映射、搜索及其他 SDK 方法。
抓取 URL#
要抓取单个 URL,请使用 scrape 方法。
JSON 提取#
使用 scrape_with_schema 提取结构化 JSON:
也可以直接通过 ScrapeOptions 配置 JSON 提取:
解析上传的文件#
使用 parse 将本地文件 (.html、.htm、.pdf、.docx、.doc、.odt、.rtf、.xlsx、.xls) 以 multipart form data 的形式上传到 /v2/parse。该 endpoint 会返回一个包含所请求 formats 的 Document。
ParseOptions 刻意省略了仅适用于抓取、且会被 /v2/parse 拒绝的字段 (例如 actions、waitFor、location、mobile、screenshot、branding 和 changeTracking) 。
可以通过内存中的字节数据或直接通过路径构建 ParseFile:
或者直接从磁盘读取文件,不传入选项:
ParseFile#
| 构造函数 | 描述 |
|---|---|
ParseFile::from_bytes(filename, bytes) | 通过文件名和内存中的字节数据构建 |
ParseFile::from_path(path) | 从磁盘读取字节数据,并从路径中提取文件名 |
.with_content_type(content_type) | 附加 MIME 类型提示 (例如 text/html、application/pdf) |
ParseOptions#
支持的字段 (均为可选,请求传输时使用 camelCase) :
formats: Vec<ParseFormat>— 可为以下任意值:Markdown、Html、RawHtml、Links、Images、Summary、Json、Attributesonly_main_content: boolinclude_tags: Vec<String>/exclude_tags: Vec<String>headers: HashMap<String, String>timeout: u32(毫秒)parsers: Vec<ParserConfig>(例如 PDF 解析器配置)skip_tls_verification: boolremove_base64_images: boolfast_mode: boolblock_ads: boolproxy: ParseProxyType(Basic或Auto)json_options: JsonOptionsattribute_selectors: Vec<AttributeSelector>zero_data_retention: boolintegration: String,origin: String,use_mock: String
爬取网站#
如需爬取网站并等待完成,请使用 crawl。
开始爬取#
使用 start_crawl 启动任务,无需等待。
查看爬取状态#
使用 get_crawl_status 查看爬取进度。
取消爬取#
使用 cancel_crawl 取消正在进行的爬取。
检查爬取错误#
使用 get_crawl_errors 获取爬取任务中的错误。
网站映射#
使用 map 发现网站中的链接。
若只需返回 URL 的简化结果,请使用 map_urls:
搜索网页#
使用 search 并结合可选设置进行搜索。
如需使用可直接返回抓取到的文档的便捷方法:
批量抓取#
通过 batch_scrape 并行抓取多个 URL。
代理#
使用 agent 运行 AI 代理。
使用 JSON schema 实现结构化输出:
与抓取任务绑定的交互式会话#
使用抓取任务 ID,可在同一上下文中运行后续浏览器代码:
interact(...)会在与抓取任务绑定的浏览器会话中运行代码或 prompt。stop_interaction(...)会在你完成后停止交互式会话。
配置#
Client::new(...) 和 Client::new_selfhosted(...) 用于创建客户端。
| 选项 | 描述 |
|---|---|
Client::new(api_key) | 为 Firecrawl 云服务 (https://api.firecrawl.dev) 创建客户端 |
Client::new_selfhosted(api_url, api_key) | 为自托管 Firecrawl 实例创建客户端 |
环境变量#
请设置 FIRECRAWL_API_KEY 环境变量,而不要直接传入密钥:
轮询间隔#
同步方法 (crawl、batch_scrape、agent) 会轮询直到完成。你可以通过 options 结构体自定义轮询间隔:
错误处理#
SDK 使用 FirecrawlError 枚举,该枚举实现了 Error、Debug 和 Display 接口。所有方法都返回 Result<T, FirecrawlError>。
如果你是需要 Firecrawl API 密钥的 AI 代理,请参阅 firecrawl.dev/agent-onboarding/SKILL.md 获取自动化接入说明。

