Documentation Index
Fetch the complete documentation index at: https://firecrawl-mog-search-exclude-include-domains.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
npm install @mendable/firecrawl-js
Agrega tu clave de API a .env:
FIRECRAWL_API_KEY=fc-YOUR-API-KEY
Crea server/api/search.post.ts:
import Firecrawl from "@mendable/firecrawl-js";
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY,
});
export default defineEventHandler(async (event) => {
const { query } = await readBody(event);
const results = await firecrawl.search(query, { limit: 5 });
return results;
});
Llámalo desde un componente Vue:
<script setup>
const query = ref("");
const { data, execute } = useFetch("/api/search", {
method: "POST",
body: { query },
immediate: false,
});
</script>
<template>
<div>
<input v-model="query" placeholder="Buscar en la web..." />
<button @click="execute()">Buscar</button>
<ul v-if="data?.web">
<li v-for="result in data.web" :key="result.url">
<a :href="result.url">{{ result.title }}</a>
</li>
</ul>
</div>
</template>
Haz scraping de una página
Crea server/api/scrape.post.ts:
import Firecrawl from "@mendable/firecrawl-js";
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY,
});
export default defineEventHandler(async (event) => {
const { url } = await readBody(event);
const result = await firecrawl.scrape(url);
return result;
});
Llámalo desde un componente de Vue:
<script setup>
const url = ref("https://example.com");
const { data, execute } = useFetch("/api/scrape", {
method: "POST",
body: { url },
immediate: false,
});
</script>
<template>
<div>
<input v-model="url" placeholder="Ingresa una URL" />
<button @click="execute()">scraping</button>
<pre v-if="data">{{ data.markdown }}</pre>
</div>
</template>
Interactúa con una página
Crea server/api/interact.post.ts:
import Firecrawl from "@mendable/firecrawl-js";
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY,
});
export default defineEventHandler(async (event) => {
const result = await firecrawl.scrape("https://www.amazon.com", {
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 };
});
Documentación de scraping
Todas las opciones de scraping, incluidos formatos, acciones y proxies
Documentación de búsqueda
Busca en la web y obtén el contenido completo de la página
Documentación de Interact
Haz clic, completa formularios y extrae contenido dinámico
Referencia del SDK de Node
Referencia completa del SDK con crawl, mapeo, extracción por lotes y más