Skip to content
Firecrawl Docs
Firecrawl Docs
Node.js

Bun

Utilisez Firecrawl avec Bun pour créer des serveurs rapides de scraping web et de recherche.

bun add firecrawl

Ajoutez votre clé API à .env :

FIRECRAWL_API_KEY=fc-YOUR-API-KEY

Bun dispose d’un serveur HTTP intégré. Créez index.ts :

import { Firecrawl } from "firecrawl";

const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });

Bun.serve({
  port: 3000,
  async fetch(req) {
    const url = new URL(req.url);

    if (req.method === "POST" && url.pathname === "/search") {
      const { query } = await req.json();
      const results = await firecrawl.search(query, { limit: 5 });
      return Response.json(results);
    }

    return new Response("Not found", { status: 404 });
  },
});

console.log("Server running on port 3000");

Exécutez ceci :

bun run index.ts

Ajoutez une route /scrape sur le même serveur :

if (req.method === "POST" && url.pathname === "/scrape") {
  const { url: targetUrl } = await req.json();
  const result = await firecrawl.scrape(targetUrl);
  return Response.json(result);
}

Utilisez interact pour contrôler une session de navigateur en direct : cliquez sur des boutons, remplissez des formulaires et extrayez du contenu dynamique.

if (req.method === "POST" && url.pathname === "/interact") {
  const { url: targetUrl } = await req.json();

  const result = await firecrawl.scrape(targetUrl, { 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 Response.json({ output: response.output });
}

Utilisez Firecrawl dans un script Bun autonome :

import { Firecrawl } from "firecrawl";

const app = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });
const results = await app.search("firecrawl web scraping", { limit: 5 });
console.log(results);
bun run search.ts
Was this page helpful?Suggest editsRaise issue