KETCH

Web search and scrape for agents

v0.11.0

Fast, stateless CLI for web search, OSS code search, library docs, and page scraping. Search the web, fetch pages, extract clean markdown — all from one binary. Designed to be called by AI agents or directly from your terminal.

$brew install 1broseidon/tap/ketch

Features

06 Modules
001

Search + Scrape

Web search across six backends. Scrape any URL to clean markdown. Combine both in one call with --scrape, or federate backends with --multi.

002

Agent-Native Output

YAML frontmatter + markdown body — the same format as cymbal. Agents scan metadata first, read content when needed. --json available as escape hatch.

003

Operator Configures, Agent Consumes

Set your backend and API keys once in ~/.config/ketch/config.json. Agents call ketch search without knowing the infrastructure.

004

Page Cache

Scraped pages cached locally with TTL-based expiry. Re-fetching the same URL serves from cache until the TTL lapses. Cache follows platform conventions.

005

Zero Dependencies

Single Go binary, CGO_ENABLED=0, cross-compiles everywhere. No daemon, no database, no runtime dependencies. Install and run.

006

Multiple Backends

Brave, DuckDuckGo, SearXNG, Exa, Firecrawl, or Keenable for web search; Grep, Sourcegraph, or GitHub for code; Context7 for docs. Switch backends with one config change.

Quick Start

# Search the web
ketch search "golang error handling"

# Search and fetch full content from each result
ketch search "golang error handling" --scrape

# Scrape a URL to clean markdown
ketch scrape https://go.dev/doc/effective_go

# Batch scrape (concurrent)
ketch scrape https://example.com https://go.dev