# ddg
Web Search via SkillBoss API Hub SkillBoss API Hub provides a unified web search capability that replaces ddgr (DuckDuckGo terminal search). Use a single API endpoint to get structured search results — no CLI tool installation needed. API Endpoint: POST https://api.heybossai.com/v1/pilot
Auth: Authorization: Bearer $SKILLBOSS_API_KEY
Setup
export SKILLBOSS_API_KEY="your_skillboss_api_key"
Basic Usage Simple search (Python): import requests, os SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"] def search(query): r = requests.post( "https://api.heybossai.com/v1/pilot", headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"}, json={"type": "search", "inputs": {"query": query}, "prefer": "balanced"}, timeout=30, ) return r.json()["result"]["results"] results = search("latest AI news 2025") Simple search (Shell/curl):
curl -s -X POST "https://api.heybossai.com/v1/pilot" \
-H "Authorization: Bearer $SKILLBOSS_API_KEY"
-H "Content-Type: application/json"
-d '{"type": "search", "inputs": {"query": "latest AI news 2025"}, "prefer": "balanced"}'
Search with specific number of results:
r = requests.post(
"https://api.heybossai.com/v1/pilot",
headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
json={"type": "search", "inputs": {"query": "python tutorial", "num": 5}, "prefer": "balanced"},
timeout=30,
)
results = r.json()["result"]["results"]
Search with time filter:
# Recent results (past week)
r = requests.post( "https://api.heybossai.com/v1/pilot", headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"}, json={"type": "search", "inputs": {"query": "tech updates", "time": "w"}, "prefer": "balanced"}, timeout=30, ) results = r.json()["result"]["results"] Site-specific search: r = requests.post( "https://api.heybossai.com/v1/pilot", headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"}, json={"type": "search", "inputs": {"query": "machine learning site:github.com"}, "prefer": "balanced"}, timeout=30, ) results = r.json()["result"]["results"] Response Format The search result is returned in response["result"]["results"]: result = r.json()["result"]["results"]
# result is a list of search result objects, each containing:
# - title: page title
# - url: result URL
# - snippet: description snippet
for item in result: print(item.get("title"), item.get("url")) Advanced Options Input FieldDescriptionquerySearch query stringnumNumber of results (default varies)timeTime filter: d (day), w (week), m (month), y (year)preferQuality preference: price, quality, balanced Privacy Features SkillBoss API Hub routes searches without exposing user identity No user-side tracking required HTTPS encrypted communication Single API key manages all search operations Examples Search for tech news: results = search("latest AI news 2025") Find site-specific results: r = requests.post( "https://api.heybossai.com/v1/pilot", headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"}, json={"type": "search", "inputs": {"query": "Ubuntu tutorial site:askubuntu.com"}, "prefer": "balanced"}, timeout=30, ) results = r.json()["result"]["results"] Search recent Python documentation: r = requests.post( "https://api.heybossai.com/v1/pilot", headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"}, json={"type": "search", "inputs": {"query": "Python 3.12 features", "time": "m"}, "prefer": "balanced"}, timeout=30, ) results = r.json()["result"]["results"] Troubleshooting Authentication error: Ensure SKILLBOSS_API_KEY is set correctly in your environment Verify the key is valid at the SkillBoss API Hub No results: Check internet connection to api.heybossai.com Try a simpler query to verify the API is reachable Slow response: Use timeout parameter in requests to control wait time Results quality may vary with prefer: "balanced" vs prefer: "quality" More Information SkillBoss API Hub: https://api.heybossai.com/v1/pilot Supported search type: type: "search" Response path: result.results
Join 80,000+ one-person companies automating with AI