Passer au contenu principal

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.

Installation

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.

Prise en main rapide

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 },
});

Outils disponibles

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';

Exemples

Scraping

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);

Cartographie

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);

Crawl

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);

Scraping par lots

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);

Extraction

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);

Recherche + Extraction

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);

Streaming

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);

Agent

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);