9router-web-search
Web and X search via 9Router /v1/search using Tavily / Exa / Brave / Serper / SearXNG / Google PSE / Linkup / SearchAPI / You.com / Perplexity / Xquik. Use when the user wants to search the web, find articles, or search public X posts.
DeepseekModel
Curated skill
Quality Excellent · 90
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=decolua-9router-skills-9router-web-search-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name 9router-web-search description Web and X search via 9Router /v1/search using Tavily / Exa / Brave / Serper / SearXNG / Google PSE / Linkup / SearchAPI / You.com / Perplexity / Xquik. Use when the user wants to search the web, find articles, or search public X posts. 9Router — Web Search Requires NINEROUTER_URL (and NINEROUTER_KEY if auth enabled). See https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router/SKILL.md for setup. Discover curl $NINEROUTER_URL /v1/models/web | jq '.data[] | select(.kind=="webSearch") | .id' # Per-provider params (searchTypes, maxResults, required options like cx for google-pse) curl " $NINEROUTER_URL /v1/models/info?id=tavily/search" IDs end in /search (e.g. tavily/search ). Combos ( owned_by:"combo" ) chain providers with auto-fallback. Endpoint POST $NINEROUTER_URL/v1/search Field Required Notes model (or provider ) yes from /v1/models/web (e.g. tavily or brave ) query yes search query max_results no default 5 search_type no web (default) / news / x for Xquik country , language , time_range , domain_filter no provider-dependent Examples curl -X POST $NINEROUTER_URL /v1/search \ -H "Authorization: Bearer $NINEROUTER_KEY " \ -H "Content-Type: application/json" \ -d '{"model":"tavily","query":"9Router open source","max_results":5}' JS: const r = await fetch ( ` ${process.env.NINEROUTER_URL} /v1/search` , { method : "POST" , headers : { "Authorization" : `Bearer ${process.env.NINEROUTER_KEY} ` , "Content-Type" : "application/json" }, body : JSON . stringify ({ model : "search-combo" , query : "latest LLM benchmarks" , max_results : 10 }), }); console . log ( await r. json ()); X search with Xquik: curl -X POST $NINEROUTER_URL /v1/search \ -H "Authorization: Bearer $NINEROUTER_KEY " \ -H "Content-Type: application/json" \ -d '{"model":"xquik","query":"from:github release","max_results":10,"provider_options":{"queryType":"Latest"}}' Add the Xquik API key in 9Router's provider settings. Xquik charges 1 credit per returned post. Continue a search by passing pagination.next_cursor as provider_options.cursor . Xquik responses include provider pagination and credit usage: { "pagination" : { "has_more" : true , "next_cursor" : "cursor-2" } , "usage" : { "queries_used" : 1 , "search_cost_usd" : null , "provider_credits_used" : 10 } } Response shape { "provider" : "tavily" , "query" : "9Router open source" , "results" : [ { "title" : "..." , "url" : "https://..." , "display_url" : "github.com/..." , "snippet" : "..." , "position" : 1 , "score" : 0.92 , "published_at" : null , "favicon_url" : null , "content" : null , "metadata" : { "author" : null , "language" : null , "source_type" : null , "image_url" : null } , "citation" : { "provider" : "tavily" , "retrieved_at" : "2026-..." , "rank" : 1 } } ] , "answer" : null , "usage" : { "queries_used" : 1 , "search_cost_usd" : 0.008 } , "metrics" : { "response_time_ms" : 850 , "upstream_latency_ms" : 700 , "total_results_available" : 12 } , "errors" : [ ] } Provider quirks All accept query + max_results . Optional fields vary: Provider Supports Required extras tavily country, domain_filter, news topic — exa domain_filter (incl/excl), news category — brave-search country, language — serper country, language, news endpoint — perplexity country, language, domain_filter — linkup domain_filter, time_range depth: fast/standard/deep (option) google-pse country, language, time_range, offset cx required (providerOptions) searchapi country, language, pagination — youcom country, language, time_range, domain_filter, full_page — searxng language, time_range Self-hosted, noAuth xquik X/Twitter search operators, language, cursor pagination queryType: Latest/Top , cursor (options) Provider IS the model — "provider":"tavily" ≡ "model":"tavily" .
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.