New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@litemetrics/cli

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@litemetrics/cli

CLI tool for Litemetrics analytics - query data, manage sites, AI-agent friendly

npmnpm
Version
0.5.0
Version published
Weekly downloads
1
-50%
Maintainers
1
Weekly downloads
 
Created
Source

@litemetrics/cli

Command-line tool for querying Litemetrics analytics data and managing sites. Designed for both human use and AI agent integration.

Installation

bun add -g @litemetrics/cli

Or run directly from the monorepo:

cd packages/cli && bun run build
node dist/index.js

Configuration

The CLI needs a server URL and admin secret. These can be provided in three ways (higher priority wins):

1. CLI Flags

litemetrics overview --url https://metrics.example.com --secret my-secret --site site_abc123

2. Environment Variables

export LITEMETRICS_URL=https://metrics.example.com
export LITEMETRICS_ADMIN_SECRET=my-secret
export LITEMETRICS_SITE_ID=site_abc123

3. Config File (~/.litemetricsrc)

{
  "url": "https://metrics.example.com",
  "adminSecret": "my-secret",
  "siteId": "site_abc123"
}

Output Formats

FormatFlagDefault WhenDescription
table-f tableInteractive terminal (TTY)Human-readable aligned columns
json-f jsonPiped outputMachine-parseable JSON
csv-f csv—Comma-separated values
# Force JSON output
litemetrics overview -f json

# Pipe to jq
litemetrics overview | jq '.pageviews.total'

# Export to CSV
litemetrics stats top_pages -f csv > pages.csv

You can also set the default format via environment variable:

export LITEMETRICS_FORMAT=json

Global Options

These options are available on all commands:

--url <url>           Litemetrics server URL
--secret <secret>     Admin secret
--site <siteId>       Site ID
-f, --format <fmt>    Output format: json, table, csv
-V, --version         Show version
-h, --help            Show help

Commands

overview

Fetch all key metrics at once. Mirrors the dashboard homepage.

litemetrics overview [options]
OptionDescriptionDefault
-p, --period <period>1h, 24h, 7d, 30d, 90d, custom24h
--from <date>Start date (ISO format)—
--to <date>End date (ISO format)—
-c, --compareInclude comparison with previous periodfalse
-m, --metrics <list>Comma-separated metrics to fetchpageviews,visitors,sessions,events,conversions
# Last 7 days with comparison
litemetrics overview -p 7d --compare

# Custom date range
litemetrics overview -p custom --from 2026-01-01 --to 2026-01-31

# Only specific metrics
litemetrics overview -m pageviews,visitors -p 30d

Example output:

 Metric      | Total | Previous | Change
-------------+-------+----------+--------
 pageviews   | 206   | 130      | +58.5%
 visitors    | 54    | 64       | -15.6%
 sessions    | 77    | 113      | -31.9%
 events      | 994   | 336      | +195.8%
 conversions | 1     | 1        | 0.0%

stats

Query any single metric. Use for aggregate counts or top-N lists.

litemetrics stats <metric> [options]
OptionDescriptionDefault
-p, --period <period>1h, 24h, 7d, 30d, 90d, custom24h
--from <date>Start date (ISO format)—
--to <date>End date (ISO format)—
-l, --limit <n>Limit results (for top_* metrics)—
--filter <key=value>Filter (repeatable) — run litemetrics filters for keys—
-c, --compareInclude comparison with previous periodfalse
--timezone <tz>IANA timezone for bucketing (e.g. Europe/Istanbul)UTC
--include-botsInclude events flagged by the bot filterfalse

Unknown metric names are rejected with a "did you mean…" suggestion. Run litemetrics metrics for the full list.

Available metrics:

CategoryMetrics
Aggregatepageviews, visitors, sessions, events, conversions
Pagestop_pages, top_exit_pages, top_transitions, top_scroll_pages
Sourcestop_referrers, top_channels
Geographytop_countries, top_cities
Technologytop_browsers, top_devices, top_os
Mobiletop_os_versions, top_device_models, top_app_versions
Eventstop_events, top_conversions, top_button_clicks, top_link_targets
Campaignstop_utm_sources, top_utm_mediums, top_utm_campaigns, top_utm_terms, top_utm_contents
# Top pages last 7 days
litemetrics stats top_pages -p 7d -l 20

# Visitor count with comparison
litemetrics stats visitors -p 30d --compare

# Top browsers filtered by country
litemetrics stats top_browsers -p 30d --filter "geo.country=US"

# Multiple filters
litemetrics stats top_pages --filter "geo.country=TR" --filter "device.type=mobile"

# UTM sources
litemetrics stats top_utm_sources -p 90d

Example output (top metric):

 Key              | Value
