<!-- twin of https://specstream.ai/google-pse/cyberbro -->
# cyberbro Google search after January 1, 2027: one setting

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

cyberbro's Google engine searches the web for each observable through Google's Custom Search JSON API. Google closed that API to new customers and ends it on January 1, 2027.

Set `GOOGLE_CSE_URL=https://api.specstream.ai/customsearch/v1` in cyberbro's `.env`, put a SpecStream key in `GOOGLE_CSE_KEY` and any value in `GOOGLE_CSE_CX`. cyberbro's own Google engine read 10 results this way on November 10, 2026.

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.

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

## cyberbro's Google engine on SpecStream and Google's own options, from each company's pages and cyberbro's source on Nov 10, 2026

| | SpecStream | Google Custom Search | Agent Search (Vertex AI Search) | Gemini API grounding |
|---|---|---|---|---|
| cyberbro settings | `GOOGLE_CSE_URL=https://api.specstream.ai/customsearch/v1`, `GOOGLE_CSE_KEY` your SpecStream key, `GOOGLE_CSE_CX` any value | `GOOGLE_CSE_URL` left at `https://www.googleapis.com/customsearch/v1`, with a Google key and engine ID | No cyberbro setting. A separate Google Cloud API with its own request | No cyberbro setting. A Gemini model call |
| 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 a free trial of 10,000 queries a month | Yes, with 5,000 free search requests a month on Gemini 3 and newer |
| 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.50 per 1,000 queries on Search Standard Edition, $4.00 on Enterprise Edition | $14 per 1,000 search requests, billed for each query the model decides to run |
| Limit | No limit per key and no daily limit. A busy call gets a `429` with `Retry-After` and is not charged | 10,000 queries a day | Up to 50 domains, in Google's words | 1,500 requests a day per project by default |
| What comes back | `items[]` with `title`, `link` and `snippet` and `searchInformation.totalResults`, the fields cyberbro reads | The URL, title and text snippets of each result, in Google's own format | A different API: a `POST` to an engine's servingConfigs search | A model answer grounded in the search, with a search suggestions snippet in HTML |
| 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 | The Programmable Search Engine you configured | The domains you give it | Google Search, through the model |

## Why cyberbro users point the Google engine at SpecStream

### The change is one line in .env

cyberbro is "a simple application that extracts your IoCs from garbage input and checks their reputation using multiple services", and its Google engine finds pages that mention each one. The engine calls `GOOGLE_CSE_URL` when it is set and Google's address when it is empty. Before and after, in `.env`:

```
# .env, before
GOOGLE_CSE_CX=<your engine ID>
GOOGLE_CSE_KEY=<your Google key>
GOOGLE_CSE_URL=https://www.googleapis.com/customsearch/v1
```

```
# .env, after
GOOGLE_CSE_CX=any
GOOGLE_CSE_KEY=<your SpecStream key>
GOOGLE_CSE_URL=https://api.specstream.ai/customsearch/v1
```

The engine needs both a key and an engine ID before it runs, so give `GOOGLE_CSE_CX` any value: SpecStream accepts `cx` and does not use it. Restart cyberbro so it reads `.env` again.

### Google's JSON, so the engine's parser reads it

For each observable the engine sends `key`, `cx` and `q`, with the observable in quotes after any dorks. It reads `items[]`, taking `title`, `snippet` and `link` from each, and `searchInformation.totalResults` for the count. SpecStream returns those fields in Google's shape, and a search operator such as `site:` in `q` holds on every result.

The call the engine makes for a domain, in Python with requests:

```
import os, requests

reply = requests.get(
    "https://api.specstream.ai/customsearch/v1",
    params={"key": os.environ["SPECSTREAM_API_KEY"], "cx": "any", "q": '"example.com"'},
).json()

print(reply["searchInformation"]["totalResults"])
for item in reply["items"]:
    print(item["title"], item["link"], item["snippet"])
```

