npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

asosuite

v0.1.1

Published

Official ASO Suite CLI

Readme

ASO Suite CLI

ASO Suite CLI is a small command-line client for ASO Suite subscribers.

Install (npm global)

Install from npm:

npm install -g asosuite

# Check that it's working
asosuite help

Install (local development)

Clone the repo, then from the root folder:

# Install dependencies
npm install

# Link the CLI globally
npm link

# Check that it's working
asosuite help

Commands

  • asosuite login
  • asosuite logout
  • asosuite subscription [--json]
  • asosuite search-apps [--json] [--region <REGION>] [--platform <PLATFORM>] <query...>
  • asosuite list-apps [--json]
  • asosuite keywords [--json] [--region <REGION>] [--platform <PLATFORM>] [--app <APP_ID_OR_URL>] <keyword...>
  • asosuite track-app [--json] [--region <REGION>] [--platform <PLATFORM>] --app <APP_ID_OR_URL>
  • asosuite untrack-app [--json] [--region <REGION>] [--platform <PLATFORM>] --app <APP_ID_OR_URL>
  • asosuite plan-app [--json] --name <APP_NAME> [--id <PLANNED_APP_ID>] [--region <REGION>] [--platform <PLATFORM>]
  • asosuite unplan-app [--json] --id <PLANNED_APP_ID> [--region <REGION>] [--platform <PLATFORM>]
  • asosuite tracked-keywords list [--json] [--region <REGION>] [--platform <PLATFORM>] [--page <NUMBER>] [--sort <FIELD>] [--order <asc|desc>] --app <APP_ID_OR_URL_OR_PLANNED_ID>
  • asosuite tracked-keywords add [--json] [--region <REGION>] [--platform <PLATFORM>] --app <APP_ID_OR_URL_OR_PLANNED_ID> <keyword...>
  • asosuite tracked-keywords remove [--json] [--region <REGION>] [--platform <PLATFORM>] --app <APP_ID_OR_URL_OR_PLANNED_ID> <keyword...>
  • asosuite related-apps list [--json] --app <APP_ID_OR_URL> [--platform <PLATFORM>]
  • asosuite related-apps add [--json] --app <APP_ID_OR_URL> --related <APP_ID_OR_URL> [--platform <PLATFORM>] [--region <REGION>]
  • asosuite related-apps remove [--json] --app <APP_ID_OR_URL> --related <APP_ID_OR_URL> [--platform <PLATFORM>]
  • asosuite events list [--json] [--app <APP_ID_OR_URL>]
  • asosuite events add [--json] --text <TEXT> [--date <YYYY-MM-DD>] [--app <APP_ID_OR_URL>]
  • asosuite events delete [--json] <EVENT_ID>
  • asosuite charts [--json] [--period <7|30|90>] [--region <REGION> | --regions <REGION,REGION>] [--platform <PLATFORM>] --app <APP_ID_OR_URL>
  • asosuite features [--json] [--platform <PLATFORM>] --app <APP_ID_OR_URL>
  • asosuite ratings [--json] [--period <7|30|90>] [--platform <PLATFORM>] --app <APP_ID_OR_URL>

Defaults:

  • region=US
  • platform=iphone
  • period=30 (for charts and ratings)

Supported platforms: iphone, ipad, mac, appletv, watch, vision.

Use --json on any data command for single-line JSON output.

tracked-keywords list is paginated to 50 keywords per page. Supported sort fields are: keyword, relevance, popularity, difficulty, position, lastUpdate.

Examples

Keyword metrics

asosuite keywords --region US --platform iphone --app 6448311069 "step counter" "water tracker"

Search apps (marks already tracked apps)

asosuite search-apps --region US --platform iphone "chat gpt"

List tracked and planned apps

asosuite list-apps

Track an app

asosuite track-app --app 6448311069 --platform iphone --region US

Untrack an app

asosuite untrack-app --app 6448311069 --platform iphone --region US

Plan an app

asosuite plan-app --name "My Next App" --platform iphone --region US

Unplan an app

asosuite unplan-app --id my-next-app --platform iphone --region US

Add tracked keywords (tracked app or planned app)

asosuite tracked-keywords add --app 6448311069 --platform iphone --region US "step counter" "water tracker"
asosuite tracked-keywords add --app my-next-app --platform iphone --region US "step counter" "water tracker"

Remove tracked keywords (tracked app or planned app)

asosuite tracked-keywords remove --app 6448311069 --platform iphone --region US "step counter" "water tracker"
asosuite tracked-keywords remove --app my-next-app --platform iphone --region US "step counter" "water tracker"

List related apps for a tracked app

asosuite related-apps list --app 6448311069 --platform iphone

Add a related app

asosuite related-apps add --app 6448311069 --related 333903271 --platform iphone --region US

Remove a related app

asosuite related-apps remove --app 6448311069 --related 333903271 --platform iphone

List events (app filter includes global + app events)

asosuite events list --app 6448311069

Add an event

asosuite events add --app 6448311069 --text "Started ASO for 'keyword x'" --date 2026-02-25

Delete an event

asosuite events delete 123

Fetch tracked keywords for a specific app (paginated)

asosuite tracked-keywords list --app 6448311069 --platform iphone --region US --page 1 --sort keyword --order asc

Fetch tracked keywords for a planned app id (paginated)

asosuite tracked-keywords list --app my-next-app --platform iphone --region US --page 1 --sort relevance --order desc

Fetch chart rankings

asosuite charts --app 6448311069 --platform iphone --period 30

Fetch featured/editorial appearances

asosuite features --app 6448311069 --platform iphone

Fetch ratings

asosuite ratings --app 6448311069 --platform iphone --period 30

JSON output

asosuite charts --json --app 6448311069 --platform iphone

Authentication flow

asosuite login starts a device-style sign-in flow:

  1. CLI asks the server for a short-lived device code.
  2. CLI opens your browser at https://www.asosuite.com/cli/auth?code=....
  3. You sign in and approve the CLI request.
  4. CLI polls the server and receives a long-lived CLI access token.

The token is stored at ~/.asosuite/config.json.

Notes

  • Keyword metrics are currently limited to 50 keywords per request on the server.
  • tracked-keywords add and tracked-keywords remove are currently limited to 200 keywords per request.