Passer au contenu principal

Prérequis

Configuration

supabase functions new evocrawl-search
supabase functions new evocrawl-scrape
supabase functions new evocrawl-interact
Définissez le secret :
supabase secrets set EVOCRAWL_API_KEY=fc-YOUR-API-KEY

Rechercher sur le web

Modifiez supabase/functions/evocrawl-search/index.ts:
import Evocrawl from "npm:@mendable/evocrawl-js";

const evocrawl = new Evocrawl({
  apiKey: Deno.env.get("EVOCRAWL_API_KEY"),
});

Deno.serve(async (req) => {
  const { query } = await req.json();
  const results = await evocrawl.search(query, { limit: 5 });

  return new Response(JSON.stringify(results), {
    headers: { "Content-Type": "application/json" },
  });
});

Scraper une page

Modifiez supabase/functions/evocrawl-scrape/index.ts :
import Evocrawl from "npm:@mendable/evocrawl-js";

const evocrawl = new Evocrawl({
  apiKey: Deno.env.get("EVOCRAWL_API_KEY"),
});

Deno.serve(async (req) => {
  const { url } = await req.json();
  const result = await evocrawl.scrape(url);

  return new Response(JSON.stringify(result), {
    headers: { "Content-Type": "application/json" },
  });
});

Interact avec une page

Modifiez supabase/functions/evocrawl-interact/index.ts :
import Evocrawl from "npm:@mendable/evocrawl-js";

const evocrawl = new Evocrawl({
  apiKey: Deno.env.get("EVOCRAWL_API_KEY"),
});

Deno.serve(async (_req) => {
  const result = await evocrawl.scrape("https://www.amazon.com", {
    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",
  });
  console.log(response.output);

  await evocrawl.stopInteraction(scrapeId);

  return new Response(JSON.stringify({ output: response.output }), {
    headers: { "Content-Type": "application/json" },
  });
});

Déploiement

supabase functions deploy evocrawl-search
supabase functions deploy evocrawl-scrape
supabase functions deploy evocrawl-interact

Essayez-le

curl -X POST https://<project-ref>.supabase.co/functions/v1/evocrawl-search \
  -H "Authorization: Bearer <ANON_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"query": "evocrawl web scraping"}'

Étapes suivantes

Docs de recherche

Recherchez sur le web et obtenez le contenu complet des pages

Docs Scrape

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

Docs Interact

Cliquez, remplissez des formulaires et extrayez du contenu dynamique

Référence du SDK Node

Référence complète du SDK avec crawl, cartographie, extraction par lot et bien plus encore