Skip to content
Firecrawl Docs
Firecrawl Docs
Node.js

Fastify

Utilisez Firecrawl avec Fastify pour créer des API de scraping web et de recherche haute performance.

npm install fastify firecrawl

Ajoutez votre clé d’API à .env :

FIRECRAWL_API_KEY=fc-YOUR-API-KEY
import 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"}'
Was this page helpful?Suggest editsRaise issue