Documentation Index
Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
Use this file to discover all available pages before exploring further.
OpenRouter — 数百もの LLM に対応する統合 API — と Firecrawl を組み合わせれば、どのモデルにもリアルタイムのWeb検索、スクレイピング、クロール機能を持たせられます。
OpenRouter の API は OpenAI 互換のため、OpenRouter のベース URL を指定した OpenAI SDK と、ツールとして Firecrawl の Python または JavaScript SDK を利用できます。
npm install @mendable/firecrawl-js openai zod
export FIRECRAWL_API_KEY=fc-YOUR-API-KEY
export OPENROUTER_API_KEY=sk-or-YOUR-OPENROUTER-KEY
OpenRouterの任意のモデルでスクレイピング + 要約
Firecrawlでページをスクレイピングし、OpenRouterで選択した任意のモデル (ここではClaude Haiku 4.5) で要約します。
import FirecrawlApp from '@mendable/firecrawl-js';
import OpenAI from 'openai';
const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const openrouter = new OpenAI({
apiKey: process.env.OPENROUTER_API_KEY,
baseURL: 'https://openrouter.ai/api/v1',
});
const scraped = await firecrawl.scrape('https://docs.firecrawl.dev', {
formats: ['markdown'],
});
const completion = await openrouter.chat.completions.create({
model: 'anthropic/claude-haiku-4.5',
messages: [
{ role: 'user', content: `Summarize in 5 bullets: ${scraped.markdown}` },
],
});
console.log(completion.choices[0]?.message.content);
model 文字列は、任意の OpenRouter 対応モデル (openai/gpt-5、google/gemini-2.5-pro、meta-llama/llama-4-maverick など) に切り替えられます。
OpenRouter は OpenAI 互換のツール呼び出しをサポートしているため、Firecrawl をモデルが呼び出せる関数として組み込めます。
import FirecrawlApp from '@mendable/firecrawl-js';
import OpenAI from 'openai';
import { z } from 'zod';
const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const openrouter = new OpenAI({
apiKey: process.env.OPENROUTER_API_KEY,
baseURL: 'https://openrouter.ai/api/v1',
});
const ScrapeArgs = z.object({
url: z.string().describe('The URL to scrape'),
});
const tools = [
{
type: 'function' as const,
function: {
name: 'scrape_website',
description: 'Scrape the markdown content of any URL via Firecrawl',
parameters: z.toJSONSchema(ScrapeArgs),
},
},
];
const response = await openrouter.chat.completions.create({
model: 'anthropic/claude-haiku-4.5',
tools,
messages: [
{
role: 'user',
content: 'What is Firecrawl? Visit firecrawl.dev and tell me.',
},
],
});
const call = response.choices[0]?.message.tool_calls?.[0];
if (call?.function.name === 'scrape_website') {
const { url } = ScrapeArgs.parse(JSON.parse(call.function.arguments));
const page = await firecrawl.scrape(url, { formats: ['markdown'] });
console.log(page.markdown);
}
import os
from firecrawl import FirecrawlApp
from openai import OpenAI
firecrawl = FirecrawlApp(api_key=os.environ["FIRECRAWL_API_KEY"])
openrouter = OpenAI(
api_key=os.environ["OPENROUTER_API_KEY"],
base_url="https://openrouter.ai/api/v1",
)
page = firecrawl.scrape("https://docs.firecrawl.dev", formats=["markdown"])
completion = openrouter.chat.completions.create(
model="anthropic/claude-haiku-4.5",
messages=[{"role": "user", "content": f"Summarize: {page.markdown}"}],
)
print(completion.choices[0].message.content)
- Firecrawl は完全にモデル非依存で、スクレイピングのコードを変更せずに任意の OpenRouter モデルを選択できます。
- 主要な OpenRouter アプリ (Cline、Roo Code、Kilo、Cursor、Continue) の多くは、Firecrawl MCP を利用できるエージェント実行基盤でもあります。Firecrawl をそれらに直接接続する方法については、MCP Server を参照してください。
- 大規模なジョブでは、LLM のコンテキスト上限内に収めるために バッチスクレイプ を使用してください。