What is appicon-cli? โ
appicon-cli is a command-line tool that lets you search, inspect, and download app icons from multiple sources:
- Apple App Store -- via the public iTunes Search API
- Google Play -- via a built-in scraper
- Custom API servers -- via the companion
appicon-serverproject
Why? โ
Designers and developers regularly need app icons for competitive analysis, mockups, presentations, and design systems. The typical workflow involves opening a browser, navigating to the store page, right-clicking the image, and hoping you get a decent resolution.
appicon-cli replaces that with a single command:
bash
appicon search "Notion"
appicon download com.notion.id --sizes 64,256,512Architecture โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ appicon CLI โ
โ commands: search | download | info | batch โ
โโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ โ โ
โโโโโโผโโโโ โโโโโโผโโโโโ โโโโโโโโผโโโโโโโ
โ Apple โ โ Google โ โ Custom โ
โProviderโ โProvider โ โ Provider โ
โ(iTunes)โ โ(Scraper)โ โ (REST API) โ
โโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโโผโโโโโโโโ
โ appicon-server โ
โ SQLite + Web โ
โโโโโโโโโโโโโโโโโKey design decisions โ
- Provider pattern -- Each data source implements a common
AppProviderinterface (search,lookup,getIconUrl). Adding a new source means adding one file. - Smart store detection -- When you pass an identifier like
com.spotify.music, the CLI infers that it is likely a Google Play bundle ID and searches Google first. Numeric IDs are sent to Apple. You can always override with--store. - Local caching -- Search results are cached to
~/.cache/appicon-cli(macOS:~/Library/Caches/appicon-cli) with a configurable TTL (default 24 hours). - Sharp for image processing -- Icons are resized and converted using Sharp, so you get exactly the size and format you need.
Requirements โ
- Node.js >= 18
- npm, pnpm, or yarn