The route honours `q`, `num`, `start`, `hq`, `exactTerms`, `orTerms`, `excludeTerms`, `siteSearch` and `siteSearchFilter`. Every parameter and field is in the [Google Custom Search guide](https://specstream.ai/migrate/google-custom-search?utm_source=alternatives&utm_campaign=google-pse-cyberbro).

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

A search of up to 10 results costs $0.005, so a batch of 200 observables costs $1. 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. A call stopped by a `429` charges nothing.

### The most accurate web search API

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

### Nothing kept from an investigation, on a key you choose

Observables from an incident are sensitive. A key made with `zero_retention` keeps no request text and no answer after the reply, and `spend_cap_cents` sets 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": "cyberbro", "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-cyberbro) 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-cyberbro) returns every match for a request in plain words as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value, and the most a run can cost is approved before it starts. More Custom Search clients are on [the open-source apps page](https://specstream.ai/google-custom-search-api-open-source-apps?utm_source=alternatives&utm_campaign=google-pse-cyberbro).

## Other options for cyberbro's Google engine

### Google Custom Search, until January 1, 2027

Existing customers can keep Google's address in `GOOGLE_CSE_URL` until the API ends: $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, behind one line.

### Agent Search (Vertex AI Search)

Google's named alternative, for searching up to 50 domains, at $1.50 per 1,000 queries on Standard Edition. It is a different API, so cyberbro's engine cannot call it. SpecStream searches the whole live web for an observable and answers the call the engine already sends.

### Gemini API grounding

A Gemini model searches Google and writes an answer, at $14 per 1,000 search requests after 5,000 free a month, with 1,500 requests a day per project by default. cyberbro needs a list of pages to show, and SpecStream returns that list at $5 per 1,000.

## How to move cyberbro's Google engine 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 the engine will send. A `200` with `items` means cyberbro gets the same.

```
curl "https://api.specstream.ai/customsearch/v1?key=$SPECSTREAM_API_KEY&cx=any&q=%22example.com%22"
```

3. Set the three lines in cyberbro's `.env`:

```
GOOGLE_CSE_CX=any
GOOGLE_CSE_KEY=<your SpecStream key>
GOOGLE_CSE_URL=https://api.specstream.ai/customsearch/v1
```

4. Restart cyberbro and analyze an observable with the Google engine selected. Each search shows in your SpecStream request log with its price.

## Frequently asked questions

### Why will cyberbro's Google engine stop working?

Google ends the Custom Search JSON API on January 1, 2027 and already closed it to new customers, so a new cyberbro install gets no key for it. With `GOOGLE_CSE_URL=https://api.specstream.ai/customsearch/v1` and a SpecStream key the engine keeps searching.

### What is GOOGLE_CSE_URL in cyberbro?

It is the address the Google engine calls, `https://www.googleapis.com/customsearch/v1` by default. Set it to `https://api.specstream.ai/customsearch/v1` and the same engine reads SpecStream's results, as it did on November 10, 2026.

### What goes in GOOGLE_CSE_KEY and GOOGLE_CSE_CX?

Your SpecStream key goes in `GOOGLE_CSE_KEY`, and `GOOGLE_CSE_CX` takes any value, because SpecStream accepts `cx` and does not use it. A new account starts with $10 of credit, no card.

### What is the best Google Custom Search replacement for cyberbro?

SpecStream, at $5 per 1,000 searches with no daily limit and 97.9 F-score on all 1,000 SimpleQA Verified questions. It answers the engine's own Google call in Google's JSON, so one setting moves it.

### How much does cyberbro's Google engine cost on SpecStream?

$0.005 a search, one search per observable, or $5 per 1,000. Credit you buy never expires.

### Is there a daily limit?

No. Google allows 10,000 queries a day; SpecStream has no daily limit and no limit per key.

## Sources

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

- [cyberbro README](https://raw.githubusercontent.com/stanfrbd/cyberbro/main/README.md), read Nov 10, 2026
- [cyberbro, engines/google.py](https://raw.githubusercontent.com/stanfrbd/cyberbro/main/engines/google.py), read Nov 10, 2026
- [cyberbro, utils/config.py](https://raw.githubusercontent.com/stanfrbd/cyberbro/main/utils/config.py), read Nov 10, 2026
- [Google Custom Search JSON API overview](https://developers.google.com/custom-search/v1/overview), read Nov 10, 2026
- [Google Custom Search, using REST](https://developers.google.com/custom-search/v1/using_rest), read Nov 10, 2026
- [Agent Search pricing, Google Cloud](https://cloud.google.com/generative-ai-app-builder/pricing), read Nov 10, 2026
- [Agent Search servingConfigs search reference](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines.servingConfigs/search), read Nov 10, 2026
- [Grounding with Google Search, Gemini API](https://ai.google.dev/gemini-api/docs/google-search), read Nov 10, 2026
- [Gemini API pricing](https://ai.google.dev/gemini-api/docs/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
