jackwener/OpenCLI · warning · EmptyResultError

No note detail data found. Check note_id and login status fo

Error message

No note detail data found. Check note_id and login status for creator.xiaohongshu.com.

What it means

EmptyResultError from the creator-note-detail command: fetchCreatorNoteDetailRows returned rows but none contained a non-empty value outside the '笔记信息' (note info) section, i.e. no usable detail metrics were extracted. The library treats an all-empty result as a failure rather than returning an empty table.

Source

Thrown at clis/xiaohongshu/creator-note-detail.js:478

cli({
    site: 'xiaohongshu',
    name: 'creator-note-detail',
    access: 'read',
    description: '小红书单篇笔记详情页数据 (笔记信息 + 核心/互动数据 + 观看来源 + 观众画像 + 趋势数据)',
    domain: 'creator.xiaohongshu.com',
    strategy: Strategy.COOKIE,
    browser: true,
    navigateBefore: false,
    args: [
        { name: 'note-id', positional: true, type: 'string', required: true, help: 'Note ID (from creator-notes or note-detail page URL)' },
    ],
    columns: ['section', 'metric', 'value', 'extra'],
    func: async (page, kwargs) => {
        const noteId = kwargs['note-id'];
        const rows = await fetchCreatorNoteDetailRows(page, noteId);
        const hasCoreMetric = rows.some((row) => row.section !== '笔记信息' && row.value);
        if (!hasCoreMetric) {
            throw new EmptyResultError('xiaohongshu creator-note-detail', 'No note detail data found. Check note_id and login status for creator.xiaohongshu.com.');
        }
        return rows;
    },
});

View on GitHub (pinned to 49907e53dc)

Solutions

  1. Verify you are logged into creator.xiaohongshu.com in the connected Chrome and the dashboard shows data manually.
  2. Double-check the note-id matches a note visible in your creator dashboard.
  3. Test with a note that has existing statistics/engagement data.
  4. Re-run after logging in; check for earlier CommandExecutionErrors in the same run that hint at failed captures.
  5. Update the CLI if the dashboard markup changed and rows no longer extract.

Example fix

// before
const rows = await run('xiaohongshu creator-note-detail', { 'note-id': id });
// after
try {
  return await run('xiaohongshu creator-note-detail', { 'note-id': id });
} catch (e) {
  if (/No note detail data found/.test(e.message)) {
    console.error('Check login at creator.xiaohongshu.com and note-id', id);
  }
  throw e;
}
Defensive patterns

Strategy: try-catch

Validate before calling

const noteId = String(args['note-id'] ?? '');
if (!/^\d+$/.test(noteId)) throw new Error('invalid note-id: ' + noteId);
if (!await creatorDashboardHasData()) throw new Error('login to creator.xiaohongshu.com first');

Try / catch

try {
  return await run('xiaohongshu creator-note-detail', { 'note-id': id });
} catch (e) {
  if (/No note detail data found/.test(e.message)) {
    // treat as 'no data for this note/login' — check auth, then surface to user
    await ensureCreatorLogin();
    throw new Error(`no detail data for note ${id}; verify login and note-id`);
  }
  throw e;
}

Prevention

When it happens

Trigger: The command ran while the datacenter detail payloads were empty (no stats for the note), the login session showed an empty dashboard, or the note_id pointed to a note the account cannot see — the page rendered but no metric rows had values.

Common situations: Not logged in (dashboard renders shell with no data); wrong/deleted note-id; brand-new note with zero statistics; account type without creator analytics; Xiaohongshu dashboard layout change broke row extraction.

Related errors


AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29). Data as JSON: /api/errors/7d027d3c14941e12. Report an issue: GitHub.