小红书 API 接入教程(Node.js):用 fetch 跑通第一个请求
小红书数据
API教程
Node.js
这篇教程带你用 Node.js 快速接入小红书(RedNote / Xiaohongshu)数据接口。和 Python 版教程一样,你无需自建爬虫——Rnote API 把采集基础设施都准备好了,你只发标准 HTTP 请求即可。
第一步:注册获取 API Key
前往注册页创建账户并验证邮箱,获取免费额度与 API Key。
第二步:发起第一个请求
Node.js 18+ 内置 fetch,无需额外依赖:
const API_BASE = "https://rnote.dev/api/v2/crawler";
const HEADERS = { "X-API-Key": "YOUR_API_KEY" };
async function searchNotes(keyword) {
const url = new URL(`${API_BASE}/search/notes`);
url.searchParams.set("keyword", keyword);
url.searchParams.set("page", "1");
const res = await fetch(url, { headers: HEADERS });
if (!res.ok) throw new Error(`HTTP ${res.status}`);
return res.json();
}
searchNotes("美食推荐").then(console.log);
第三步:封装一个带重试的客户端
async function call(path, params, retries = 3) {
const url = new URL(`https://rnote.dev/api/v2/crawler/${path}`);
Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v));
for (let i = 0; i < retries; i++) {
const res = await fetch(url, { headers: { "X-API-Key": "YOUR_API_KEY" } });
if (res.ok) return res.json();
await new Promise(r => setTimeout(r, 2 ** i * 1000)); // 指数退避
}
throw new Error("请求多次失败");
}
// 例:取图文笔记详情
call("note/image", { note_id: "697c0eee000000000a03c308" }).then(console.log);
仅成功请求(HTTP 2xx)扣费,失败重试不额外计费,所以可以放心加重试逻辑。
计费与额度
按请求计费、无月费、无最低消费;注册即送免费额度。充值方式与当前优惠见定价页。
下一步
免费注册,现在就用 Node.js 发出第一个请求。