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.
Herramientas de Firecrawl para Vercel AI SDK. Web scraping, búsqueda, navegación y extracción de datos para aplicaciones de IA.
npm install firecrawl-aisdk ai @ai-sdk/openai
Configura las variables de entorno:
FIRECRAWL_API_KEY=fc-your-key
OPENAI_API_KEY=sk-your-key
Estos ejemplos usan OpenAI, pero las herramientas de Firecrawl funcionan con cualquier proveedor del SDK de IA de Vercel, incluidos Anthropic, Google, Mistral y más. Consulta la lista completa de proveedores compatibles.
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: 'Extrae datos de https://firecrawl.dev y resume lo que hace',
tools: { scrape: scrapeTool },
});
import {
scrapeTool, // Scrape single URL
searchTool, // Search the web
browserTool, // Sesiones de navegador interactivas
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: 'Extrae datos de https://firecrawl.dev y resume lo que hace',
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: 'Busca información sobre Firecrawl y resume lo que encuentres',
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: 'Mapea https://docs.firecrawl.dev y lista las secciones principales',
tools: { map: mapTool },
});
console.log(text);
Operación asíncrona: incluye pollTool para comprobar el estado de la tarea.
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: 'Rastrear https://docs.firecrawl.dev (límite 3 páginas) y resumir',
tools: { crawl: crawlTool, poll: pollTool },
});
console.log(text);
Operación asíncrona: incluye pollTool para comprobar el estado de la tarea.
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);
Operación asíncrona: incluye pollTool para comprobar el estado de la tarea.
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: 'Extrae las funcionalidades principales de 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: 'Busca Firecrawl, extrae el resultado principal y explica qué hace',
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: 'Extrae https://firecrawl.dev y explica qué hace',
tools: { scrape: scrapeTool },
});
for await (const chunk of result.textStream) {
process.stdout.write(chunk);
}
Usa browserTool con ToolLoopAgent para la navegación web interactiva. El agente puede navegar por páginas, hacer clic en elementos, completar formularios y extraer datos.
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);
Combina browserTool con searchTool para flujos de trabajo que empiezan con una búsqueda y siguen con una navegación interactiva.
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);
Usa agentTool para recopilar datos web de forma autónoma. El agente busca, navega y extrae datos de manera independiente.
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: 'Encuentra los fundadores de Firecrawl, sus roles y sus trayectorias',
tools: { agent: agentTool, poll: pollTool },
stopWhen: stepCountIs(10),
});
console.log(text);