インストール
コピー
AIに質問
npm install firecrawl-aisdk ai @ai-sdk/openai
コピー
AIに質問
FIRECRAWL_API_KEY=fc-your-key
OPENAI_API_KEY=sk-your-key
これらの例では OpenAI を使用していますが、Firecrawl のツールは Anthropic、Google、Mistral などを含む、すべての Vercel AI SDK プロバイダーで動作します。サポートされているプロバイダーの完全な一覧を参照してください。
クイックスタート
コピー
AIに質問
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { scrapeTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'https://firecrawl.dev をスクレイピングして、何をするものか要約してください',
tools: { scrape: scrapeTool },
});
利用可能なツール
コピー
AIに質問
import {
scrapeTool, // 単一URLをスクレイピング
searchTool, // Web検索
mapTool, // サイト上のURLを検出
crawlTool, // 複数ページをクロール
batchScrapeTool, // 複数URLをスクレイピング
extractTool, // 構造化データを抽出
pollTool, // 非同期ジョブをポーリング
statusTool, // ジョブステータスを確認
cancelTool, // ジョブをキャンセル
} from 'firecrawl-aisdk';
使用例
スクレイピング
コピー
AIに質問
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { scrapeTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'https://firecrawl.dev をスクレイピングして、何をするものか要約してください',
tools: { scrape: scrapeTool },
});
console.log(text);
検索
コピー
AIに質問
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { searchTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'Firecrawlを検索し、見つけた内容を要約してください',
tools: { search: searchTool },
});
console.log(text);
マップ
コピー
AIに質問
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { mapTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'https://docs.firecrawl.dev をマップして主要セクションをリスト化',
tools: { map: mapTool },
});
console.log(text);
クロール
pollTool を含めてください。
コピー
AIに質問
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { crawlTool, pollTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'https://docs.firecrawl.dev をクロール(3ページまで)して要約',
tools: { crawl: crawlTool, poll: pollTool },
});
console.log(text);
バッチスクレイピング
pollTool を含めてください。
コピー
AIに質問
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { batchScrapeTool, pollTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'https://firecrawl.dev と https://docs.firecrawl.dev をスクレイピングして比較する',
tools: { batchScrape: batchScrapeTool, poll: pollTool },
});
console.log(text);
抽出
pollTool を含めてください。
コピー
AIに質問
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { extractTool, pollTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'https://firecrawl.dev から主要機能を抽出',
tools: { extract: extractTool, poll: pollTool },
});
console.log(text);
検索 + スクレイピング
コピー
AIに質問
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { searchTool, scrapeTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'Firecrawlを検索し、最上位の結果をスクレイピングして、それが何をするものか説明してください',
tools: { search: searchTool, scrape: scrapeTool },
});
console.log(text);
ストリーム
コピー
AIに質問
import { streamText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { scrapeTool } from 'firecrawl-aisdk';
const result = streamText({
model: openai('gpt-5-mini'),
prompt: 'https://firecrawl.dev をスクレイピングして、何ができるか説明してください',
tools: { scrape: scrapeTool },
});
for await (const chunk of result.textStream) {
process.stdout.write(chunk);
}

