jackwener/OpenCLI · warning · EmptyResultError
No creator videos were returned. Confirm the current Chrome
Error message
No creator videos were returned. Confirm the current Chrome profile is logged in to TikTok Studio and has published content.
What it means
Pagination completed successfully but zero video rows were collected and nothing was skipped for missing ids — TikTok genuinely returned no videos. This is an EmptyResultError, signaling 'no data' rather than a malfunction, with a hint about login and published content.
Source
Thrown at clis/tiktok/creator-videos.js:241
for (const item of items) {
const row = normalizeRow(item);
if (!row) {
skippedMissingId += 1;
continue;
}
rows.push(row);
if (rows.length >= limit) break;
}
if (!data.has_more || items.length === 0) break;
nextCursor = requireCursor(data.cursor);
await page.wait(250);
}
if (rows.length === 0 && skippedMissingId > 0) {
throw new CommandExecutionError('TikTok Studio item_list returned videos without stable video_id');
}
if (rows.length === 0) {
throw new EmptyResultError('tiktok creator-videos', 'No creator videos were returned. Confirm the current Chrome profile is logged in to TikTok Studio and has published content.');
}
return rows.slice(0, limit);
}
export const creatorVideosCommand = cli({
site: 'tiktok',
name: 'creator-videos',
access: 'read',
description: 'TikTok Studio creator content list (views/likes/comments/saves/shares)',
domain: 'www.tiktok.com',
strategy: Strategy.COOKIE,
browser: true,
navigateBefore: STUDIO_CONTENT_URL,
args: [
{ name: 'limit', type: 'int', default: DEFAULT_LIMIT, help: `Number of creator videos to return (max ${MAX_LIMIT})` },
{ name: 'cursor', type: 'string', default: '0', help: 'Non-negative TikTok Studio pagination cursor' },
],
columns: ['video_id', 'title', 'date', 'views', 'likes', 'comments', 'saves', 'shares', 'url'],View on GitHub (pinned to 49907e53dc)
Solutions
- Confirm the Chrome profile is logged in to TikTok Studio and shows published videos in the web UI
- Verify you're targeting the intended creator account (not an empty or wrong account)
- Publish at least one video or adjust the query to an account with content
- Handle EmptyResultError in your pipeline as 'no data' instead of a hard failure
Example fix
// before
const rows = await listCreatorVideos(page, { limit: 20 });
// after
try {
const rows = await listCreatorVideos(page, { limit: 20 });
} catch (e) {
if (e instanceof EmptyResultError) return []; // account has no videos
throw e;
} Defensive patterns
Strategy: try-catch
Validate before calling
// Confirm the account actually has videos via the Studio UI before automating
const hasVideos = await page.evaluate(() => !!document.querySelector('[data-e2e="video-card"], video'));
if (!hasVideos) console.warn('Profile appears to have no published videos'); Type guard
function isEmptyResult(e) { return e instanceof EmptyResultError; } Try / catch
try {
rows = await listCreatorVideos(page, opts);
} catch (e) {
if (e instanceof EmptyResultError) return []; // legitimate: account has no videos
throw e;
} Prevention
- Verify the target account has published videos visible in Studio
- Confirm you are logged into the intended creator account
- Treat EmptyResultError as a no-data signal, not a crash, in pipelines
When it happens
Trigger: The logged-in creator account has no published videos (new/empty account), or item_list returns has_more=false with zero items on the first page.
Common situations: Fresh TikTok account with no posts, all videos deleted or set to private-only visibility, querying the wrong Studio account, or a profile logged in but never granted Studio access.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- TikTok returned no notifications
- No trains found from ${fromStation.name} to ${toStation.name
- NO_DATA
- No Wayback snapshots for "${target}".
- Chess.com has no game archives for ${username}
AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29).
Data as JSON: /api/errors/8a362eb4d70b5ea7.
Report an issue: GitHub.