sensortower-cli

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2026 License: MIT Imports: 3 Imported by: 0

README

sensortower CLI

sensortower

A JSON-first CLI for Sensor Tower iOS market data
Read-only · Scriptable · CI-friendly · Built for market intelligence workflows

Beta Quickstart Go Install Config License


⚠️ Status

This project is in early public beta. The current release is intentionally small and read-only, focused on a few high-value Sensor Tower iOS endpoints. The HTTP/config layer already supports optional cookie/header injection for future session-backed usage, but no login automation is included in v1.


✨ Why sensortower?

Pull Sensor Tower data from your terminal without rebuilding ad-hoc scripts every time.

📊 Three useful starting endpoints Publisher apps, app details, and category rankings
🧰 JSON-first output Pipe to jq, store snapshots, build quick analyses
🪶 Small surface area Explicit commands for known endpoints, no generic wrapper noise
🔐 Session-ready design Optional cookie + header injection via config/env
🚀 Release-friendly Go binary, GitHub releases, Homebrew-ready workflow

📦 Installation

Option 1 — Homebrew (recommended)
brew tap FerdiKT/tap
brew install sensortower
Option 2 — Go install
go install github.com/ferdikt/sensortower-cli@latest
Option 3 — Build from source
git clone https://github.com/FerdiKT/sensortower-cli.git
cd sensortower-cli
make tidy
make build VERSION=0.1.0
./bin/sensortower version

🚀 Quickstart

1️⃣ List a publisher's apps

sensortower publishers apps \
  --publisher-id 1619264551 \
  --limit 25 \
  --offset 0 \
  --sort-by downloads

2️⃣ Fetch a single app

sensortower apps get \
  --app-id 6478631467 \
  --country US

3️⃣ Fetch iOS category rankings

sensortower charts category-rankings \
  --country US \
  --category 0 \
  --date 2026-04-16 \
  --device iphone \
  --limit 25

JSON mode

sensortower charts category-rankings \
  --country US \
  --category 0 \
  --date 2026-04-16 \
  --device iphone \
  --output json | jq '.data.free[0]'

🗺️ Command Map

Group Commands Purpose
publishers apps List apps for a publisher
apps get Fetch a single iOS app detail payload
charts category-rankings Fetch free/grossing/paid rankings
version Print binary version

⚙️ Configuration

Default config path:

~/Library/Application Support/sensortower/config.json

Example:

{
  "base_url": "https://app.sensortower.com",
  "timeout_seconds": 30,
  "output": "table",
  "cookie": "sensor_tower_session=...",
  "headers": {
    "X-Custom-Header": "value"
  }
}

Environment overrides:

export SENSORTOWER_BASE_URL="https://app.sensortower.com"
export SENSORTOWER_TIMEOUT_SECONDS=30
export SENSORTOWER_OUTPUT=json
export SENSORTOWER_COOKIE="sensor_tower_session=..."
export SENSORTOWER_HEADERS_JSON='{"X-Custom-Header":"value"}'

Current global flags:

sensortower --config /path/to/config.json --output json ...

🧪 Development

make tidy
make test
make build VERSION=0.1.0
make dist VERSION=0.1.0

Smoke checks:

go run . publishers apps --publisher-id 1619264551 --output json
go run . apps get --app-id 6478631467 --country US --output json
go run . charts category-rankings --country US --category 0 --date 2026-04-16 --device iphone --output json

📄 License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL