Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Search the web, scrape content, and conduct deep research using the UnSearch API. Use when the user needs real-time web search results, content extraction from URLs, fact verification, or multi-source research for AI agents, RAG pipelines, or LLM applications.
Search the web, scrape content, and conduct deep research using the UnSearch API. Use when the user needs real-time web search results, content extraction from URLs, fact verification, or multi-source research for AI agents, RAG pipelines, or LLM applications.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Search the web, extract content, verify facts, and conduct deep research using the UnSearch APIβan open-source Tavily/Exa alternative.
Set your API key: export UNSEARCH_API_KEY="uns_your_api_key" Get a free API key at https://unsearch.dev (5,000 queries/month free).
Base URL: https://api.unsearch.dev/api/v1 All requests require header: X-API-Key: $UNSEARCH_API_KEY
Search the web with optional content scraping. curl -X POST "https://api.unsearch.dev/api/v1/search" \ -H "X-API-Key: $UNSEARCH_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "your search query", "engines": ["google", "bing", "duckduckgo"], "max_results": 10, "scrape_content": true }'
ParameterTypeDefaultDescriptionquerystringrequiredSearch query (1-500 chars)enginesstring[]["google","bing","duckduckgo"]Search enginesmax_resultsinteger10Results to return (1-100)scrape_contentbooleantrueExtract full page contentlanguagestring"en"ISO 639-1 language code
{ "results": [ { "title": "Page Title", "url": "https://example.com", "snippet": "Search result snippet...", "scraped_content": { "text": "Full page content...", "word_count": 2500 } } ], "processing_time_ms": 1500 }
AI-optimized search with optional answer generation. curl -X POST "https://api.unsearch.dev/api/v1/agent/search" \ -H "X-API-Key: $UNSEARCH_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "What is machine learning?", "include_answer": true, "max_results": 5, "search_depth": "basic" }'
ParameterTypeDefaultDescriptionquerystringrequiredSearch queryinclude_answerbool/stringfalseGenerate AI answer (true, "basic", "advanced", "production")search_depthstring"basic"basic, advanced, fastmax_resultsinteger5Results (1-20)include_raw_contentbooleanfalseInclude full page contentinclude_domainsstring[]nullOnly search these domainsexclude_domainsstring[]nullExclude these domains
{ "query": "What is machine learning?", "answer": "Machine learning is a subset of AI...", "results": [ { "title": "Machine Learning - Wikipedia", "url": "https://en.wikipedia.org/wiki/Machine_learning", "content": "Machine learning is a branch of AI...", "score": 0.95 } ], "response_time": 1.25 }
Extract content from specific URLs. curl -X POST "https://api.unsearch.dev/api/v1/agent/extract" \ -H "X-API-Key: $UNSEARCH_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "urls": ["https://example.com/article"], "extract_depth": "basic" }'
{ "results": [ { "url": "https://example.com/article", "raw_content": "Full article text...", "failed": false } ] }
Multi-source research with AI synthesis. curl -X POST "https://api.unsearch.dev/api/v1/agent/research" \ -H "X-API-Key: $UNSEARCH_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "Impact of AI on healthcare", "depth": "deep", "max_sources": 15, "include_analysis": true }'
DepthSourcesUse Casequick3-5Fast overviewstandard5-10Balanced researchdeep10-20Thorough analysiscomprehensive20-30Expert-level
{ "executive_summary": "AI is transforming healthcare...", "key_findings": ["AI diagnostics show 95% accuracy..."], "sources": [...], "model_used": "qwq-32b" }
Verify claims against multiple sources. curl -X POST "https://api.unsearch.dev/api/v1/verify/claim" \ -H "X-API-Key: $UNSEARCH_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "claim": "GPT-4 was released in March 2023", "depth": "thorough" }'
{ "verdict": "true", "confidence": 95, "summary": "GPT-4 was released March 14, 2023.", "supporting_evidence": [...], "sources_checked": 12 } Verdict values: true, false, partially_true, misleading, unverifiable
import httpx import os API_KEY = os.environ["UNSEARCH_API_KEY"] BASE_URL = "https://api.unsearch.dev/api/v1" async def search(query: str, scrape: bool = False): async with httpx.AsyncClient() as client: response = await client.post( f"{BASE_URL}/search", headers={"X-API-Key": API_KEY}, json={ "query": query, "max_results": 10, "scrape_content": scrape } ) return response.json() async def agent_search(query: str, include_answer: bool = True): async with httpx.AsyncClient() as client: response = await client.post( f"{BASE_URL}/agent/search", headers={"X-API-Key": API_KEY}, json={ "query": query, "include_answer": include_answer, "max_results": 5 } ) return response.json() async def extract_urls(urls: list[str]): async with httpx.AsyncClient() as client: response = await client.post( f"{BASE_URL}/agent/extract", headers={"X-API-Key": API_KEY}, json={"urls": urls} ) return response.json()
const API_KEY = process.env.UNSEARCH_API_KEY; const BASE_URL = "https://api.unsearch.dev/api/v1"; async function search(query, scrapeContent = false) { const response = await fetch(`${BASE_URL}/search`, { method: "POST", headers: { "X-API-Key": API_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ query, max_results: 10, scrape_content: scrapeContent }) }); return response.json(); } async function agentSearch(query, includeAnswer = true) { const response = await fetch(`${BASE_URL}/agent/search`, { method: "POST", headers: { "X-API-Key": API_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ query, include_answer: includeAnswer, max_results: 5 }) }); return response.json(); }
PlanQueries/MonthRate LimitFree5,00010/minPro25,00060/minGrowth100,000200/minScale500,0001,000/min Rate limit headers in response: X-RateLimit-Remaining: Requests left X-RateLimit-Reset: Reset timestamp
For sensitive queries, enable zero-retention: curl -X POST "https://api.unsearch.dev/api/v1/search" \ -H "X-API-Key: $UNSEARCH_API_KEY" \ -H "X-Zero-Retention: true" \ -H "Content-Type: application/json" \ -d '{"query": "sensitive query"}'
CodeDescription401Invalid API key429Rate limited (check Retry-After header)422Validation error500Server error
Documentation: https://docs.unsearch.dev API Reference: https://docs.unsearch.dev/api Self-hosting: https://github.com/unsearch-org/unsearch Get API Key: https://unsearch.dev
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.