kagi-search

star 13

Fast web search and content extraction via Kagi Search API. Uses a Go backend for quick startup and supports JSON output.

joelazar By joelazar schedule Updated 2/22/2026

name: kagi-search description: Fast web search and content extraction via Kagi Search API. Uses a Go backend for quick startup and supports JSON output.

Kagi Search

Fast web search and content extraction using the official Kagi Search API.

This skill uses a Go binary for fast startup and no runtime dependencies. The binary can be downloaded pre-built or compiled from source.

Setup

Requires a Kagi account with API access enabled.

  1. Create an account at https://kagi.com/signup
  2. Navigate to Settings -> Advanced -> API portal: https://kagi.com/settings/api
  3. Generate an API Token
  4. Add funds to your API balance at: https://kagi.com/settings/billing_api
  5. Add to your shell profile (~/.profile or ~/.zprofile for zsh):
    export KAGI_API_KEY="your-api-key-here"
    
  6. Install the binary — see Installation below

Installation

Option A — Download pre-built binary (no Go required)

OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
case "$ARCH" in
  x86_64)        ARCH="amd64" ;;
  aarch64|arm64) ARCH="arm64" ;;
esac

TAG=$(curl -fsSL "https://api.github.com/repos/joelazar/kagi-skills/releases/latest" | grep '"tag_name"' | cut -d'"' -f4)
BINARY="kagi-search_${TAG}_${OS}_${ARCH}"

mkdir -p {baseDir}/.bin
curl -fsSL "https://github.com/joelazar/kagi-skills/releases/download/${TAG}/${BINARY}" \
  -o {baseDir}/.bin/kagi-search
chmod +x {baseDir}/.bin/kagi-search

# Verify checksum (recommended)
curl -fsSL "https://github.com/joelazar/kagi-skills/releases/download/${TAG}/checksums.txt" | \
  grep "${BINARY}" | sha256sum --check

Pre-built binaries are available for Linux and macOS (amd64 + arm64) and Windows (amd64).

Option B — Build from source (requires Go 1.26+)

cd {baseDir} && go build -o .bin/kagi-search .

Alternatively, just run {baseDir}/kagi-search.sh directly — the wrapper auto-builds on first run if Go is available.

Pricing

The Kagi Search API is priced at $25 for 1000 queries (2.5 cents per search).

Search

{baseDir}/kagi-search.sh search "query"                              # Basic search (10 results)
{baseDir}/kagi-search.sh search "query" -n 20                        # More results (max 100)
{baseDir}/kagi-search.sh search "query" --content                    # Include extracted page content
{baseDir}/kagi-search.sh search "query" --json                       # JSON output
{baseDir}/kagi-search.sh search "query" --show-balance               # Show API balance for this call
{baseDir}/kagi-search.sh search "query" -n 5 --content --json        # Combined options

Search options

  • -n <num> - Number of results (default: 10, max: 100)
  • --content - Fetch and include page content for each result
  • --json - Emit JSON output
  • --show-balance - Print API balance to stderr for this call
  • --timeout <sec> - HTTP timeout in seconds (default: 15)
  • --max-content-chars <num> - Max chars per fetched result content (default: 5000)

Extract Page Content

{baseDir}/kagi-search.sh content https://example.com/article
{baseDir}/kagi-search.sh content https://example.com/article --json

Content options

  • --json - Emit JSON output
  • --timeout <sec> - HTTP timeout in seconds (default: 20)
  • --max-chars <num> - Max chars to output (default: 20000)

API Balance

Balance is not printed by default. You can either:

  • add --show-balance to search
  • run the dedicated command:
{baseDir}/kagi-search.sh balance
{baseDir}/kagi-search.sh balance --json

Output

Default (text)

kagi-search search prints readable text blocks, and kagi-search content prints extracted content.

JSON (--json)

kagi-search search --json returns:

  • query
  • meta (includes API metadata like ms, api_balance when provided)
  • results[] with title, link, snippet, optional published, optional content
  • related_searches[]

kagi-search content --json returns:

  • url
  • title
  • content
  • error (only when extraction fails)

When to Use

  • Searching for documentation or API references
  • Looking up facts or current information
  • Fetching content from specific URLs
  • Any task requiring web search without interactive browsing

Notes

  • Search results inherit your Kagi account settings (personalized results, blocked/promoted sites)
  • Results may include related search suggestions (t:1 objects)
  • Content extraction uses codeberg.org/readeck/go-readability/v2 (Readability v2)
  • The binary lives at {baseDir}/.bin/kagi-search; the wrapper rebuilds it automatically when source changes (requires Go)
Install via CLI
npx skills add https://github.com/joelazar/kagi-skills --skill kagi-search
Repository Details
star Stars 13
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator