Fastify
Utilisez Firecrawl avec Fastify pour créer des API de scraping web et de recherche haute performance.
- Node.js 18+
- Une clé d’API Firecrawl — obtenez-en une gratuitement
npm install fastify firecrawlAjoutez votre clé d’API à .env :
FIRECRAWL_API_KEY=fc-YOUR-API-KEYimport Fastify from "fastify";
import { Firecrawl } from "firecrawl";
const fastify = Fastify({ logger: true });
const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });
fastify.post("/search", async (request) => {
const { query } = request.body;
return firecrawl.search(query, { limit: 5 });
});
fastify.listen({ port: 3000 });fastify.post("/scrape", async (request) => {
const { url } = request.body;
return firecrawl.scrape(url);
});Utilisez interact pour contrôler une session de navigateur en direct — cliquez sur des boutons, remplissez des formulaires et extrayez du contenu dynamique.
fastify.post("/interact", async (request) => {
const { url } = request.body;
const result = await firecrawl.scrape(url, { formats: ['markdown'] });
const scrapeId = result.metadata?.scrapeId;
await firecrawl.interact(scrapeId, { prompt: 'Search for iPhone 16 Pro Max' });
const response = await firecrawl.interact(scrapeId, { prompt: 'Click on the first result and tell me the price' });
await firecrawl.stopInteraction(scrapeId);
return { output: response.output };
});Encapsulez le client dans un plugin afin de le réutiliser sur plusieurs routes :
import fp from "fastify-plugin";
import { Firecrawl } from "firecrawl";
export default fp(async function firecrawlPlugin(fastify) {
const client = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });
fastify.decorate("firecrawl", client);
});Enregistrez le plugin, puis utilisez fastify.firecrawl dans n’importe quelle route :
fastify.register(firecrawlPlugin);
fastify.post("/search", async function (request) {
const { query } = request.body;
return this.firecrawl.search(query, { limit: 5 });
});curl -X POST http://localhost:3000/search \
-H "Content-Type: application/json" \
-d '{"query": "firecrawl web scraping"}'Documentation Scrape
Toutes les options de scrape : formats, actions et proxies
Documentation Search
Rechercher sur le web et obtenir le contenu complet des pages
Documentation Interact
Cliquer, remplir des formulaires et extraire du contenu dynamique
Référence du SDK Node
Référence complète du SDK avec crawl, cartographie, extraction par lot, etc.
Was this page helpful?Suggest editsRaise issue