UnSearch

v1.0.0

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.

0· 1k·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for rakesh1002/unsearch.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "UnSearch" (rakesh1002/unsearch) from ClawHub.
Skill page: https://clawhub.ai/rakesh1002/unsearch
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: UNSEARCH_API_KEY
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install unsearch

ClawHub CLI

Package manager switcher

npx clawhub@latest install unsearch
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description promise (web search, content extraction, fact verification) matches the declared requirement (UNSEARCH_API_KEY) and the SKILL.md examples which call https://api.unsearch.dev. No unrelated credentials, binaries, or install steps are requested.
Instruction Scope
SKILL.md instructs the agent to make HTTPS POST calls to UnSearch endpoints and to optionally scrape arbitrary public URLs — this is within the stated purpose. Note: scraping arbitrary URLs (or providing internal/private URLs to the skill) can expose sensitive content to the external API; the README also shows an option to put the key in a local OpenClaw config which is a normal convenience but increases persistence of the credential on disk.
Install Mechanism
No install spec and no code files — instruction-only skill. This is low-risk from an install/execution standpoint because nothing is written to disk by an installer step.
Credentials
Only a single environment variable (UNSEARCH_API_KEY) is required and is the expected credential for the documented API. No unrelated secrets, config paths, or excessive env requirements are requested.
Persistence & Privilege
always is false and model invocation is allowed (the platform default). The skill does not request system-wide privileges, nor does it instruct changing other skills' configurations. The README's optional guidance to add the API key to ~/.openclaw/openclaw.json is conventional configuration behavior, not a privileged action.
Assessment
This skill appears coherent and only needs your UnSearch API key. Before installing, verify the UnSearch service and docs yourself (https://unsearch.dev), and consider these precautions: (1) keep the API key secret and prefer setting it as an environment variable rather than storing it permanently in a shared config file; (2) avoid asking the skill to fetch internal or non-public URLs (that would send private content to the external API); (3) review UnSearch's privacy and retention policy if you plan to send sensitive content; (4) if you need least privilege, create a limited/ephemeral API key with rate limits or reduced permissions if the provider supports it. If you want deeper assurance, request the UnSearch provider's official SDK or open-source client code and inspect it before use.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🔍 Clawdis
EnvUNSEARCH_API_KEY
Primary envUNSEARCH_API_KEY
latestvk97cey3f3xe4vvh8ggps2sjjvn80zanz
1kdownloads
0stars
1versions
Updated 2mo ago
v1.0.0
MIT-0

UnSearch Web Search Skill

Search the web, extract content, verify facts, and conduct deep research using the UnSearch API—an open-source Tavily/Exa alternative.

Quick Start

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).

API Endpoints

Base URL: https://api.unsearch.dev/api/v1

All requests require header: X-API-Key: $UNSEARCH_API_KEY


1. Web Search

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
  }'

Key Parameters

ParameterTypeDefaultDescription
querystringrequiredSearch query (1-500 chars)
enginesstring[]["google","bing","duckduckgo"]Search engines
max_resultsinteger10Results to return (1-100)
scrape_contentbooleantrueExtract full page content
languagestring"en"ISO 639-1 language code

Response

{
  "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
}

2. Agent Search (Tavily-Compatible)

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"
  }'

Key Parameters

ParameterTypeDefaultDescription
querystringrequiredSearch query
include_answerbool/stringfalseGenerate AI answer (true, "basic", "advanced", "production")
search_depthstring"basic"basic, advanced, fast
max_resultsinteger5Results (1-20)
include_raw_contentbooleanfalseInclude full page content
include_domainsstring[]nullOnly search these domains
exclude_domainsstring[]nullExclude these domains

Response

{
  "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
}

3. Content Extraction

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"
  }'

Response

{
  "results": [
    {
      "url": "https://example.com/article",
      "raw_content": "Full article text...",
      "failed": false
    }
  ]
}

4. Deep Research

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
  }'

Depth Levels

DepthSourcesUse Case
quick3-5Fast overview
standard5-10Balanced research
deep10-20Thorough analysis
comprehensive20-30Expert-level

Response

{
  "executive_summary": "AI is transforming healthcare...",
  "key_findings": ["AI diagnostics show 95% accuracy..."],
  "sources": [...],
  "model_used": "qwq-32b"
}

5. Fact Verification

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"
  }'

Response

{
  "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


Python Examples

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()

JavaScript Examples

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();
}

Rate Limits

PlanQueries/MonthRate Limit
Free5,00010/min
Pro25,00060/min
Growth100,000200/min
Scale500,0001,000/min

Rate limit headers in response:

  • X-RateLimit-Remaining: Requests left
  • X-RateLimit-Reset: Reset timestamp

Privacy Mode

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"}'

Error Handling

CodeDescription
401Invalid API key
429Rate limited (check Retry-After header)
422Validation error
500Server error

Additional Resources

Comments

Loading comments...