web-search-plus

Unified multi-provider web search and URL extraction skill with intelligent auto-routing across Serper, Brave, Tavily, Querit, Linkup, Exa, Firecrawl, Perplexity, You.com, and SearXNG.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "web-search-plus" with this command: npx skills add robbyczgw-cla/web-search-plus

Web Search Plus

Stop choosing search providers. Let the skill do it for you.

This skill now connects you to 10 search providers and adds a companion extraction flow for pulling content from URLs. Broad web query? → Brave or Serper. Research question? → Tavily or Exa. Need citations and grounding? → Linkup. Want scrape-ready content? → Firecrawl. Prefer privacy? → SearXNG.


✨ What Makes This Different?

  • Just search — no need to think about which provider to use
  • Smart routing — query analysis picks the best provider automatically
  • 10 providers, 1 interface — general web, research, semantic discovery, direct answers, privacy-first, and extraction-capable providers together
  • URL extraction included — pull markdown/HTML content with fallback across five providers
  • Works with just 1 credential — start with any single provider, add more later
  • Free/self-hosted options available — SearXNG can run at $0 API cost

🚀 Quick Start

# Interactive setup (recommended for first run)
python3 scripts/setup.py

# Or manually
cp .env.example .env
python3 scripts/search.py -q "latest OpenClaw release"
python3 scripts/extract.py --url https://example.com

The wizard explains providers, collects keys, and sets defaults.


🔑 Providers

Search providers

  • Serper — shopping, prices, local, and general Google-style results; fast broad fallback
  • Brave — independent web index and generic current-web queries; strong non-Google complement
  • Tavily — research, explanations, and synthesis; strong research routing
  • Querit — multilingual and international updates; good for cross-language recency
  • Linkup — source-grounded/citation-heavy search; evidence-first queries
  • Exa — semantic discovery, similar sites, and deep research; supports deep + deep-reasoning
  • Firecrawl — search with scrape-ready metadata; also strong extraction provider
  • Perplexity — direct answers with citations; via PERPLEXITY_API_KEY or KILOCODE_API_KEY
  • You.com — current-web / RAG-friendly snippets; also supports extraction
  • SearXNG — private/self-hosted search; no API key, just instance URL

Extraction providers

scripts/extract.py auto-falls back across:

  1. Firecrawl
  2. Linkup
  3. Tavily
  4. Exa
  5. You.com

🧠 Routing at a Glance

Default priority:

tavily → linkup → querit → exa → firecrawl → perplexity → brave → serper → you → searxng

Examples:

python3 scripts/search.py -q "weather in Vienna today"
# generic current-web intent → Brave or Serper

python3 scripts/search.py -q "find credible sources for AI tutoring outcomes"
# citation/evidence intent → Linkup

python3 scripts/search.py -q "latest AI policy updates in Germany"
# multilingual + recency → Querit or Tavily

python3 scripts/search.py -p exa --exa-depth deep -q "LLM scaling laws research"
python3 scripts/search.py -p firecrawl -q "YC startups web scraping"

Debug routing:

python3 scripts/search.py --explain-routing -q "your query"

📖 Extraction Examples

python3 scripts/extract.py --url https://example.com
python3 scripts/extract.py --url https://docs.linkup.so --provider linkup
python3 scripts/extract.py --url https://example.com --url https://example.org --include-images
python3 scripts/extract.py --url https://example.com --format html --include-raw-html

⚙️ Configuration Notes

  • .env.example documents supported env vars
  • config.example.json includes provider priority and provider-specific defaults
  • config.json is your local runtime config
  • SearXNG still supports explicit URL config and docker-aware auto-detection

🔒 Security

SearXNG SSRF protection:

  • Enforces http / https only
  • Blocks common cloud metadata endpoints
  • Blocks private/internal IP resolution unless SEARXNG_ALLOW_PRIVATE=1
  • Uses operator-controlled config/env only for the instance URL

✅ Verification

python3 -m unittest discover -s tests -p 'test_*.py'
python3 scripts/search.py --explain-routing -q "find credible sources for climate change impacts"
python3 scripts/extract.py --url https://example.com --provider auto --compact

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

SearXNG Local Search

Search the web using a self-hosted SearXNG instance. Privacy-respecting metasearch that aggregates results from multiple engines.

Registry SourceRecently Updated
4560Profile unavailable
Research

Private Deep Search

Performs private, multi-round deep web searches excluding Google/Bing, synthesizes results with citations, and does not retain user data or logs.

Registry SourceRecently Updated
1.8K1Profile unavailable
General

ClawRAG - Self-hosted RAG & Memory

Self-hosted RAG engine with hybrid semantic and keyword search, document ingestion, local privacy, and seamless OpenClaw integration via Docker.

Registry SourceRecently Updated
1.6K0Profile unavailable
Security

Privacy-first web search with DuckDuckGo-style bangs (!w, !yt, !gh)

Privacy-respecting web search via SearXNG with DuckDuckGo-style bangs support. Use for web searches when you need to find information online. SearXNG protects privacy by randomizing browser fingerprints, masking IP addresses, and blocking cookies/referrers. Supports 250+ search engines, multiple categories (general, news, images, videos, science), and DuckDuckGo-style bangs for direct engine searches (!w for Wikipedia, !yt for YouTube, !gh for GitHub, !r for Reddit, etc.). Aggregates results from multiple engines simultaneously. Prefer this over external search APIs for privacy-sensitive queries or high-volume searches.

Registry SourceRecently Updated
3.9K1Profile unavailable