Search1API文档

Firecrawl

只需更换 API URL 和密钥,即可通过 Search1API 使用 Firecrawl 的单页抓取和搜索端点,并了解哪些 Python 客户端会保留 URL 路径。

Search1API 兼容 Firecrawl 两个 API 版本中的单页抓取和搜索:POST /v1/scrape、/v2/scrape、/v1/search 和 /v2/search。将 Firecrawl API URL 设置为:

https://api.search1api.com/compat/firecrawl

与 Firecrawl SDK 的做法一样,使用 Authorization: Bearer YOUR_API_KEY 携带你的 Search1API 密钥进行认证。

配置客户端

import Firecrawl from '@mendable/firecrawl-js';

const firecrawl = new Firecrawl({
  apiKey: process.env.SEARCH1API_KEY,
  apiUrl: 'https://api.search1api.com/compat/firecrawl',
});
const page = await firecrawl.scrape('https://hono.dev/docs/', { formats: ['markdown'] });
const results = await firecrawl.search('hono cloudflare workers', { limit: 5 });

firecrawl-py 的默认 Firecrawl 客户端无法使用此 URL

在 firecrawl-py 4.x 中,默认的同步客户端(Firecrawl,也以 FirecrawlApp 导出)只用 api_url 的主机名构建请求 URL,并丢弃其路径,因此 https://api.search1api.com/compat/firecrawl 会变成 https://api.search1api.com/v2/scrape,请求以 404 失败。请按上文所示使用 AsyncFirecrawl 或 V1FirecrawlApp,两者都会保留路径。基于默认客户端构建的库,包括 LangChain 的 FireCrawlLoader 和 LlamaIndex 的 Firecrawl reader,也会受到同样的影响。

单页抓取

url 为必填项。页面以 Markdown 形式返回在 data.markdown 中,同时包含 data.metadata.title、sourceURL、url 和 statusCode。

只生成 Markdown。formats 中的其他条目,如 html、links 或 screenshot,会被忽略,对应字段也不会出现。onlyMainContent、waitFor、timeout、actions 等页面选项会被忽略。

字段行为
query必填。
limitv2 默认 10,v1 默认 5,每个来源最多 50。
sources (v2)web、news 和 images,可以是字符串或 { "type": … } 对象。默认 ["web"]。
tbsqdr:h 和 qdr:d(天)、qdr:w、qdr:m 和 qdr:y。
lang结果的主语言。
includeDomains, excludeDomains限定或排除站点。
scrapeOptions.formats只要是非空列表,就会读取每条网页和新闻结果的页面,并在结果中加入 markdown 和 metadata。

与 Firecrawl 一样,除非设置了 scrapeOptions.formats,否则结果不包含页面内容。

v2 会针对所请求的来源返回 data.web(url、title、description、position)、data.news(title、url、snippet、date、position)和 data.images(imageUrl、url、position)。当某个来源失败而其他来源成功时,响应会包含 warning。v1 以 { url, title, description } 列表的形式返回 data。

积分

请求积分
单页抓取1
搜索每个来源 1
带 scrapeOptions.formats 的搜索每个来源 1,每读取一个页面再加 1

不支持的功能

Crawl、batch scrape、map、extract 等任务类端点返回 404。如需处理整个站点,请使用 Search1API 的 /deepcrawl 和 /sitemap。

错误

错误返回 { "success": false, "error": "message" } 及相应状态码。无法读取的页面返回 502,Firecrawl JavaScript SDK 会先重试,然后才抛出错误。

本页内容