Exclusively designed for TypingMind — Bring real-time web search capabilities to your TypingMind AI assistant using OpenAI's Responses API with built-in web_search tool.
This plugin enables web search functionality for up-to-date information, current events, and real-time data beyond the AI's knowledge cutoff. Powered by OpenAI's gpt-5 reasoning model with automatic source citations.
- Import Plugin: Visit TypingMind Plugins Documentation for import instructions (supports URL, GitHub URL, or JSON file import)
- Add API Key: Get your OpenAI API key from platform.openai.com and paste it in plugin settings
- Start Searching: Ask your AI assistant to "search the web for [query]" or ask questions requiring current information
- Real-time Web Search: Leverages OpenAI's
web_searchtool via Responses API for current information - Automatic Source Citations: OpenAI's API returns structured
url_citationannotations with titles and URLs embedded in responses - Configurable Reasoning Effort: Control search depth with
low(fast),medium(balanced), orhigh(thorough) reasoning levels - Geographic Localization: Optional user_location parameters (country, city, region, timezone) for location-specific results
- Model Flexibility: Supports
gpt-5(default) ando4-minifor different speed/thoroughness tradeoffs - TypingMind Integration: Native function calling interface with
respond_to_aioutput type for seamless conversation flow
The plugin operates via function calling: when the AI detects queries requiring real-time data, it automatically invokes the openai_web_search function with the user's query. You can also explicitly trigger searches.
Current Events & News
"What are the top news stories today?"
"Search the web for recent developments in AI regulation"
Real-time Data Lookups
"What's the current weather in London?"
"Find the latest stock price for Tesla"
Location-aware Searches (requires location configuration)
"What are the best restaurants near Times Square?"
"Local news in [your configured city]"
Research with Citations
"Find recent studies on climate change effects"
"What are experts saying about cryptocurrency trends in 2025?"
| Parameter | Type | Description |
|---|---|---|
| API Key | password |
OpenAI API key from platform.openai.com/account/api-keys |
| Parameter | Default | Options | Description |
|---|---|---|---|
| model | gpt-5 |
gpt-5, o4-mini |
Model for web search processing. gpt-5 recommended for reasoning quality. |
| reasoning_effort | medium |
low, medium, high |
Search thoroughness: low = fast, high = comprehensive (slower) |
All location parameters are optional. Configure for location-specific results.
| Parameter | Format | Example | Description |
|---|---|---|---|
| country | ISO 3166-1 alpha-2 | US, GB, DE |
Two-letter country code |
| city | String | New York, London |
City name for local results |
| region | String | California, England |
State/region for additional context |
| timezone | IANA | America/New_York |
Timezone for time-sensitive queries |
Implementation Note: Location parameters are passed to OpenAI's user_location field as type: "approximate" in the web_search tool configuration.
- Function Invocation: TypingMind AI invokes
openai_web_searchfunction with user query - API Request: Plugin sends POST request to
https://api.openai.com/v1/responseswith:{ "model": "gpt-5", "tools": [{"type": "web_search", "user_location": {...}}], "reasoning": {"effort": "medium"}, "input": "<user query>" } - Web Search Execution: OpenAI's web_search tool queries the web with specified parameters
- Response Processing: Model analyzes results and generates response with reasoning
- Result Transform: JMESPath expression
output[?type=='message']|[0].content[]extracts message content - Citation Delivery: Structured
url_citationannotations are embedded in response content
OpenAI returns responses with:
- Content Array: Text blocks containing the answer
- Annotations: Array of
url_citationobjects with:type:"url_citation"title: Source document titleurl: Clickable source URLindex: Citation reference number (may be null)
Example API Response Fragment:
{
"output": [{
"type": "message",
"content": [{
"text": "According to recent reports...",
"annotations": [{
"type": "url_citation",
"title": "AI Industry Report 2025",
"url": "https://example.com/report"
}]
}]
}]
}-
Query Specificity: Precise queries yield better results
- ✅
"Key announcements at Apple's October 2025 event" - ❌
"Apple news"
- ✅
-
Location Configuration: Set location parameters for local searches (
"best pizza near me"requires city/region) -
Reasoning Effort Tuning:
low: Simple fact lookups, quick queriesmedium: Default for most use caseshigh: Complex research, multi-source analysis (increased latency)
-
Explicit Search Triggers: Prepend queries with
"Search the web for..."or"Find current information about..."if automatic invocation fails
- Geographic Availability: OpenAI web_search tool availability varies by region
- Context Window: 128,000 token limit for Responses API
- Model Support: Reasoning effort parameters require reasoning-capable models (
gpt-5,o4-mini) - Rate Limits: Subject to OpenAI API rate limits (requests per minute/day based on tier)
- Search Scope: Results depend on OpenAI's web indexing and real-time availability
Web search invokes OpenAI's built-in web_search tool, incurring additional costs per search action beyond base model tokens. Consult OpenAI Pricing under "Built-in Tools" for current rates.
| Issue | Diagnosis | Solution |
|---|---|---|
| Function not invoked | AI doesn't trigger search | • Explicitly include "search the web" in query • Verify API key validity • Confirm model is gpt-5 or o4-mini |
| Location data ignored | Geographic parameters not applied | • Use ISO 3166-1 alpha-2 codes for country • Verify IANA timezone format • Check all location fields are strings (not empty objects) |
| High latency | Searches taking too long | • Reduce reasoning_effort to low or medium• Note: high effort increases processing time significantly |
| API errors | 401/403/429 responses | • Verify API key has valid billing • Check rate limits at platform.openai.com • Confirm web_search is enabled for your region |
- Implementation Type:
http(HTTP-based API plugin) - Output Type:
respond_to_ai(results feed back into AI conversation) - Result Transform Engine:
jmes(JMESPath for response parsing) - Transform Expression:
output[?type=='message']|[0].content[]
✅ Source citations are automatically included via OpenAI's Responses API:
- OpenAI's API returns
url_citationannotation objects embedded in response content - Each citation includes:
type:"url_citation"title: Source document titleurl: Full URL to original sourceindex: Reference number for inline citation
- Citations appear as structured annotations in the content array
- TypingMind renders these annotations as clickable links in the AI response
Note: Citation format and rendering depend on TypingMind's handling of annotation objects returned by the plugin.
To add this plugin to your TypingMind instance:
- Via URL: Copy plugin URL and paste into TypingMind's plugin import dialog
- Via GitHub: Use repository URL (append
?token=<PAT>for private repos with read-only Contents permission) - Via JSON: Download
plugin.jsonand use "Import plugin from JSON" option in TypingMind
Full instructions: docs.typingmind.com/plugins/share-import-plugins
- Plugin Import Guide: docs.typingmind.com/plugins/share-import-plugins
- TypingMind Documentation: docs.typingmind.com
- OpenAI Responses API: platform.openai.com/docs/api-reference/responses
- API Key & Usage: platform.openai.com/account/api-keys
MIT License - See LICENSE file for details