<!-- twin of https://specstream.ai/google-pse/open-webui -->
# Open WebUI: Google PSE stops on January 1, 2027. The setting to change

Compared on Nov 10, 2026. The page: https://specstream.ai/google-pse/open-webui

Open WebUI's Google PSE engine calls Google's Custom Search JSON API, which is closed to new customers and ends for existing customers on January 1, 2027. Open WebUI fixes that address in its code, so no field moves it.

Change one setting. In Admin Settings, Web Search, set Web Search Engine from `google_pse` to `external`, External Web Search URL to `https://api.specstream.ai/openwebui/search`, and paste a SpecStream key in External Web Search API Key.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and costs $5 per 1,000 searches, with no daily limit. A new account gets $10 of credit, no card, which covers 2,000 searches.

[Get an API key](https://specstream.ai/signup?src=alternatives-google-pse-open-webui&utm_source=alternatives-md&utm_campaign=google-pse-open-webui&returnTo=%2Fworkspace%2Fsearch%3Froute%3Dopenwebui) New accounts get $10 of credit, no card. It covers 2,000 searches.

## Google PSE and the engines that replace it in Open WebUI, from each company's own pages on Nov 10, 2026

| | SpecStream | Google PSE | Brave Search API | Tavily |
|---|---|---|---|---|
| What you set in Open WebUI | Web Search Engine `external`, External Web Search URL and External Web Search API Key. The SearXNG engine also takes a SpecStream address | Google PSE API Key and Google PSE Engine Id. The address is fixed in Open WebUI's code at `www.googleapis.com/customsearch/v1` | An API key only. The address is fixed in Open WebUI's code | An API key in the admin settings. The address changes only through the `TAVILY_API_BASE_URL` environment variable |
| Open to a new account | Yes. Create a key and start with $10 of credit, no card | No. Closed to new customers, and existing customers have until January 1, 2027 | Yes, with $5 in free credits every month | Yes, with 1,000 free credits every month |
| Price per 1,000 searches | $5, with up to 10 results a search | $5 per 1,000 queries after 100 free queries a day, for existing customers only | $5 per 1,000 requests | $0.008 a credit on pay as you go. A basic search is 1 credit and an advanced search 2 |
| Limit | No daily limit. Up to 8,800 searches a minute on one account | 10,000 queries a day | 50 queries per second | On a monthly plan, requests stop when the month's credits run out |
| Reading the result pages | External Web Loader URL `https://api.specstream.ai/openwebui/loader`. Each batch of up to 20 pages is one Extract API call at $0.80 per 1,000 pages | Search only. Open WebUI has no Google loader | Search only. Open WebUI has no Brave loader | A Tavily loader. A basic extract costs 1 credit for every 5 successful URLs |
| What answers the search | The whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions, 978 correct | The Programmable Search Engine you configured | Brave's own index. Its page publishes 85.3% accuracy on FreshQA | Tavily's search. Its own post reports 97.6% on SimpleQA |

## Why Open WebUI admins move Google PSE to SpecStream

### The change is one engine and two fields

Open WebUI's External engine posts each search to the URL you give it, with the key as a Bearer token, and reads back a list of links, titles and snippets. SpecStream answers that call at `/openwebui/search`. Set it in the admin settings, or as environment variables when you deploy.

```
# Admin settings, Web Search
Web Search Engine            google_pse  ->  external
External Web Search URL      https://api.specstream.ai/openwebui/search
External Web Search API Key  your SpecStream key

# The same as environment variables
ENABLE_WEB_SEARCH=true
WEB_SEARCH_ENGINE=external
EXTERNAL_WEB_SEARCH_URL=https://api.specstream.ai/openwebui/search
EXTERNAL_WEB_SEARCH_API_KEY=$SPECSTREAM_API_KEY
```

This is the call Open WebUI sends, and the shape it reads back:

```
curl -X POST https://api.specstream.ai/openwebui/search \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"query": "Who founded Mistral AI and when?", "count": 3}'

# [{"link": "https://...", "title": "...", "snippet": "..."}, ...]
```

`GOOGLE_PSE_API_KEY` and `GOOGLE_PSE_ENGINE_ID` can stay where they are. Open WebUI reads them only while the engine is `google_pse`.

### What you see when the Google key fails

Open WebUI's `google_pse.py` sends `key` and `cx` to `https://www.googleapis.com/customsearch/v1` and calls `raise_for_status()` on the reply. A key Google refuses ends the search with an HTTP error, and the chat answers without web results. On November 2, 2025 a user reported in [issue 18870](https://github.com/open-webui/open-webui/issues/18870): "I get 403 from Google in the exception stack from Open WebUI."

Google closed the API to new customers, so a new Google Cloud project gets no key for it. [Issue 20961](https://github.com/open-webui/open-webui/issues/20961) quotes Google's January 1, 2027 date and calls the Google PSE option "useless now". A new engine setting fixes it: a new Google key is not on offer.

### Or keep a SearXNG engine with no instance to host

If your Open WebUI runs the SearXNG engine, set Searxng Query URL to SpecStream's SearXNG route with your key in the address. Open WebUI adds nothing to the URL, so it ends in `/search`. The reply is SearXNG's JSON: `results[]` with `title`, `url` and `content`.

```
Web Search Engine   searxng
Searxng Query URL   https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY/search
```

### $5 per 1,000 searches, with no daily limit

A search of up to 10 results costs $0.005, and each started block of 10 more results adds $0.006. Open WebUI asks for 3 results a search unless you change the result count. There is no monthly plan and no daily limit. Credit you buy never expires, and a new account starts with $10 of credit, which covers 2,000 searches.

### The most accurate web search API in the world

On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct. On WideSearch it scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=google-pse-open-webui) page.

### About one second a search, measured under load

The External search route runs on the fast search. On November 9, 2026 production took 1, 5, 10 and 20 fast searches a second and answered 718 of 720. The median was 0.82 s at 1 search a second and 1.07 s at 20 a second, and the 95th percentile stayed between 1.09 and 1.73 s. One account can send up to 8,800 searches a minute; a call over that is answered with `Retry-After` and is not charged.

### You decide what is kept, on each key

Give Open WebUI a key with `zero_retention` and a search made with it keeps no request text and no answer after the reply. The charge keeps the account, the key, the request ID, the price and the time. `spend_cap_cents` is the most the key can spend.

```
curl -X POST https://api.specstream.ai/v1/account/keys \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'
```

### Search, pages and rows on one key

The same key reads up to 20 pages or documents a call with the [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=google-pse-open-webui) at $0.80 per 1,000 pages, and a page with no text is not charged. [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=google-pse-open-webui) takes a request in plain words and returns every match on the live web as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value. The most a run can cost is quoted before it starts.

## Other Google PSE alternatives for Open WebUI

### Google PSE, until January 1, 2027

Existing customers can keep the engine until Google ends the API: $5 per 1,000 queries after 100 free a day, up to 10,000 a day. After that date the engine has no API to call. SpecStream costs the same $5 per 1,000, with no daily limit, and takes a new account today.

### Vertex AI Search

Google's named alternative, for searching up to 50 domains, at $1.50 per 1,000 queries on Standard and $4.00 on Enterprise. For full web search Google asks you to contact it. SpecStream searches the whole live web from the first call, at $5 per 1,000.

### Brave Search API

A search API on Brave's own index at $5 per 1,000 requests, with $5 in free credits every month and 50 queries per second. Open WebUI fixes Brave's address in its code and has no Brave loader. SpecStream does search and loader from one key.

### Tavily

Search billed in credits at $0.008 each on pay as you go, with 1,000 free credits a month. A basic search is 1 credit and an advanced search 2. SpecStream charges $0.005 a search, with no monthly reset.

### Firecrawl

Search and scraping billed in credits. Search costs 2 credits per 10 results, the free plan holds 500 searches, and the Hobby plan is $19 a month. SpecStream has no plan to buy: each search is $0.005 from your balance.

## How to move Open WebUI from Google PSE to SpecStream

1. Create a key under Agents & API in the SpecStream workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.

2. Check the key from a terminal with the call Open WebUI will send.

```
curl -X POST https://api.specstream.ai/openwebui/search \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"query": "latest Open WebUI release", "count": 3}'
```

3. In Open WebUI, open Admin Settings and go to Web Search. Change Web Search Engine from `google_pse` to `external`, set External Web Search URL to `https://api.specstream.ai/openwebui/search` and paste the key in External Web Search API Key. Save.

4. To have SpecStream read the result pages too, set Web Loader Engine to `external`, External Web Loader URL to `https://api.specstream.ai/openwebui/loader` and the same key in External Web Loader API Key.

5. Start a chat, turn on web search and ask a question. Each search shows up in your SpecStream request log with its price.

## Frequently asked questions

### Why is Google PSE not working in Open WebUI?

Google closed the Custom Search JSON API to new customers and ends it for existing customers on January 1, 2027. A new project gets no key, and Open WebUI raises the HTTP error Google returns. Switch the engine to `external` with SpecStream's URL and search works again.

### What is the best Google PSE alternative for Open WebUI?

SpecStream, at $5 per 1,000 searches with no daily limit and 97.9 F-score on all 1,000 SimpleQA Verified questions. It plugs into Open WebUI's External search and loader, and into its SearXNG engine.

### Can I change the Google PSE address in Open WebUI?

No. Open WebUI's `google_pse.py` fixes the address at `https://www.googleapis.com/customsearch/v1`, and no setting changes it. Change the engine to `external` and set External Web Search URL to `https://api.specstream.ai/openwebui/search`.

### Why does Open WebUI web search return 403 with Google Custom Search?

Google refused the key. A user reported "403 from Google in the exception stack" on November 2, 2025, and the API is closed to new customers. A SpecStream key works in the External engine at once, with $10 of credit on a new account.

### How much does web search in Open WebUI cost with SpecStream?

$0.005 a search of up to 10 results, and Open WebUI asks for 3 by default. Reading the result pages with the External loader costs $0.80 per 1,000 pages.

### Which Open WebUI environment variables replace GOOGLE_PSE_API_KEY?

Three: `WEB_SEARCH_ENGINE=external`, `EXTERNAL_WEB_SEARCH_URL=https://api.specstream.ai/openwebui/search` and `EXTERNAL_WEB_SEARCH_API_KEY` with your SpecStream key, with `ENABLE_WEB_SEARCH=true`.

### Is Google Programmable Search shutting down?

The Custom Search JSON API that Open WebUI calls ends on January 1, 2027, and it is already closed to new customers. Google names Vertex AI Search for up to 50 domains.

### Is there a SpecStream tool for Open WebUI?

Yes. "SpecStream: web search and page reading" is in Open WebUI's community tools: https://openwebui.com/posts/eab5434f-b55c-4166-b145-892a1b343b2d. It gives the model search and page reading as a tool it can call. The setting on this page makes SpecStream the web search of every chat.

## Sources

SpecStream wrote this page. Open WebUI's settings come from its source and issues on GitHub, and each provider's figure from that company's own page.

- [Open WebUI Google PSE engine, google_pse.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/retrieval/web/google_pse.py), read Nov 10, 2026
- [Open WebUI config.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/config.py), read Nov 10, 2026
- [Open WebUI external search, external.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/retrieval/web/external.py), read Nov 10, 2026
- [Open WebUI web search settings, WebSearch.svelte](https://github.com/open-webui/open-webui/blob/main/src/lib/components/admin/Settings/WebSearch.svelte), read Nov 10, 2026
- [Open WebUI issue 18870, Google PSE gives 403](https://github.com/open-webui/open-webui/issues/18870), read Nov 10, 2026
- [Open WebUI issue 20961, Google PSE](https://github.com/open-webui/open-webui/issues/20961), read Nov 10, 2026
- [Google Custom Search JSON API overview](https://developers.google.com/custom-search/v1/overview), read Nov 10, 2026
- [Vertex AI Search pricing](https://cloud.google.com/generative-ai-app-builder/pricing), read Nov 10, 2026
- [Brave Search API](https://brave.com/search/api/), read Nov 10, 2026
- [Tavily API credits](https://docs.tavily.com/documentation/api-credits.md), read Nov 10, 2026
- [Tavily pricing](https://tavily.com/pricing), read Nov 10, 2026
- [Tavily, SealQA and SimpleQA post](https://www.tavily.com/blog/tavily-ranks-1-on-sealqa-and-simpleqa), read Nov 10, 2026
- [Firecrawl pricing](https://www.firecrawl.dev/pricing), read Nov 10, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
- [SpecStream pricing](https://specstream.ai/pricing), read Nov 10, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 10, 2026
