Passer au contenu principal

Prérequis

Configuration

npm install express @mendable/evocrawl-js
Ajoutez votre clé API à .env :
EVOCRAWL_API_KEY=fc-YOUR-API-KEY

Recherche sur le Web

import express from "express";
import Evocrawl from "@mendable/evocrawl-js";

const app = express();
app.use(express.json());

const evocrawl = new Evocrawl({ apiKey: process.env.EVOCRAWL_API_KEY });

app.post("/search", async (req, res) => {
  try {
    const { query } = req.body;
    const results = await evocrawl.search(query, { limit: 5 });
    res.json(results);
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
});

app.listen(3000, () => console.log("Server running on port 3000"));

Scraper une page

app.post("/scrape", async (req, res) => {
  try {
    const { url } = req.body;
    const result = await evocrawl.scrape(url);
    res.json(result);
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
});

Interact avec une page

Utilisez interact pour contrôler une session de navigateur active — cliquer sur des boutons, remplir des formulaires et extraire du contenu dynamique.
app.post("/interact", async (req, res) => {
  try {
    const { url } = req.body;

    const result = await evocrawl.scrape(url, { formats: ['markdown'] });
    const scrapeId = result.metadata?.scrapeId;

    await evocrawl.interact(scrapeId, { prompt: 'Search for iPhone 16 Pro Max' });
    const response = await evocrawl.interact(scrapeId, { prompt: 'Click on the first result and tell me the price' });

    await evocrawl.stopInteraction(scrapeId);

    res.json({ output: response.output });
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
});

Testez-le

curl -X POST http://localhost:3000/search \
  -H "Content-Type: application/json" \
  -d '{"query": "evocrawl web scraping"}'

Prochaines étapes

Documentation Scrape

Toutes les options de scrape, y compris les formats, les actions et les proxies

Documentation recherche

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.