The Problem
Developers alt-tab to a browser 50+ times per day to look up API docs, error messages, and package versions. Each context switch costs 20-30 seconds and breaks flow state. Shell-based search tools return raw HTML or require GUI browsers.
The Scavio Solution
Add a shell alias or CLI tool that queries Scavio and prints structured results directly in the terminal. Look up error messages, API docs, and package info without leaving the terminal. Each query costs $0.005.
Before
Developer hits an error, alt-tabs to browser, types query, scans results, alt-tabs back to terminal. 30 seconds lost. Repeated 50+ times per day.
After
Developer types 'ws stripe api versioning' in the terminal, gets structured results in 2 seconds, stays in flow. 25 minutes saved daily.
Who It Is For
Developers who live in the terminal and want to look up API docs, error messages, and package info without opening a browser.
Key Benefits
- Search from terminal without context switching
- Structured results printed to stdout
- Pipe results to jq, grep, or other tools
- Shell alias setup takes 30 seconds
- $0.005 per query, 250 free/month
Python Example
#!/usr/bin/env python3
"""CLI search tool: ws <query>"""
import requests, sys, os
API_KEY = os.environ["SCAVIO_API_KEY"]
def search(query: str):
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY, "Content-Type": "application/json"},
json={"query": query, "country_code": "us"},
timeout=10,
)
data = resp.json()
for r in data.get("organic_results", [])[:5]:
print(f"[{r.get('position')}] {r.get('title', '')}")
print(f" {r.get('snippet', '')}")
print(f" {r.get('link', '')}")
print()
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: ws <query>")
sys.exit(1)
search(" ".join(sys.argv[1:]))JavaScript Example
// Add to .bashrc: alias ws='node ~/ws.mjs'
const query = process.argv.slice(2).join(' ');
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query, country_code:'us'})});
const d = await r.json();
(d.organic_results||[]).slice(0,5).forEach(r => console.log('['+r.position+'] '+r.title+'\n '+r.snippet+'\n '+r.link+'\n'));Platforms Used
Web search with knowledge graph, PAA, and AI overviews