WebSearchAPI
A multi-type search tool based on SearchAPI (Google), ideal for agents to retrieve real-time web information.
Features
- Multiple Search Types: Web, News, Video, Finance, Maps, Hotels, Flights
- Time Filtering: Search by time range
- Auto Retry: Automatic retry on network errors for stability
- Structured Output: Agent-ready JSON format
- Zero Dependencies: Pure Node.js built-in modules
Installation
# Copy tools/websearchapi to your project
# Configure API Key (required)
cd tools/websearchapi
node websearchapi.js config set-key YOUR_API_KEY
Get API Key: https://searchapi.io (Free registration)
⚠️ Important: Use your own API Key, not someone else's
Usage
Call via exec tool:
node <path>/websearchapi.js <command> [keyword] [options]
Search Types
| Type | Command | Description |
|---|---|---|
| Web | s or search |
General web search |
| News | news |
Latest news |
| Video | video |
Video search |
| Finance | finance |
Stock/Financial info |
| Maps | maps |
Places/Business |
| Hotels | hotels |
Hotel search |
| Flights | flights |
Flight search |
Options
| Option | Description | Default |
|---|---|---|
--num |
Number of results | 5 |
--lang |
Language | zh-CN |
--gl |
Country | cn |
--time |
Time range | none |
--json |
JSON output | text |
Time Filtering
| Value | Description |
|---|---|
last_hour |
Past hour |
last_day |
Past day |
last_week |
Past week |
last_month |
Past month |
last_year |
Past year |
Agent Examples
# Web search
node websearchapi.js s "MCP protocol"
# News search (past week)
node websearchapi.js news "AI" --time=last_week
# Finance search
node websearchapi.js finance "AAPL"
# Time filter (past 24 hours)
node websearchapi.js s "keyword" --time=last_day
# JSON format (recommended for parsing)
node websearchapi.js s "keyword" --json
Response Format
JSON mode returns:
{
"success": true,
"query": "keyword",
"type": "google",
"count": 5,
"results": [
{
"title": "Result Title",
"link": "URL",
"snippet": "Summary",
"source": "Source"
}
],
"metadata": {
"totalResults": number,
"timeTaken": seconds,
"engine": "google"
}
}
Configuration
First Time - Configure API Key
cd tools/websearchapi
node websearchapi.js config set-key YOUR_API_KEY
View/Modify Config
# View config (Key hidden)
node websearchapi.js config
# Set API Key
node websearchapi.js config set-key YOUR_API_KEY
# Modify defaults
node websearchapi.js config set-num 10 # Default result count
node websearchapi.js config set-lang en # Default language
node websearchapi.js config set-gl us # Default country
node websearchapi.js config set-retry 5 # Retry count
Deployment
# Copy to new machine
scp -r ./tools/websearchapi user@new-server:/path/to/tools/
# Configure your own API Key
cd /path/to/tools/websearchapi
node websearchapi.js config set-key YOUR_API_KEY
# Test
node websearchapi.js test
Troubleshooting
Search Failed
- Check API Key:
node websearchapi.js config - Verify Key: https://searchapi.io/dashboard
Finance No Results
- Try stock code:
finance "AAPL" - Try English:
finance "Tesla stock"
Request Timeout
- Increase retry:
config set-retry 5
Security Notes
- ⚠️ Always use your own API Key
- 🔐 API Key stored in local config.json
- 🚫 Don't share packages with API Key included
