安装
Python
使用
FIRECRAWL_API_KEY 环境变量,或在实例化 Firecrawl 类时直接传入。
没有 API 密钥? 你可以在不提供密钥的情况下构造
Firecrawl,并在无密钥的免费档位中使用 scrape、search 和 interact (按 IP 限流——请参见 Rate Limits) 。所有其他方法都需要密钥。Python
抓取单个 URL
scrape 方法抓取单个 URL。它会以结构化数据的形式返回页面内容,包括 markdown、元数据以及你请求的其他任何 formats。
Python
Python SDK 会将所有响应字段名从 camelCase 转换为 snake_case。例如,API 中的元数据字段 (如
ogImage、ogTitle 和 sourceURL) 在 SDK 响应中会变为 og_image、og_title 和 source_url。解析上传的文件
parse 可将本地文件 (html、pdf、docx、xlsx 等) 直接上传到 /v2/parse。
parse 不支持 changeTracking,也不支持仅适用于浏览器的选项,如 actions、wait_for、location、mobile、screenshot 和 branding。
Python
爬取网站
crawl 方法。它接收起始 URL 和可选的 options 作为参数。通过 options,你可以为爬取任务指定其他设置,例如爬取的最大页面数、允许的域名,以及输出 formats。有关自动/手动分页与限制,请参见 Pagination。
Python
仅站点地图抓取
sitemap="only" 只抓取站点地图中的 URL (起始 URL 始终会被包含,并且不会进行 HTML 链接发现) 。
Python
开始 Crawl
start_crawl 启动任务,无需等待。它会返回一个用于检查状态的任务 ID。需要直到完成才返回的阻塞式等待器时,请使用 crawl。分页行为与限制见分页。
Python
查看爬取状态
get_crawl_status 查看爬取任务的状态。传入任务 ID,即可获取当前状态以及截至目前已收集到的结果。
Python
取消爬取
cancel_crawl 方法取消爬取任务。传入由 start_crawl 返回的任务 ID,即可获取取消状态。
Python
网站映射
map 生成网站的 URL 列表。你可以通过选项自定义映射过程,例如排除子域或利用 sitemap。
Python
使用 WebSockets 爬取网站
start_crawl 启动任务,并使用 watcher 辅助工具订阅。调用 start() 之前,使用任务 ID 创建一个 watcher,并附加处理器 (例如:page、completed、failed) 。
Python
分页
next URL。Python SDK 默认会自动分页并汇总所有文档;此时 next 为 None。你可以禁用自动分页或设置限制来控制分页行为。
PaginationConfig
get_crawl_status 或 get_batch_scrape_status 时,使用 PaginationConfig 来控制分页行为:
Python
手动分页辅助方法
auto_paginate=False 时,如果还有更多数据可用,响应中会包含一个 next URL。使用以下辅助方法来获取后续页面:
get_crawl_status_page(next_url)- 使用前一次响应中的不透明nextURL 获取爬取结果的下一页。get_batch_scrape_status_page(next_url)- 使用前一次响应中的不透明nextURL 获取批量抓取结果的下一页。
next URL。
爬取
crawl 可获得最简便的体验,或者启动一个作业并手动翻页。
简单抓取 (自动分页,默认)
- 参见抓取网站中的默认流程。
手动抓取并控制分页
auto_paginate 设为 False,一次获取一页。使用 get_crawl_status_page 获取后续页面:
Python
手动抓取并设定限制 (自动分页 + 提前停止)
max_pages、max_results 或 max_wait_time 提前停止:
Python
批量抓取
batch_scrape,或启动任务后手动分页处理。
简单批量爬取 (自动分页,默认)
- 参见默认流程:Batch Scrape。
手动批量抓取并控制分页
auto_paginate=False,每次只获取一页。使用 get_batch_scrape_status_page 获取后续页面:
Python
受限的手动批量抓取 (自动分页 + 提前停止)
max_pages、max_results 或 max_wait_time 提前停止:
Python
错误处理
try/except 包裹相关调用,以捕获这些异常并在应用程序中处理失败情况。
异步类
AsyncFirecrawl 类。其方法与 Firecrawl 一致,但不会阻塞主线程。
Python
Python
浏览器
创建会话
Python
运行代码
Python
Python
配置文件
Python
通过 CDP 连接
Python
查看和关闭会话
Python
绑定到抓取的交互式会话
interact(job_id, ...)会在绑定到该抓取的浏览器会话中运行代码。- 首次调用
interact时,会根据抓取上下文自动初始化会话。 - 对同一任务 ID 的后续
interact调用会复用该浏览器的实时状态。 - 完成后,使用
stop_interaction(job_id)停止交互式会话。
Python
你是一个需要 Firecrawl API 密钥的 AI 代理吗?请参见 firecrawl.dev/agent-onboarding/SKILL.md 获取自动化接入说明。

