Serpex
SERPEX tool for LlamaIndex.
SerpexToolSpec #
              Bases: BaseToolSpec
SERPEX tool spec for web search.
This tool allows you to search the web using the SERPEX API and get real-time search results from multiple search engines including Google, Bing, DuckDuckGo, Brave, Yahoo, and Yandex.
SERPEX provides fast, reliable search results via API, perfect for AI applications, RAG systems, and data analytics.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| api_key | Optional[str] | SERPEX API key. If not provided, will look for SERPEX_API_KEY environment variable. | None | 
| engine | str | Default search engine to use. Options: 'auto' (default), 'google', 'bing', 'duckduckgo', 'brave', 'yahoo', 'yandex'. | 'auto' | 
Examples:
>>> from llama_index.tools.serpex import SerpexToolSpec
>>> tool = SerpexToolSpec(api_key="your_api_key")
>>> results = tool.search("latest AI news")
>>> for doc in results:
...     print(doc.text)
Source code in llama_index/tools/serpex/base.py
                | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |  | 
search #
search(query: str, num_results: int = 10, engine: Optional[str] = None, time_range: Optional[str] = None) -> List[Document]
Search the web using SERPEX API.
This function queries the specified search engine and returns structured results containing titles, URLs, and snippets.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| query | str | Search query string. | required | 
| num_results | int | Number of results to return (default: 10, max: 100). | 10 | 
| engine | Optional[str] | Override default search engine. Options: 'auto', 'google', 'bing', 'duckduckgo', 'brave', 'yahoo', 'yandex'. | None | 
| time_range | Optional[str] | Filter results by time. Options: 'day', 'week', 'month', 'year'. | None | 
Returns:
| Type | Description | 
|---|---|
| List[Document] | List of Document objects, one per search result. | 
| List[Document] | Each document contains the title, URL, and snippet in its text, | 
| List[Document] | with metadata including search details. | 
Examples:
>>> tool = SerpexToolSpec(api_key="your_key")
>>> results = tool.search("LlamaIndex tutorial", num_results=5)
>>> for doc in results:
...     print(f"Title: {doc.metadata['title']}")
...     print(f"URL: {doc.metadata['url']}")
...     print(doc.text)
>>> # Search with specific engine
>>> results = tool.search(
...     "privacy focused browser",
...     engine="duckduckgo",
...     num_results=5
... )
>>> # Search with time filter
>>> results = tool.search(
...     "AI news",
...     time_range="day",
...     num_results=10
... )
Source code in llama_index/tools/serpex/base.py
              | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |  | 
options: members: - SerpexToolSpec