From 95a3a8d96ca9dc9aeeb894a7e1ac40e898d40a12 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 30 Jun 2026 14:13:21 +0000 Subject: [PATCH] feat(actors): show usage stats in `actors info` output `apify actors info ` rendered pricing but no popularity numbers, while `apify actors search` surfaces total users in the last 30 days. The actor GET response already carries `stats`, so add an "Actor stats:" section (total users, users in last 30 days, total runs) to the human-readable output without an extra API call. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01BM5nBJkiCY7wASaB29Xf65 --- src/commands/actors/info.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/commands/actors/info.ts b/src/commands/actors/info.ts index 51c845436..839ea250f 100644 --- a/src/commands/actors/info.ts +++ b/src/commands/actors/info.ts @@ -305,6 +305,18 @@ export class ActorsInfoCommand extends ApifyCommand { } } + // Usage stats. The actor GET response already carries `stats`, so this mirrors the + // popularity numbers `apify actors search` surfaces without an extra API call. + const { stats } = actorInfo; + + message.push( + '', + chalk.yellow('Actor stats:'), + ` ${chalk.yellow('Total users:')} ${chalk.cyan(`${stats.totalUsers}`)}`, + ` ${chalk.yellow('Users (30d):')} ${chalk.cyan(`${stats.totalUsers30Days}`)}`, + ` ${chalk.yellow('Total runs:')} ${chalk.cyan(`${stats.totalRuns}`)}`, + ); + if (actorInfo.taggedBuilds) { message.push('', chalk.yellow('Builds:'));