Documentation
Techmeme CLI
techmeme-pp-cli
Install
npx -y @mvanhorn/printing-press-library install techmemeInstalls the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.
Documentation
Every Techmeme headline, searchable and cached locally — plus topic tracking, trending analysis, and catch-up workflows no other tool has.
The Techmeme CLI puts the tech industry's most trusted news curation into your terminal. Sync headlines to a local SQLite store, then search, filter by time, track topics, and analyze which stories and sources are dominating. The 'since' command answers the question every tech professional asks: 'what did I miss?'
Created by @davemorin (Dave Morin). Contributors: @mvanhorn (Matt Van Horn).
Quick Start
# See today's top tech headlines
techmeme-pp-cli headlines
# Sync 5 days of headlines to local SQLite
techmeme-pp-cli sync
# What happened in the last 4 hours?
techmeme-pp-cli since 4h
# Search all cached headlines
techmeme-pp-cli search 'Apple AI'
# What topics are hot right now?
techmeme-pp-cli trending
# Which publications lead the coverage?
techmeme-pp-cli sources --top 10
Unique Features
These capabilities aren't available in any other tool for this API.
Time intelligence
-
since— See every tech headline from the last N hours — the perfect catch-up when you've been awayWhen an agent needs to brief a user on what happened in tech while they were in meetings, this is the single command that answers it
techmeme-pp-cli since 4h --agent -
digest— Get a day's tech news grouped by topic — the briefing you'd write if you had timeWhen an agent needs to produce a tech news briefing for a specific date, this structures raw headlines into a readable summary
techmeme-pp-cli digest --date 2026-05-08 --agent
Persistent monitoring
-
track— Save topics and get alerts when they hit Techmeme — persistent monitoring without browser tabsAgents monitoring specific companies or technologies can subscribe to exactly what matters without polling the full feed
techmeme-pp-cli track add 'OpenAI' && techmeme-pp-cli track check --agent
News intelligence
-
sources— See which publications dominate Techmeme and track source frequency over timeWhen analyzing media landscape or choosing which publications to prioritize, this gives hard data on source influence
techmeme-pp-cli sources --top 20 --agent -
trending— Extract the hottest topics from recent headlines using frequency analysis on cached dataWhen an agent needs to answer 'what's hot in tech right now' with data instead of vibes
techmeme-pp-cli trending --hours 24 --agent -
velocity— Find stories that are blowing up — multiple sources covering the same topic in a short windowWhen an agent needs to identify breaking news vs steady coverage, velocity shows what's accelerating now
techmeme-pp-cli velocity --agent -
author— Find all Techmeme headlines by a specific journalist across the cached archiveWhen tracking a specific journalist's coverage or building a media contact list, this surfaces their Techmeme footprint
techmeme-pp-cli author 'Kara Swisher' --agent
Usage
Run techmeme-pp-cli --help for the full command reference and flag list.
Commands
feed-xml
Manage feed xml
techmeme-pp-cli feed-xml get-main-feed- Top 15 headlines currently on Techmeme. RSS 2.0 format. Each item has title, link (to Techmeme permalink), description (HTML with source attribution, image, and excerpt), pubDate, guid.
lb-opml
Manage lb opml
techmeme-pp-cli lb-opml get-leaderboard-opml- OPML file listing Techmeme's top 51 sources with source name, website URL, and RSS feed URL. Updated regularly based on headline prominence over the past 180 days.
river
Manage river
techmeme-pp-cli river get- 5-day rolling archive of all Techmeme headlines in reverse chronological order. 150+ headlines with timestamp, author, source publication, headline text, and article link. HTML page.
techmeme-search
Manage techmeme search
techmeme-pp-cli techmeme-search headlines- Search Techmeme headlines. Supports quoted phrases, wildcards, +/-, AND/OR/NOT, parentheses. Can filter by url, author, date, sourcename. Default searches title+summary; can extend to full text. Results available as HTML or RSS.techmeme-pp-cli techmeme-search rss- RSS feed of search results. Same query syntax as /search/query. Subscribe in any RSS reader for alerts on specific topics.
Output Formats
# Human-readable table (default in terminal, JSON when piped)
techmeme-pp-cli river
# JSON for scripting and agents
techmeme-pp-cli river --json
# Filter to specific fields
techmeme-pp-cli river --json --select id,name,status
# Dry run — show the request without sending
techmeme-pp-cli river --dry-run
# Agent mode — JSON + compact + no prompts in one flag
techmeme-pp-cli river --agent
Agent Usage
This CLI is designed for AI agent consumption:
- Non-interactive - never prompts, every input is a flag
- Pipeable -
--jsonoutput to stdout, errors to stderr - Filterable -
--select id,namereturns only fields you need - Previewable -
--dry-runshows the request without sending - Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
- Offline-friendly - sync/search commands can use the local SQLite store when available
- Agent-safe by default - no colors or formatting unless
--human-friendlyis set
Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.
Cookbook
# Morning catch-up: what happened overnight?
techmeme-pp-cli sync && techmeme-pp-cli since 12h
# Track a company and check for mentions
techmeme-pp-cli track add "OpenAI" && techmeme-pp-cli track check
# Find breaking stories (multiple sources covering the same topic)
techmeme-pp-cli velocity --hours 4
# Get a daily briefing grouped by source
techmeme-pp-cli digest --date 2026-05-08
# Who are the top 10 publications on Techmeme?
techmeme-pp-cli sources --top 10 --json
# Search for a topic across all cached headlines
techmeme-pp-cli search 'Apple AI'
# Find all headlines by a specific journalist
techmeme-pp-cli author 'Kara Swisher'
# What's trending in the last 24 hours?
techmeme-pp-cli trending --hours 24
# Export all synced data for analysis
techmeme-pp-cli export --format jsonl --output techmeme-backup.jsonl
# Agent pipeline: sync, then get compact JSON digest
techmeme-pp-cli sync && techmeme-pp-cli digest --agent
# Pipe trending topics to another tool
techmeme-pp-cli trending --json | jq '.[].topic'
# Full archive sync for offline access
techmeme-pp-cli workflow archive
Health Check
$ techmeme-pp-cli doctor --json
{
"api": "reachable",
"auth": "not required",
"base_url": "https://www.techmeme.com",
"cache": {
"status": "unknown",
"hint": "sync_state is empty; run 'techmeme-pp-cli sync' to hydrate."
},
"config": "ok",
"version": "1.0.0"
}
Configuration
Config file: ~/.config/techmeme-pp-cli/config.toml
| Variable | Description |
|---|---|
TECHMEME_CONFIG | Override config file path |
TECHMEME_BASE_URL | Override API base URL (default: https://www.techmeme.com) |
TECHMEME_FEEDBACK_ENDPOINT | URL for sending CLI feedback upstream |
TECHMEME_FEEDBACK_AUTO_SEND | Set to true to auto-send feedback on submit |
No API key is required. Techmeme's public feeds are openly accessible.
Troubleshooting
Not found errors (exit code 3)
- Check the resource ID is correct
- Run the
listcommand to see available items
Empty results from since or search (exit code 0, no output)
- Run
techmeme-pp-cli syncfirst to populate the local cache from the 5-day river archive
Only 15 headlines from headlines
- The RSS feed carries only the top 15 items. Use
riverorsyncfor the full 5-day archive (150+ headlines)
Search finds nothing for a recent topic
- The search endpoint indexes Techmeme headlines only. Topics that haven't made Techmeme's curated feed won't appear
API error (exit code 5)
- Run
techmeme-pp-cli doctorto verify connectivity - Check that
TECHMEME_BASE_URLis not set to an invalid URL
Rate limited (exit code 7)
- Use
--rate-limit 1to throttle requests to 1 per second
Generated by CLI Printing Press
For agents: pass /documentation/techmeme/agents.md to install this CLI from a prompt.