Skip to main content

Go

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

インストール#

公式の Go SDK は、Firecrawl のモノレポ内の apps/go-sdk で管理されています。

Firecrawl Go SDK をインストールするには、次を実行します。

Note
Go 1.23以降が必要です。

使用方法#

  1. firecrawl.devでAPIキーを取得します
  2. APIキーを FIRECRAWL_API_KEY という名前の環境変数に設定するか、option.WithAPIKey(...) で渡します

以下は、現在のSDK APIを使った簡単な例です。

URLをスクレイピングする#

単一のURLをスクレイピングするには、Scrapeメソッドを使用します。

JSON抽出#

Scrape エンドポイントで JsonOptions を使用して、構造化されたJSONを抽出します:

Web サイトをクロールする#

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

クロールを開始する#

StartCrawl を使用すると、待機せずにジョブを開始できます。

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

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

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

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

Web サイトのマッピング#

Map を使ってサイト内のリンクを見つけます。

ウェブを検索する#

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

バッチスクレイピング#

BatchScrapeを使って複数のURLを並列にスクレイピングします。

Agent#

Agent を使用して、AI エージェントを実行します。

構造化された出力に JSON schema を使用する場合:

使用量 & メトリクス#

並行実行数と残りのクレジットを確認するには:

Browser#

Go SDK には、ブラウザサンドボックスを扱うためのヘルパーが含まれています。

セッションを作成する#

コードの実行#

スクレイピングに紐づいた対話型セッション#

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

  • Interact(...) は、スクレイピングに紐づいたブラウザセッションでコードを実行します (初回使用時に初期化されます) 。
  • StopInteractiveBrowser(...) は、完了後に対話型セッションを明示的に停止します。

セッションの一覧表示 & 終了#

設定#

firecrawl.NewClient() では、関数オプションを指定できます。

OptionTypeDefaultDescription
option.WithAPIKeystringFIRECRAWL_API_KEY 環境変数Firecrawl APIキー
option.WithAPIURLstringhttps://api.firecrawl.dev (または FIRECRAWL_API_URL)APIのベースURL
option.WithTimeouttime.Duration5 * time.MinuteHTTPクライアントのタイムアウト
option.WithMaxRetriesint3一時的な障害発生時の自動リトライ
option.WithBackoffFactorfloat640.5秒単位の指数バックオフ係数
option.WithHTTPClient*http.Clientタイムアウト設定から生成事前設定済みのHTTPクライアントインスタンス
option.WithHeaderstring, stringすべてのリクエストに追加ヘッダーを付与

カスタム HTTP クライアント#

事前設定済みの *http.Client を渡すことで、トランスポート設定、プロキシ設定、TLS 設定などを制御できます。これを指定した場合、WithTimeout 設定は無視され、代わりにそのクライアント自身の設定が使用されます。

Context のサポート#

すべてのメソッドは、キャンセルやデッドラインの制御のため、第1引数として context.Context を受け取ります。

エラーハンドリング#

SDK は、firecrawl パッケージ内で型付きエラーを使用します。

再試行ロジック#

SDK は一時的な障害に対して自動的に再試行を行います。

  • 再試行されるもの: 408、409、5xx エラー、および接続エラー
  • 再試行されないもの: 401、429、およびその他の 4xx エラー
  • バックオフ: 係数を設定できる指数バックオフ

ポインタヘルパー#

SDK は、任意のポインタフィールド向けの便利な関数を提供します。

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