A keyboard-driven terminal UI for music collectors who discover tracks via screenshots. Manage your collection, look up record labels, and search Spotify — with optional AI-powered screenshot scanning.
- Add tracks manually or by scanning screenshots with Claude's vision API
- Look up labels on Discogs (single track or batch) or search the web
- Search Spotify to open tracks directly in the app
- Manage your collection — check off tracks, build a labels list, copy to clipboard, edit entries
Tracks are deduplicated automatically. Data persists to a local JSON file.
Requires Node.js >= 18.
git clone https://github.com/Moeface/screenscrape.git
cd screenscrape
npm install
cp .env.example .envAll API keys are optional. Configure any combination to unlock features — the app works without any of them as a manual track and label manager. Shortcuts for unconfigured features are hidden from the UI.
| Feature | Env var(s) | Hotkey | What it does |
|---|---|---|---|
| Screenshot scanning | ANTHROPIC_API_KEY |
n |
Extract tracks from images via Claude vision |
| Discogs lookup | DISCOGS_TOKEN |
d D |
Look up record labels for tracks |
| Spotify search | SPOTIFY_CLIENT_ID + SPOTIFY_CLIENT_SECRET |
s |
Search and open tracks on Spotify |
Where to get keys:
- Anthropic — console.anthropic.com
- Discogs — discogs.com/settings/developers
- Spotify — developer.spotify.com/dashboard
Additional options in .env:
IMAGE_DIR=./images # Screenshot directory (default: ./images)
ANTHROPIC_MODEL=claude-sonnet-4-5-20250929 # Claude model (default: claude-sonnet-4-5-20250929)
npm startDrop screenshots into your IMAGE_DIR (default ./images/) then press n to scan (requires ANTHROPIC_API_KEY).
| Key | Action |
|---|---|
↑ ↓ |
Navigate |
Space |
Check off track |
l |
Check off label |
L |
Add track's label to labels list |
y |
Copy "Artist - Title" to clipboard |
a |
Add track manually |
e |
Edit selected track |
g |
Web search track |
G |
Web search label |
c |
Clear checked tracks |
Tab |
Switch to labels view |
q |
Quit |
n |
Scan for new screenshots (requires Anthropic) |
d |
Discogs lookup — single (requires Discogs) |
D |
Discogs lookup — all unknown (requires Discogs) |
s |
Search on Spotify (requires Spotify) |
| Key | Action |
|---|---|
↑ ↓ |
Navigate |
Space |
Check off label |
i |
Toggle "in progress" |
y |
Copy label name |
a |
Add label manually |
e |
Edit label name |
g |
Web search label |
d |
Search on Discogs (browser) |
r |
Search on crates.co |
c |
Clear checked labels |
Tab |
Switch to tracks view |
q |
Quit |

