API-first search engine that returns structured JSON with answers, citations, confidence scores, and sources. Built for AI agents, pipelines, and automation.
POST a query, get back JSON with an AI-synthesized answer, ranked sources, citations with source attribution, confidence scores, and related queries. Supports fast and deep search modes, streaming via SSE, and page content extraction.
POST /searchSearch with AI answerGET /search?q=Quick search via GETPOST /extractExtract page contentGET /healthHealth checkcurl -X POST http://localhost:3100/search \
-H "Content-Type: application/json" \
-d '{
"query": "best vector databases",
"mode": "deep",
"extract_content": true
}'{
"query": "best vector databases",
"answer": "The top vector databases...",
"sources": [{ "title": "...", "url": "..." }],
"citations": [{ "claim": "...", "source_url": "..." }],
"confidence": 0.87,
"related_queries": ["..."],
"metadata": {
"model": "google/gemini-3.1-flash-lite-preview",
"duration_ms": 4320,
"mode": "deep"
}
}Single query, AI answer with sources and citations. Optimized for speed — typically under 5 seconds.
Generates sub-queries, searches in parallel, extracts page content, cross-references sources.
Server-sent events for real-time results. Stream sources, answer tokens, citations as they arrive.
Extract clean content from any URL. Removes noise, returns structured text for processing.
Every claim attributed to a source. Confidence scoring based on source quality and agreement.
Full-featured command line interface. Pipe JSON output to other tools. Built for automation.
AI agents discover Search.sh through standard skill files. Point your agent to our skill.md for complete API documentation, streaming examples, code snippets in Python and JavaScript, and usage patterns for chaining searches.
# Add to your agent's tools/skills:
https://search.sh/skill.md
# Or fetch it:
curl -s https://search.sh/skill.md
# Install locally:
mkdir -p ~/.agent/skills/search-sh
curl -s https://search.sh/skill.md \
> ~/.agent/skills/search-sh/SKILL.mdimport requests, json
res = requests.post(
"https://search.sh/api/search",
json={
"query": "best practices for RAG",
"mode": "deep",
"stream": True,
},
stream=True,
)
for line in res.iter_lines():
chunk = json.loads(
line.decode().removeprefix("data: ")
)
if chunk["type"] == "answer_delta":
print(chunk["data"], end="")# Install
npm install -g @rogaai/search-sh
# Fast search
search-sh search "what is kubernetes"
# Deep research
search-sh search "best databases 2026" --mode deep
# JSON output (pipe to jq, other tools)
search-sh search "node.js frameworks" --json
# Sources only, no AI
search-sh search "react vs vue" --sources-only
# Extract page content
search-sh extract https://example.com