Mastra
Connectez Firecrawl aux outils Mastra pour permettre à vos agents et workflows de rechercher et de faire du scraping de données web en temps réel.
- Node.js 22.13+
- Une clé API Firecrawl — en obtenir une gratuitement
- Une clé API d’un fournisseur de modèles Mastra pris en charge
- Un projet Mastra existant — suivez le démarrage rapide de Mastra pour en configurer un
npm install firecrawlAjoutez votre clé API dans .env :
FIRECRAWL_API_KEY=fc-YOUR-API-KEYCréez src/mastra/tools/firecrawl.ts pour exposer la recherche et le scraping comme outils Mastra :
import { Firecrawl } from "firecrawl";
import { createTool } from "@mastra/core/tools";
import { z } from "zod";
const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY! });
export const firecrawlSearch = createTool({
id: "firecrawl-search",
description: "Search the web and return top results.",
inputSchema: z.object({ query: z.string().min(1) }),
outputSchema: z.object({
results: z.array(
z.object({
title: z.string().nullable(),
url: z.string(),
}),
),
}),
execute: async ({ query }) => {
const results = await firecrawl.search(query, { limit: 3 });
return {
results: (results.web ?? []).map((item) => ({
title: item.title ?? null,
url: item.url,
})),
};
},
});
export const firecrawlScrape = createTool({
id: "firecrawl-scrape",
description: "Scrape a URL and return markdown content.",
inputSchema: z.object({ url: z.string().url() }),
outputSchema: z.object({ markdown: z.string() }),
execute: async ({ url }) => {
const result = await firecrawl.scrape(url, {
formats: ["markdown"],
onlyMainContent: true,
});
return { markdown: result.markdown ?? "" };
},
});Créez src/mastra/agents/web-agent.ts et ajoutez-y les outils Firecrawl :
import { Agent } from "@mastra/core/agent";
import { firecrawlSearch, firecrawlScrape } from "../tools/firecrawl";
export const webAgent = new Agent({
id: "web-agent",
name: "Web Agent",
instructions:
"Use Firecrawl tools to search and scrape web pages, then summarize the results.",
model: "openai/gpt-5.4",
tools: { firecrawlSearch, firecrawlScrape },
});Enregistrez l’agent dans votre instance Mastra, dans src/mastra/index.ts :
import { Mastra } from "@mastra/core";
import { webAgent } from "./agents/web-agent";
export const mastra = new Mastra({
agents: { webAgent },
});Lancez le serveur de développement et ouvrez Mastra Studio :
mastra devOuvrez le Web Agent et essayez des prompts comme :
- “Trouvez le dernier changelog de Firecrawl et résumez la dernière mise à jour.”
- “Recherchez la tarification de Firecrawl et extrayez les différents niveaux d’offre.”
Si vous exécutez Firecrawl en local, définissez FIRECRAWL_API_URL et passez apiUrl au client :
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY!,
apiUrl: process.env.FIRECRAWL_API_URL,
});Docs scraping
Toutes les options de scraping, y compris les formats, les actions et les proxies
Docs recherche
Recherchez sur le web et obtenez le contenu complet de la page
Docs Agent
Laissez un agent piloter Firecrawl de bout en bout
Référence SDK Node
Référence complète du SDK avec crawl, cartographie, extraction par lot, etc.