From 9904f56c11634133023c3b90fba963de49bfee83 Mon Sep 17 00:00:00 2001 From: Simantak Dabhade Date: Wed, 15 Jul 2026 15:02:22 -0700 Subject: [PATCH 1/4] docs(websearch_interception): add TinyFish to search providers table --- docs/integrations/websearch_interception.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/integrations/websearch_interception.md b/docs/integrations/websearch_interception.md index 6faaf81fb..c426377fc 100644 --- a/docs/integrations/websearch_interception.md +++ b/docs/integrations/websearch_interception.md @@ -184,6 +184,7 @@ Configure which search provider to use. LiteLLM supports multiple search provide | **Linkup** | `linkup` | `LINKUP_API_KEY` | | **Serper** | `serper` | `SERPER_API_KEY` | | **SearchAPI.io** | `searchapi` | `SEARCHAPI_API_KEY` | +| **TinyFish** | `tinyfish` | `TINYFISH_API_KEY` | See [Search Providers Documentation](../search/index.md) for detailed setup instructions. From b381594b553796f7bed6c6e4408ba198d9d8f09f Mon Sep 17 00:00:00 2001 From: Simantak Dabhade Date: Wed, 15 Jul 2026 15:16:10 -0700 Subject: [PATCH 2/4] docs(search): add TinyFish provider page and list it in search docs --- docs/search/index.md | 5 ++- docs/search/tinyfish.md | 81 +++++++++++++++++++++++++++++++++++++++++ sidebars.js | 1 + 3 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 docs/search/tinyfish.md diff --git a/docs/search/index.md b/docs/search/index.md index bf67a8ad8..29ed804f1 100644 --- a/docs/search/index.md +++ b/docs/search/index.md @@ -2,7 +2,7 @@ | Feature | Supported | |---------|-----------| -| Supported Providers | `perplexity`, `tavily`, `parallel_ai`, `exa_ai`, `brave`, `google_pse`, `dataforseo`, `firecrawl`, `searxng`, `linkup`, `duckduckgo`, `searchapi`, `serper`, `you_com`, `apiserpent` | +| Supported Providers | `perplexity`, `tavily`, `parallel_ai`, `exa_ai`, `brave`, `google_pse`, `dataforseo`, `firecrawl`, `searxng`, `linkup`, `duckduckgo`, `searchapi`, `serper`, `you_com`, `apiserpent`, `tinyfish` | | Cost Tracking | ✅ | | Logging | ✅ | | Load Balancing | ❌ | @@ -210,7 +210,7 @@ See the [official Perplexity Search documentation](https://docs.perplexity.ai/ap | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `query` | string or array | Yes | Search query. Can be a single string or array of strings | -| `search_provider` | string | Yes (SDK) | The search provider to use: `"perplexity"`, `"tavily"`, `"parallel_ai"`, `"exa_ai"`, `"brave"`, `"google_pse"`, `"dataforseo"`, `"firecrawl"`, `"searxng"`, `"linkup"`, `"duckduckgo"`, `"searchapi"`, `"serper"`, or `"you_com"` or `"apiserpent"` | +| `search_provider` | string | Yes (SDK) | The search provider to use: `"perplexity"`, `"tavily"`, `"parallel_ai"`, `"exa_ai"`, `"brave"`, `"google_pse"`, `"dataforseo"`, `"firecrawl"`, `"searxng"`, `"linkup"`, `"duckduckgo"`, `"searchapi"`, `"serper"`, `"you_com"`, `"apiserpent"`, or `"tinyfish"` | | `search_tool_name` | string | Yes (Proxy) | Name of the search tool configured in `config.yaml` | | `max_results` | integer | No | Maximum number of results to return (1-20). Default: 10 | | `search_domain_filter` | array | No | List of domains to filter results (max 20 domains) | @@ -281,6 +281,7 @@ The response follows Perplexity's search format with the following structure: | SearchAPI.io | `SEARCHAPI_API_KEY` | `searchapi` | | You.com | `YOUCOM_API_KEY` *(optional — omit for keyless free tier)* | `you_com` | | APISerpent | `APISERPENT_API_KEY` | `apiserpent` | +| TinyFish | `TINYFISH_API_KEY` | `tinyfish` | See the individual provider documentation for detailed setup instructions and provider-specific parameters. diff --git a/docs/search/tinyfish.md b/docs/search/tinyfish.md new file mode 100644 index 000000000..57e309df1 --- /dev/null +++ b/docs/search/tinyfish.md @@ -0,0 +1,81 @@ +# TinyFish Search + +**Get API Key:** [https://tinyfish.ai](https://tinyfish.ai) + +**API Docs:** [https://docs.tinyfish.ai/search-api](https://docs.tinyfish.ai/search-api) + +## LiteLLM Python SDK + +```python showLineNumbers title="TinyFish Search" +import os +from litellm import search + +os.environ["TINYFISH_API_KEY"] = "your-api-key" + +response = search( + query="latest AI developments", + search_provider="tinyfish", + max_results=5 +) +``` + +## LiteLLM AI Gateway + +### 1. Setup config.yaml + +```yaml showLineNumbers title="config.yaml" +model_list: + - model_name: gpt-5 + litellm_params: + model: gpt-5 + api_key: os.environ/OPENAI_API_KEY + +search_tools: + - search_tool_name: tinyfish-search + litellm_params: + search_provider: tinyfish + api_key: os.environ/TINYFISH_API_KEY +``` + +### 2. Start the proxy + +```bash +litellm --config /path/to/config.yaml + +# RUNNING on http://0.0.0.0:4000 +``` + +### 3. Test the search endpoint + +```bash showLineNumbers title="Test Request" +curl http://0.0.0.0:4000/v1/search/tinyfish-search \ + -H "Authorization: Bearer sk-1234" \ + -H "Content-Type: application/json" \ + -d '{ + "query": "latest AI developments", + "max_results": 5 + }' +``` + +## Provider-specific Parameters + +```python showLineNumbers title="TinyFish Search with Provider-specific Parameters" +import os +from litellm import search + +os.environ["TINYFISH_API_KEY"] = "your-api-key" + +response = search( + query="latest tech news", + search_provider="tinyfish", + max_results=10, # Capped at 20 + country="us", # Mapped to TinyFish's location parameter + search_domain_filter=["techcrunch.com", "theverge.com"], + # TinyFish-specific parameters + language="en", # Language code + page=2, # Page number + include_thumbnail=True # Include result thumbnails +) +``` + +Set `TINYFISH_API_BASE` to override the default API endpoint (`https://api.search.tinyfish.ai`). diff --git a/sidebars.js b/sidebars.js index b6bb1a5b8..34560152e 100644 --- a/sidebars.js +++ b/sidebars.js @@ -921,6 +921,7 @@ const sidebars = { "search/serper", "search/you_com", "search/apiserpent", + "search/tinyfish", ] }, "skills", From aa99f12f569b5667ff4fd355bff94aac37d0b04e Mon Sep 17 00:00:00 2001 From: Simantak Dabhade Date: Wed, 15 Jul 2026 15:57:05 -0700 Subject: [PATCH 3/4] docs(search): correct tinyfish max_results cap to match merged behavior --- docs/search/tinyfish.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/search/tinyfish.md b/docs/search/tinyfish.md index 57e309df1..3e865610c 100644 --- a/docs/search/tinyfish.md +++ b/docs/search/tinyfish.md @@ -68,7 +68,7 @@ os.environ["TINYFISH_API_KEY"] = "your-api-key" response = search( query="latest tech news", search_provider="tinyfish", - max_results=10, # Capped at 20 + max_results=5, # Capped at 10, enforced client-side country="us", # Mapped to TinyFish's location parameter search_domain_filter=["techcrunch.com", "theverge.com"], # TinyFish-specific parameters From 7f38503c950920af8e2ecba0306adba13a9039bb Mon Sep 17 00:00:00 2001 From: Simantak Dabhade Date: Wed, 15 Jul 2026 17:06:56 -0700 Subject: [PATCH 4/4] docs(search): use recency_minutes instead of include_thumbnail in tinyfish example --- docs/search/tinyfish.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/search/tinyfish.md b/docs/search/tinyfish.md index 3e865610c..5aa47a329 100644 --- a/docs/search/tinyfish.md +++ b/docs/search/tinyfish.md @@ -74,7 +74,7 @@ response = search( # TinyFish-specific parameters language="en", # Language code page=2, # Page number - include_thumbnail=True # Include result thumbnails + recency_minutes=1440 # Only results from the last N minutes ) ```