Documentation

Techmeme CLI

techmeme-pp-cli

Install

npx -y @mvanhorn/printing-press-library install techmeme

Installs 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 away

    When 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 time

    When 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 tabs

    Agents 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 time

    When 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 data

    When 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 window

    When 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 archive

    When 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.

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 - --json output to stdout, errors to stderr
  • Filterable - --select id,name returns only fields you need
  • Previewable - --dry-run shows 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-friendly is 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

VariableDescription
TECHMEME_CONFIGOverride config file path
TECHMEME_BASE_URLOverride API base URL (default: https://www.techmeme.com)
TECHMEME_FEEDBACK_ENDPOINTURL for sending CLI feedback upstream
TECHMEME_FEEDBACK_AUTO_SENDSet 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 list command to see available items

Empty results from since or search (exit code 0, no output)

  • Run techmeme-pp-cli sync first 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 river or sync for 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 doctor to verify connectivity
  • Check that TECHMEME_BASE_URL is not set to an invalid URL

Rate limited (exit code 7)

  • Use --rate-limit 1 to 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.