------------------+------
 Chrome           | 45
 Mobile Chrome    | 40
 Mobile Safari    | 9
 Samsung Internet | 4
------------------+------
Total: 98

Available filter keys:

CategoryKeys
Geographygeo.country, geo.region, geo.city
Devicelanguage, device.type, device.browser, device.os, device.osVersion, device.deviceModel, device.deviceBrand, device.appVersion
Attributionreferrer, channel, utm.source, utm.medium, utm.campaign, utm.term, utm.content
Eventevent_source, event_subtype, event_name, type, page_path, target_url_path

timeseries

Query time series data for trends.

litemetrics timeseries <metric> [options]
OptionDescriptionDefault
-p, --period <period>1h, 24h, 7d, 30d, 90d, custom7d
--from <date>Start date (ISO format)—
--to <date>End date (ISO format)—
-g, --granularity <g>hour, day, week, monthauto
--filter <key=value>Filter (repeatable)—
--timezone <tz>IANA timezone for bucketing (e.g. Europe/Istanbul)UTC
--include-botsInclude events flagged by the bot filterfalse

Metrics: pageviews, visitors, sessions, events, conversions

# Daily pageviews for 30 days
litemetrics timeseries pageviews -p 30d -g day

# Hourly visitors for 24 hours
litemetrics timeseries visitors -p 24h -g hour

# Weekly sessions for 90 days
litemetrics timeseries sessions -p 90d -g week

Example output:

 Date                     | Value
--------------------------+------
 2026-02-14T00:00:00.000Z | 7
 2026-02-15T00:00:00.000Z | 13
 2026-02-16T00:00:00.000Z | 7
 2026-02-17T00:00:00.000Z | 13
 2026-02-18T00:00:00.000Z | 6
 2026-02-19T00:00:00.000Z | 131
 2026-02-20T00:00:00.000Z | 23
--------------------------+------
Metric: pageviews | Granularity: day

events

List individual events with filtering and pagination.

litemetrics events [options]
OptionDescriptionDefault
-t, --type <type>pageview, event, identifyall
-n, --name <name>Filter by event name—
--names <list>Comma-separated event names—
--source <source>auto, manualall
--visitor <id>Filter by visitor ID—
--user <id>Filter by user ID—
-p, --period <period>1h, 24h, 7d, 30d, 90d, custom24h
--from <date>Start date (ISO format)—
--to <date>End date (ISO format)—
-l, --limit <n>Limit results50
--offset <n>Offset for pagination0
--include-botsInclude events flagged by the bot filterfalse
# Recent events
litemetrics events -p 24h

# Only pageviews
litemetrics events -t pageview -p 7d

# Events by name
litemetrics events -t event -n signup -p 30d

# Events for a specific visitor
litemetrics events --visitor abc123 -p 7d

# Paginate
litemetrics events -l 50 --offset 50

Example output:

 Time                | Type     | Detail                      | Visitor      | Country | City
---------------------+----------+-----------------------------+--------------+---------+-----
 21.02.2026 12:30:52 | event    | api_error                   | 24707b365e29 | TR      |
 21.02.2026 12:29:31 | identify | 69997afa7b563897c411c535    | 24707b365e29 | TR      |
 21.02.2026 12:29:13 | pageview | https://flast.ai/auth/login | 24707b365e29 | TR      |
---------------------+----------+-----------------------------+--------------+---------+-----
Total: 110 | Showing: 0-50

users

List users, get user details, or view a user's events.

List users

litemetrics users [options]
OptionDescriptionDefault
-s, --search <query>Search by visitor or user ID—
-l, --limit <n>Limit results30
--offset <n>Offset for pagination0
--include-botsInclude events flagged by the bot filterfalse
litemetrics users -l 20
litemetrics users --search "user@example.com"

Example output:

 User                     | Visitor ID   | Events | Pages | Sessions | Last Seen           | Country
--------------------------+--------------+--------+-------+----------+---------------------+--------
 69997afa7b563897c411c535 | 24707b365e29 | 53     | 2     | 2        | 21.02.2026 12:30:52 | TR
 Anonymous                | 6ae2d2d231c9 | 6      | 2     | 1        | 21.02.2026 12:19:04 |
--------------------------+--------------+--------+-------+----------+---------------------+--------
Total: 106 | Showing: 0-20

User detail

litemetrics users detail <identifier>

The identifier can be a visitorId or userId.

litemetrics users detail "24707b365e29264b"
litemetrics users detail "user@example.com"

Example output:

 Field           | Value
