CLI
Installation & Usage
The serssly CLI is the fastest way to manage your feeds from the terminal. It's a standalone binary with no runtime dependencies.
Installation
macOS & Linux
The installer script detects your OS and architecture, downloads the right binary, installs it, and walks you through signup and authentication. If you already have an account, it skips straight to authentication.
$ curl -sSL https://serssly.com/install.sh | bash
Or install via Homebrew:
$ brew install serssly/tap/serssly
Manual download
Binaries are available for direct download if you prefer:
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | serssly.com/dl/serssly-darwin-arm64 |
| macOS (Intel) | serssly.com/dl/serssly-darwin-amd64 |
| Linux (x86_64) | serssly.com/dl/serssly-linux-amd64 |
| Linux (ARM) | serssly.com/dl/serssly-linux-arm64 |
Verify
$ serssly --version
serssly 1.0.0
Authentication
If no API key is configured, the CLI automatically starts a device code flow. It displays a URL and a short code, then waits for you to authorize in any browser, even on a different device. This works over SSH and in headless environments.
# Device code login (runs automatically on first use)
$ serssly login
To authenticate, open this URL in any browser:
https://serssly.com/cli-auth?code=A1B2-C3D4
Confirm that this code matches the one shown on the page:
A1B2-C3D4
Waiting for authorization...
Authenticated. Key saved to ~/.config/serssly/credentials
# Log out (removes saved key)
$ serssly logout
Credentials removed.
# Or skip the CLI config and use an environment variable
$ export SERSSLY_API_KEY=your-key-here
The CLI checks for credentials in this order:
SERSSLY_API_KEYenvironment variable~/.config/serssly/credentials(saved byserssly login)
Output formats
All commands default to a human-readable table. Use --json for machine-readable output, or --csv for spreadsheet-friendly output.
# Default: table format
$ serssly addresses
ID NAME EMAIL RSS URL
1 Tech Newsletters wKx9vBp7@serssly.com https://serssly.com/e/wKx9vBp7.rss
2 Redfin Alerts Hm3pQr8x@serssly.com https://serssly.com/e/Hm3pQr8x.rss
# JSON: ideal for bots and piping
$ serssly addresses --json
[{"id":1,"name":"Tech Newsletters","email":"wKx9vBp7@serssly.com","rss_url":"https://serssly.com/e/wKx9vBp7.rss"},...]
# Pipe JSON to jq, AI agents, or scripts
$ serssly addresses --json | jq '.[].rss_url'
"https://serssly.com/e/wKx9vBp7.rss"
"https://serssly.com/e/Hm3pQr8x.rss"
# CSV
$ serssly addresses --csv
id,name,email,rss_url
1,Tech Newsletters,wKx9vBp7@serssly.com,https://serssly.com/e/wKx9vBp7.rss
Managing addresses
# Create a new address
$ serssly create "Industry News"
Created "Industry News"
Email: nR4tYw2k@serssly.com
RSS: https://serssly.com/e/nR4tYw2k.rss
# Delete an address
$ serssly delete 3
Deleted "Industry News"
Reading emails
# List recent emails for an address
$ serssly emails 1
DATE FROM SUBJECT
Apr 3 molly@example.com Citation Needed #142
Apr 1 molly@example.com Citation Needed #141
# Pipe RSS to other tools
$ curl -s https://serssly.com/e/wKx9vBp7.rss | xmllint --xpath '//item/title/text()' -
Account info
$ serssly account
Plan: Standard
Addresses: 8
Folders: 3
API keys: 2
All commands
| Command | Description |
|---|---|
| serssly login | Authenticate via browser, save key locally |
| serssly logout | Remove saved credentials |
| serssly addresses | List email addresses |
| serssly create NAME | Create a new email address |
| serssly delete ID | Delete an email address |
| serssly emails ID | List emails for an address |
| serssly feed ID | Show RSS feed URL |
| serssly account | Show account and usage info |
| serssly keys | List API keys |
| serssly keys create NAME | Create a new API key |
| serssly keys delete ID | Revoke an API key |
Global flags
| Flag | Description |
|---|---|
| --json | Output as JSON (default for piped output) |
| --csv | Output as CSV |
| --table | Output as table (default for terminal) |
| --version | Show version number |
| --help | Show help for any command |