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.
- Nuxt 3+ 项目
- 一个 Firecrawl API 密钥 — 免费获取
npm install @mendable/firecrawl-js
将 API 密钥添加到 .env 中:
FIRECRAWL_API_KEY=fc-YOUR-API-KEY
创建 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;
});
在 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="Search the web..." />
<button @click="execute()">Search</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>
创建 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;
});
在 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="Enter URL" />
<button @click="execute()">Scrape</button>
<pre v-if="data">{{ data.markdown }}</pre>
</div>
</template>
创建 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 };
});
抓取文档
涵盖所有抓取选项,包括 formats、actions 和代理
Node SDK 参考
完整的 SDK 参考,涵盖爬取、map、batch scrape 等功能