-----------------+----------------------------------
 User ID         | 69997afa7b563897c411c535
 Visitor ID      | 24707b365e29264b
 Linked Devices  | 1
 First Seen      | 21.02.2026 12:27:54
 Last Seen       | 21.02.2026 12:30:52
 Total Events    | 53
 Total Pageviews | 2
 Total Sessions  | 2
 Last URL        | https://flast.ai/auth/login
 Country         | TR
 Browser         | Chrome
 OS              | macOS
 Device          | desktop
 Language        | tr-TR
 Timezone        | Europe/Istanbul
 Traits          | {"email":"user@example.com",...}

User events

litemetrics users events <identifier> [options]
OptionDescriptionDefault
-t, --type <type>pageview, event, identifyall
-n, --name <name>Filter by event name—
-p, --period <period>Period30d
-l, --limit <n>Limit results30
--offset <n>Offset for pagination0
litemetrics users events "24707b365e29264b" -p 7d -l 50
litemetrics users events "24707b365e29264b" -t pageview

retention

Query cohort retention data.

litemetrics retention [options]
OptionDescriptionDefault
-p, --period <period>7d, 30d, 90d90d
-w, --weeks <n>Number of weeks8
--include-botsInclude events flagged by the bot filterfalse
litemetrics retention -p 90d -w 12
litemetrics retention -p 30d -w 4

Example output:

 Week     | Size | W0    | W1   | W2
----------+------+-------+------+-----
 2026-W07 | 42   | 76.2% | 0.0% | 0.0%
 2026-W08 | 53   | 39.6% | 0.0%
 2026-W09 | 22   | 0.0%

bots

Show how many events the bot filter flagged, broken down by detection layer.

litemetrics bots [options]
OptionDescriptionDefault
-p, --period <period>1h, 24h, 7d, 30d, 90d, custom24h
--from <date>Start date (ISO format)—
--to <date>End date (ISO format)—
litemetrics bots -p 7d

Example output:

 Layer      | Flagged
------------+--------
 signature  | 128
 heuristic  | 14
 rate-limit | 3
------------+--------
Total flagged: 145

Re-run any metric with --include-bots to see totals that include this flagged traffic.

metrics

List every metric you can pass to stats / timeseries. No server call — works offline.

litemetrics metrics

filters

List every --filter key=value key with an example value. No server call.

litemetrics filters

sites

Manage sites (requires admin secret).

List sites

litemetrics sites
litemetrics sites list

Example output:

 Site ID           | Name          | Type | Domain     | Created
-------------------+---------------+------+------------+-----------
 site_n9e384ggh36q | flast.ai      | web  | flast.ai   | 08.02.2026
 site_5dv1pv4y3714 | Ok Nok App    | app  | -          | 10.02.2026
-------------------+---------------+------+------------+-----------
Total: 2 sites

Get site details

litemetrics sites get <siteId>
litemetrics sites get site_n9e384ggh36q

Create a site

litemetrics sites create [options]
OptionDescriptionRequired
-n, --name <name>Site nameYes
--type <type>web or appNo
--domain <domain>DomainNo
--origins <list>Comma-separated allowed originsNo
--conversions <list>Comma-separated conversion event namesNo
litemetrics sites create -n "My Blog" --type web --domain blog.example.com
litemetrics sites create -n "Mobile App" --type app --conversions "signup,purchase"

Update a site

litemetrics sites update <siteId> [options]

Same options as create (all optional).

litemetrics sites update site_abc123 --name "New Name"
litemetrics sites update site_abc123 --origins "example.com,www.example.com"
litemetrics sites update site_abc123 --conversions "signup,purchase,checkout"

Delete a site

litemetrics sites delete <siteId>

Regenerate secret key

litemetrics sites regenerate <siteId>

AI Agent Usage

The CLI is designed for AI agent integration. When output is piped (non-TTY), it automatically outputs JSON:

# Discover the surface first (no server call, no site needed)
litemetrics metrics | jq -r '.[].metric'
litemetrics filters | jq -r '.[].key'

# Automatically JSON when piped
litemetrics overview -p 7d | jq '.pageviews.total'

# Parse with any language
litemetrics stats top_countries -p 30d | python3 -c "import sys,json; print(json.load(sys.stdin))"

# Chain commands
SITE=$(litemetrics sites | jq -r '.sites[0].siteId')
litemetrics overview --site $SITE -p 7d --compare

Conveniences for agents:

  • Site auto-resolve — if no --site / LITEMETRICS_SITE_ID is set and the account has exactly one site, the CLI uses it automatically (a note is printed to stderr). With multiple sites it lists them and exits.
  • Metric suggestions — an unknown metric exits 1 with {"error": "...", "suggestions": [...]}.

Error handling:

  • Errors are printed to stderr
  • Exit code 0 for success, 1 for errors
  • JSON errors: {"error": "message"}

FAQs

Package last updated on 21 Jun 2026

Related posts