Manage your NewsBlur from the terminal. Read feeds, search stories, save and share articles, train intelligence classifiers, discover new feeds, and automate workflows with the NewsBlur CLI. Use when the user wants to interact with their NewsBlur account, check feeds, manage subscriptions, or build scripts around their news reading.
Install
npx skillscat add samuelclay/newsblur/newsblur-cli Install via the SkillsCat registry.
NewsBlur CLI
The NewsBlur CLI (newsblur-cli) gives you full access to your NewsBlur account from the terminal. Install it and authenticate before running any commands.
Setup
uv pip install newsblur-cli
newsblur auth loginauth login opens a browser for OAuth authorization. The token is stored at ~/.config/newsblur/.
For self-hosted instances, pass --server or set NEWSBLUR_SERVER:
newsblur --server https://my-newsblur.example.com auth loginReadonly Mode
The CLI has a readonly mode that blocks all write operations (saving, sharing, training, subscribing, marking as read). Useful when handing the CLI to an AI agent.
newsblur auth readonly --onCheck current readonly status:
newsblur auth readonlyDisabling readonly logs you out and requires browser re-authentication. An AI agent cannot silently toggle this off.
newsblur auth readonly --off
# "You have been logged out and must re-authenticate."
newsblur auth loginIf you are operating in readonly mode, all write commands will fail with an error. Read commands work normally.
Output Formats
Every command supports these flags:
--json— structured JSON output, pipe tojq--raw— unformatted plain text- Default — human-readable formatted output
Commands
Stories
List unread stories across all feeds:
newsblur stories listFilter by folder or limit results:
newsblur stories list --folder Tech --limit 5Full-text search across your archive:
newsblur stories search "machine learning"View saved/starred stories, optionally filtered by tag:
newsblur stories saved
newsblur stories saved --tag researchBrowse stories from rarely-publishing feeds (easy to miss in a busy river):
newsblur stories infrequentFetch the original full article text from the source:
newsblur stories original <story_hash>View stories you've already read:
newsblur stories readDaily Briefing
Get an AI-curated briefing with top stories, infrequent site gems, and long reads:
newsblur briefing
newsblur briefing --limit 1
newsblur briefing --jsonFeeds and Folders
List all subscriptions:
newsblur feeds listView the folder tree with unread counts:
newsblur feeds foldersGet detailed info about a specific feed:
newsblur feeds info <feed_id>Subscribe to a new feed:
newsblur feeds add https://example.com/feed.xml
newsblur feeds add https://blog.com -f TechUnsubscribe from a feed:
newsblur feeds remove <feed_id>Move a feed between folders or rename it:
newsblur feeds organize move_feed --feed-id 42 --from News --to TechStory Actions
Save a story with tags:
newsblur save <story_hash> --tag ai --tag researchRemove a story from saved:
newsblur unsave <story_hash>Mark stories as read by feed, folder, or specific story hashes:
newsblur read --feed 42
newsblur read --folder Tech
newsblur read 123:abc 456:defShare a story to your Blurblog:
newsblur share <story_hash> --comment "Worth reading"Intelligence Training
View your trained classifiers for a feed:
newsblur train show --feed 42Train a like on an author, tag, title, or feed:
newsblur train like --feed 42 --author "Ben Thompson"
newsblur train like --feed 42 --tag analysis
newsblur train like --feed 42 --title "quarterly earnings"Train a dislike:
newsblur train dislike --feed 42 --tag sponsored
newsblur train dislike --feed 42 --author "Guest Post"Feed Discovery
Search for new feeds by topic:
newsblur discover search "machine learning"Find feeds similar to one you already follow:
newsblur discover similar --feed 42Browse trending feeds:
newsblur discover trendingNotifications
Manage per-feed notification settings:
newsblur notifications --feed 42Account
View your account info and subscription status:
newsblur accountScripting Examples
Pipe story titles to the terminal:
newsblur stories list --json | jq -r '.items[] | "\(.title) - \(.feed_title)"'Extract briefing summaries:
newsblur briefing --json | jq '.items[0].section_summaries'Save all unread stories from a folder with a tag:
for hash in $(newsblur stories list --folder Research --json | jq -r '.items[].story_hash'); do
newsblur save "$hash" --tag to-review
doneExport your feed list:
newsblur feeds list --json | jq -r '.items[] | "\(.feed_title),\(.feed_address)"'Requirements
- Python 3.11+
- Premium Archive ($99/year) or Premium Pro ($29/month) subscription
- OAuth authentication via browser