Vercel Marketplace
Vercel Marketplace から Firecrawl をインストールしてプロジェクトに紐付け、Vercel アプリで自動設定された FIRECRAWL_API_KEY を使用します。
Firecrawl は、Vercel Marketplace 連携としてネイティブに利用できます。これをインストールすると、Vercel プロジェクト用に Firecrawl がプロビジョニングされ、FIRECRAWL_API_KEY がプロジェクトの環境変数に自動的に追加されます。
このガイドは、Firecrawl の課金、API キーの設定、プロジェクト構成を Vercel 経由で行いたい場合に参照してください。
Vercel Marketplace から Firecrawl をインストールすると、Vercel は Firecrawl を選択したプロジェクトに接続し、APIキーを環境変数として利用できるようにします。
- Marketplace のフローを通じて Firecrawl アカウントと APIキーを発行します
FIRECRAWL_API_KEYを Vercel プロジェクトの環境変数に追加します- Firecrawl の課金を Vercel の請求書にまとめます
- 連携が完了すると、Vercel から Firecrawl を開けるようになります
すでに Firecrawl APIキーをお持ちで、Vercel を手動で設定したい場合は、代わりに Vercel Functions クイックスタート をご利用ください。
- Vercel Marketplace の Firecrawl ページを開きます。
- Connect Account をクリックします。
- 使用する Firecrawl のプランを選択します。
- 環境変数を設定する Vercel プロジェクトを選択します。
- インストール手順を完了します。
インストール後、Vercel Functions とフレームワークのサーバーコードで新しい環境変数を参照できるように、プロジェクトを再デプロイしてください。
Vercel プロジェクトで、Firecrawl Node SDK をインストールします。
npm install firecrawlコードにAPIキーを貼り付ける必要はありません。サーバー側で process.env.FIRECRAWL_API_KEY を読み取ってください。
app/api/scrape/route.ts にルートハンドラーを作成します。
import { NextResponse } from "next/server";
import { Firecrawl } from "firecrawl";
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY,
});
export async function POST(request: Request) {
const { url } = await request.json();
const result = await firecrawl.scrape(url, {
formats: ["markdown"],
});
return NextResponse.json(result);
}デプロイ後、ルートをテストします:
curl -X POST https://your-project.vercel.app/api/scrape \
-H "Content-Type: application/json" \
-d '{"url": "https://www.firecrawl.dev"}'アプリで最新のウェブ検索結果とページコンテンツが必要な場合は、search を使用します。
import { NextResponse } from "next/server";
import { Firecrawl } from "firecrawl";
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY,
});
export async function POST(request: Request) {
const { query } = await request.json();
const results = await firecrawl.search(query, {
limit: 5,
scrapeOptions: {
formats: ["markdown"],
},
});
return NextResponse.json(results);
}アプリでコンテンツを抽出する前に、クリックやスクロール、フォーム入力が必要な場合は、interact を使用します。
import { NextResponse } from "next/server";
import { Firecrawl } from "firecrawl";
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY,
});
export async function POST() {
const result = await firecrawl.scrape("https://news.ycombinator.com", {
formats: ["markdown"],
});
const scrapeId = result.metadata?.scrapeId;
if (!scrapeId) {
return NextResponse.json(
{ error: "No interactive scrape session was created" },
{ status: 500 }
);
}
const response = await firecrawl.interact(scrapeId, {
prompt: "Open the first story and summarize the page.",
});
await firecrawl.stopInteraction(scrapeId);
return NextResponse.json({ output: response.output });
}長時間の操作では、短いサーバーレスのタイムアウトを超える場合があります。時間がかかる可能性のある本番ワークフローでは、バックグラウンドジョブで処理を実行するか、webhook を利用して Firecrawl の async API を使用してください。
Vercel AI SDK でエージェントを構築している場合は、Firecrawl AI SDK ツールをインストールします。
npm install firecrawl-aisdk ai次に、Firecrawl のツールをモデルに渡します。Marketplace でインストールされた FIRECRAWL_API_KEY は環境から読み込まれます。
以下の例では、Vercel AI Gateway のモデル文字列形式を使用しています。AI SDK のモデルプロバイダーまたは AI Gateway の認証情報は別途設定してください。
import { generateText, stepCountIs } from "ai";
import { FirecrawlTools } from "firecrawl-aisdk";
const { text } = await generateText({
model: "anthropic/claude-sonnet-4-5",
tools: FirecrawlTools(),
stopWhen: stepCountIs(20),
prompt: "Search for recent Vercel AI SDK examples, scrape the best sources, and summarize them.",
});
console.log(text);