Jump to related tools in the same category or review the original source on GitHub.

Web & Frontend Development @rakesh1002 Updated 6/28/2026 1,391 downloads 0 stars Security: Pass

πŸ” Unsearch OpenClaw Plugin & Skill | ClawHub

Looking to integrate Unsearch into your AI workflows? This free OpenClaw plugin from ClawHub helps you automate web & frontend development tasks instantly, without having to write custom tools from scratch.

What this skill does

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.

Install

ClawHub CLI
openclaw skills install @rakesh1002/unsearch
Node.js (npx)
npx clawhub@latest install unsearch

Full SKILL.md

Open original
Metadata table.
nameversiondescription
unsearch1.0.0Search 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.

SKILL.md content below is scrollable.

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

Parameter Type Default Description
query string required Search query (1-500 chars)
engines string[] ["google","bing","duckduckgo"] Search engines
max_results integer 10 Results to return (1-100)
scrape_content boolean true Extract full page content
language string "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

Parameter Type Default Description
query string required Search query
include_answer bool/string false Generate AI answer (true, "basic", "advanced", "production")
search_depth string "basic" basic, advanced, fast
max_results integer 5 Results (1-20)
include_raw_content boolean false Include full page content
include_domains string[] null Only search these domains
exclude_domains string[] null Exclude 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

Depth Sources Use Case
quick 3-5 Fast overview
standard 5-10 Balanced research
deep 10-20 Thorough analysis
comprehensive 20-30 Expert-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

Plan Queries/Month Rate Limit
Free 5,000 10/min
Pro 25,000 60/min
Growth 100,000 200/min
Scale 500,000 1,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

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

Additional Resources

ClawHub Registry URL: https://clawhub.ai/rakesh1002/skills/unsearch

Related skills

If this matches your use case, these are close alternatives in the same category.