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

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

LibreChat's `google` tool calls Google's Custom Search JSON API with `GOOGLE_SEARCH_API_KEY` and `GOOGLE_CSE_ID`. Google closed that API to new customers and ends it on January 1, 2027, and LibreChat fixes its address in code.

Change one setting. Move search to LibreChat's web search with `searchProvider: searxng` and set `SEARXNG_INSTANCE_URL=https://api.specstream.ai/searxng/YOUR_KEY`. Our test passed with that setting and nothing else changed.

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-librechat&utm_source=alternatives-md&utm_campaign=google-pse-librechat&returnTo=%2Fworkspace%2Fsearch%3Froute%3Dsearxng) New accounts get $10 of credit, no card. It covers 2,000 searches.

## Google search in LibreChat and what replaces it, from each company's own pages on Nov 10, 2026

| | SpecStream | Google (the google tool) | Serper | Tavily |
|---|---|---|---|---|
| Role in LibreChat | Search provider of LibreChat's web search, through the SearXNG setting | An agent tool named `google`, with its own two keys | Search provider and scraper | Search provider and scraper |
| Address setting in LibreChat | `SEARXNG_INSTANCE_URL`, in `.env` or as `searxngInstanceUrl` in `librechat.yaml` | None. The address is fixed in `GoogleSearch.js` at `www.googleapis.com/customsearch/v1` | None for search. The address is fixed in LibreChat's code at `google.serper.dev/search` | `TAVILY_SEARCH_URL`. A user can enter it only after the admin opts in |
| 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 2,500 free queries | 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 | $1.00 per 1,000 in the pack of 50,000 credits | $0.008 a credit on pay as you go. A basic search is 1 credit and an advanced search 2 |
| How long it lasts | Credit you buy never expires | Until January 1, 2027, when Google ends the API | Credits are valid for 6 months | Credits reset on the first day of each month |
| Limit | No daily limit. Up to 8,800 searches a minute on one account | 10,000 queries a day | 300 queries per second on the largest pack | On a monthly plan, requests stop when the month's credits run out |

## Why LibreChat admins move Google search to SpecStream

### The change is one address in the config you already have

LibreChat's web search reads its search provider from `librechat.yaml`, and the instance URL from `.env`. SpecStream answers SearXNG's JSON, so LibreChat's SearXNG provider runs on SpecStream with the key inside the address.

```
# librechat.yaml
webSearch:
  searchProvider: searxng
  searxngInstanceUrl: '${SEARXNG_INSTANCE_URL}'
  # your scraper and reranker stay as they are

# .env: the two Google lines go, one line comes in
# GOOGLE_SEARCH_API_KEY=...
# GOOGLE_CSE_ID=...
SEARXNG_INSTANCE_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY
```

LibreChat adds `/search` to the instance URL and asks for JSON. This is the call it sends, and SpecStream answers `results[]` with `title`, `url` and `content`:

```
curl "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=latest+LibreChat+release&format=json"
```

The key is in the address, so leave `SEARXNG_API_KEY` empty. The [LibreChat web search setup](https://specstream.ai/web-search/librechat?utm_source=alternatives&utm_campaign=google-pse-librechat) page shows the scraper side on the same key.

### What you see when the Google key fails

`GoogleSearch.js` sends the key and `cx` to `https://www.googleapis.com/customsearch/v1`. When Google refuses the call, the tool throws `Request failed with status` followed by the status code and Google's error message, and the agent gets no results.

Google closed the API to new customers, so a new Google Cloud project gets no key to put in `GOOGLE_SEARCH_API_KEY`. Moving to the SearXNG provider ends the dependency on that key.

### Let each user bring a key

Leave `SEARXNG_INSTANCE_URL` out of `.env` and LibreChat asks each user for it in the chat interface. Each user pastes `https://api.specstream.ai/searxng/` followed by their own SpecStream key, and each search is billed to that key.

### $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. 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-librechat) page.

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

The SearXNG 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 LibreChat 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-librechat) 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-librechat) 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 LibreChat

### Google, until January 1, 2027

Existing customers can keep the `google` tool until Google ends the API: $5 per 1,000 queries after 100 free a day, up to 10,000 a day. A new project gets no key. 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 LibreChat's SearXNG setting.

### Serper

Search sold in credit packs: $1.00 per 1,000 in the pack of 50,000, with credits valid for 6 months and 2,500 free queries to start. LibreChat fixes Serper's search address in its code. SpecStream credit never expires.

### Tavily

Search and extract billed in credits at $0.008 each on pay as you go, with 1,000 free credits a month that reset on the first day of each month. SpecStream charges $0.005 a search from a balance that never resets.

### Firecrawl

The scraper LibreChat names first. Its search costs 2 credits per 10 results and the Hobby plan is $19 a month. On SpecStream the search and the page reads run on one key, at $0.005 a search and $0.80 per 1,000 pages.

## How to move LibreChat from Google search 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 with the call LibreChat will send. A `200` with `results` means LibreChat gets the same.

```
curl "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=test&format=json"
```

3. In `.env`, remove `GOOGLE_SEARCH_API_KEY` and `GOOGLE_CSE_ID` and add the instance URL.

```
SEARXNG_INSTANCE_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY
```

4. In `librechat.yaml`, under `webSearch`, set `searchProvider: searxng`. Keep your scraper and reranker.

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

## Frequently asked questions

### Why is Google search not working in LibreChat?

Google closed the Custom Search JSON API to new customers and ends it on January 1, 2027. A new project gets no key, and the `google` tool throws `Request failed with status` with Google's error. Set `SEARXNG_INSTANCE_URL` to SpecStream and search works again.

### What is the best Google PSE alternative for LibreChat?

SpecStream, at $5 per 1,000 searches with no daily limit and 97.9 F-score on all 1,000 SimpleQA Verified questions. It runs as LibreChat's SearXNG search provider with one line in `.env`.

### Can I change the Google address in LibreChat?

No. `GoogleSearch.js` fixes the address at `https://www.googleapis.com/customsearch/v1`. LibreChat's SearXNG provider takes an address, and `https://api.specstream.ai/searxng/YOUR_KEY` answers it.

### What replaces GOOGLE_SEARCH_API_KEY and GOOGLE_CSE_ID?

One line: `SEARXNG_INSTANCE_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY`, with `searchProvider: searxng` in `librechat.yaml`. There is no engine ID: SpecStream searches the whole live web.

### How much does LibreChat web search cost with SpecStream?

$0.005 a search of up to 10 results, or $5 per 1,000. Credit you buy never expires, and a new account starts with $10 of credit, which covers 2,000 searches.

### Do I need to host a SearXNG instance?

No. SpecStream answers SearXNG's JSON at `https://api.specstream.ai/searxng`, so there is no instance to run and no JSON output to turn on. Each search is $0.005.

## Sources

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

- [LibreChat Google tool, GoogleSearch.js](https://github.com/danny-avila/LibreChat/blob/main/api/app/clients/tools/structured/GoogleSearch.js), read Nov 10, 2026
- [LibreChat config.ts](https://github.com/danny-avila/LibreChat/blob/main/packages/data-provider/src/config.ts), read Nov 10, 2026
- [LibreChat .env.example](https://github.com/danny-avila/LibreChat/blob/main/.env.example), read Nov 10, 2026
- [LibreChat agents search.ts](https://github.com/danny-avila/agents/blob/main/src/tools/search/search.ts), read Nov 10, 2026
- [LibreChat web.ts](https://github.com/danny-avila/LibreChat/blob/main/packages/api/src/web/web.ts), 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
- [Serper](https://serper.dev/), 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
- [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
