Passer au contenu principal

Prérequis

Mise en place

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

Rechercher sur le web

import Fastify from "fastify";
import Evocrawl from "@mendable/evocrawl-js";

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

fastify.post("/search", async (request) => {
  const { query } = request.body;
  return evocrawl.search(query, { limit: 5 });
});

fastify.listen({ port: 3000 });

Extraire les données d’une page

fastify.post("/scrape", async (request) => {
  const { url } = request.body;
  return evocrawl.scrape(url);
});

Interact avec une page

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 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);

  return { output: response.output };
});

Comme plugin Fastify

Encapsulez le client dans un plugin afin de le réutiliser sur plusieurs routes :
import fp from "fastify-plugin";
import Evocrawl from "@mendable/evocrawl-js";

export default fp(async function evocrawlPlugin(fastify) {
  const client = new Evocrawl({ apiKey: process.env.EVOCRAWL_API_KEY });
  fastify.decorate("evocrawl", client);
});
Enregistrez le plugin, puis utilisez fastify.evocrawl dans n’importe quelle route :
fastify.register(evocrawlPlugin);

fastify.post("/search", async function (request) {
  const { query } = request.body;
  return this.evocrawl.search(query, { limit: 5 });
});

Essayez-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 : 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.