KETCH

Web search and scrape for agents

v0.8.1

Fast, stateless CLI for web search 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 via Brave, DuckDuckGo, or SearXNG. Scrape any URL to clean markdown. Combine both in one call with --scrape.

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. Second fetch of the same URL returns in ~5ms instead of ~200ms. 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 Search API (free tier), DuckDuckGo HTML scraping, or self-hosted SearXNG. 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