Skip to main content

Rust

Firecrawl Rust SDK は、Web サイトを簡単に Markdown に変換できる Firecrawl API のラッパーです。
2 min read

インストール#

公式の Rust SDK は、Firecrawl のモノレポ内にある apps/rust-sdk で管理されています。

Firecrawl Rust SDK をインストールするには、crates.io から依存関係を追加します。

または Cargo でインストールします。

Note
Rust 1.70以降が必要です。

使用方法#

  1. firecrawl.dev でAPIキーを取得します
  2. 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 は、指定したフォーマットを含む Document を返します。

ParseOptions では、/v2/parse が受け付けないスクレイピング専用のフィールド (actionswaitForlocationmobilescreenshotbrandingchangeTracking など) を意図的に除外しています。

メモリ上のバイト列、またはパスから直接 ParseFile を作成します。

または、ディスクからファイルを読み込み、オプションは省略します:

ParseFile#

Constructor説明
ParseFile::from_bytes(filename, bytes)ファイル名とメモリ上のバイト列から生成
ParseFile::from_path(path)ディスクからバイト列を読み込み、ファイル名を取得
.with_content_type(content_type)MIME タイプのヒントを付与 (例: text/html, application/pdf)

ParseOptions#

利用可能なフィールド (すべて任意、ワイヤ形式では camelCase) :

  • formats: Vec<ParseFormat>MarkdownHtmlRawHtmlLinksImagesSummaryJsonAttributes のいずれか
  • only_main_content: bool
  • include_tags: Vec<String> / exclude_tags: Vec<String>
  • headers: HashMap<String, String>
  • timeout: u32 (ms)
  • parsers: Vec<ParserConfig> (例: PDF パーサーの設定)
  • skip_tls_verification: bool
  • remove_base64_images: bool
  • fast_mode: bool
  • block_ads: bool
  • proxy: ParseProxyType (Basic または Auto)
  • json_options: JsonOptions
  • attribute_selectors: Vec<AttributeSelector>
  • zero_data_retention: bool
  • integration: String, origin: String, use_mock: String

Web サイトのクロール#

Web サイトをクロールして完了を待つには、crawl を使用します。

クロールを開始する#

start_crawl を使うと、待たずにジョブを開始できます。

クロールのステータスを確認#

get_crawl_statusでクロールの進行状況を確認できます。

クロールをキャンセルする#

実行中のクロールは cancel_crawl でキャンセルできます。

クロールエラーの確認#

get_crawl_errors でクロールジョブのエラーを取得します。

Web サイトをマッピングする#

map を使用して Web サイト内のリンクを見つけます。

URL のみのシンプルな結果を得るには、map_urls を使用します:

Webを検索する#

search を使うと、任意の設定で検索できます。

スクレイピング済みのドキュメントを直接返す便利なメソッドを使う場合:

バッチスクレイピング#

batch_scrape を使用して、複数のURLを並列でスクレイピングします。

Agent#

agent を使って AI エージェントを実行します。

構造化された出力用のJSON schema:

スクレイピングに紐づいたインタラクティブセッション#

スクレイピングジョブIDを使用して、同じコンテキストで後続のブラウザコードを実行できます。

  • interact(...) は、スクレイピングに紐づいたブラウザセッション内でコードまたはプロンプトを実行します。
  • stop_interaction(...) は、作業完了後にインタラクティブセッションを停止します。

設定#

Client::new(...)Client::new_selfhosted(...) でクライアントを作成します。

OptionDescription
Client::new(api_key)Firecrawl のクラウドサービス (https://api.firecrawl.dev) 用のクライアントを作成します
Client::new_selfhosted(api_url, api_key)セルフホストの Firecrawl インスタンス用のクライアントを作成します

環境変数#

キーを直接渡す代わりに、FIRECRAWL_API_KEY 環境変数を設定してください。

ポーリング間隔#

同期メソッド (crawlbatch_scrapeagent) は、完了するまでポーリングを続けます。ポーリング間隔は、options 構造体でカスタマイズできます。

エラー処理#

この SDK は、ErrorDebugDisplay を実装する FirecrawlError 列挙型を使用します。すべてのメソッドは Result<T, FirecrawlError> を返します。

Firecrawl API キーを必要とする AI エージェントですか?自動オンボーディング手順については、firecrawl.dev/agent-onboarding/SKILL.md を参照してください。