Documentation Index
Fetch the complete documentation index at: https://student-213fb9fc.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Outils Firecrawl pour Vercel AI SDK. Effectuez du web scraping, recherchez, naviguez et extrayez des données web dans vos applications d’IA.
npm install firecrawl-aisdk ai @ai-sdk/openai
Configurer les variables d’environnement :
FIRECRAWL_API_KEY=fc-your-key
OPENAI_API_KEY=sk-your-key
Ces exemples utilisent OpenAI, mais les outils Firecrawl fonctionnent avec n’importe quel fournisseur du SDK Vercel AI, y compris Anthropic, Google, Mistral et d’autres. Consultez la liste complète des fournisseurs pris en charge.
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: 'Scrape https://firecrawl.dev et résume ce que ça fait',
tools: { scrape: scrapeTool },
});
import {
scrapeTool, // Scrape single URL
searchTool, // Search the web
browserTool, // Sessions de navigateur interactives
agentTool, // Autonomous web agent
mapTool, // Discover URLs on a site
crawlTool, // Crawl multiple pages
batchScrapeTool, // Scrape multiple URLs
extractTool, // Extract structured data
pollTool, // Poll async jobs
statusTool, // Check job status
cancelTool, // Cancel jobs
} from 'firecrawl-aisdk';
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: 'Scrape https://firecrawl.dev et résume ce que ça fait',
tools: { scrape: scrapeTool },
});
console.log(text);
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: 'Recherchez Firecrawl et résumez ce que vous trouvez',
tools: { search: searchTool },
});
console.log(text);
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: 'Map https://docs.firecrawl.dev and list the main sections',
tools: { map: mapTool },
});
console.log(text);
Opération asynchrone — incluez pollTool pour vérifier l’état de la tâche.
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: 'Parcourir https://docs.firecrawl.dev (limite 3 pages) et résumer',
tools: { crawl: crawlTool, poll: pollTool },
});
console.log(text);
Opération asynchrone : incluez pollTool pour vérifier le statut du job.
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: 'Scrape https://firecrawl.dev and https://docs.firecrawl.dev, then compare',
tools: { batchScrape: batchScrapeTool, poll: pollTool },
});
console.log(text);
Opération asynchrone : inclure pollTool pour vérifier l’état de la tâche.
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: 'Extract the main features from https://firecrawl.dev',
tools: { extract: extractTool, poll: pollTool },
});
console.log(text);
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: 'Recherche Firecrawl, scrape le premier résultat et explique ce qu'il fait',
tools: { search: searchTool, scrape: scrapeTool },
});
console.log(text);
import { streamText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { scrapeTool } from 'firecrawl-aisdk';
const result = streamText({
model: openai('gpt-5-mini'),
prompt: 'Scrape https://firecrawl.dev and explain what it does',
tools: { scrape: scrapeTool },
});
for await (const chunk of result.textStream) {
process.stdout.write(chunk);
}
Utilisez browserTool avec ToolLoopAgent pour une navigation web interactive. L’agent peut parcourir des pages, cliquer sur des éléments, remplir des formulaires et extraire des données.
import { ToolLoopAgent, stepCountIs } from 'ai';
import { openai } from '@ai-sdk/openai';
import { browserTool } from 'firecrawl-aisdk';
const { text } = await new ToolLoopAgent({
model: openai('gpt-5-mini'),
tools: { browserTool },
stopWhen: stepCountIs(25),
}).generate({
prompt: 'Go to https://news.ycombinator.com, get the top 3 stories with their titles, points, and links.',
});
console.log(text);
Combinez browserTool avec searchTool pour des workflows qui commencent par une recherche, puis se poursuivent par une navigation interactive.
import { ToolLoopAgent, stepCountIs } from 'ai';
import { openai } from '@ai-sdk/openai';
import { browserTool, searchTool } from 'firecrawl-aisdk';
const { text } = await new ToolLoopAgent({
model: openai('gpt-5-mini'),
tools: { browserTool, searchTool },
stopWhen: stepCountIs(25),
}).generate({
prompt: 'Search for the top AI paper this week, browse it, and summarize the key findings.',
});
console.log(text);
Utilisez agentTool pour la collecte autonome de données sur le web. L’agent recherche, navigue et extrait les données de manière autonome.
import { generateText, stepCountIs } from 'ai';
import { openai } from '@ai-sdk/openai';
import { agentTool, pollTool } from 'firecrawl-aisdk';
const { text } = await generateText({
model: openai('gpt-5-mini'),
prompt: 'Trouve les fondateurs de Firecrawl, leurs rôles et leurs parcours',
tools: { agent: agentTool, poll: pollTool },
stopWhen: stepCountIs(10),
});
console.log(text);