<!-- twin of https://specstream.ai/programmable-search-engine-api-alternative -->
# Programmable Search Engine API alternative: same call, new host

Compared on Nov 10, 2026. The page: https://specstream.ai/programmable-search-engine-api-alternative

The Programmable Search Engine API, which Google calls the Custom Search JSON API, costs $5 per 1,000 queries after 100 free a day. It is closed to new customers and ends on January 1, 2027.

SpecStream answers the same call. Set the base address to `https://api.specstream.ai`, put a SpecStream key in `key=`, and `GET /customsearch/v1` returns Google's JSON from the whole live web, with no engine to configure.

It costs $5 per 1,000 searches and scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks ([benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=programmable-search-engine-api-alternative)).

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

## SpecStream next to Google's Programmable Search products

| | SpecStream | Programmable Search Engine API | Programmable Search Element | Vertex AI Search |
|---|---|---|---|---|
| What it is | The Search API of the live web data engine, answering Google's Custom Search call on its own path | The Custom Search JSON API: web and image results from a Programmable Search Engine, by program | A search box and results on your own websites | Google's Cloud search product, now titled Agent Search |
| What it searches | The whole live web, read at the moment of the call | The engine you configured under `cx` | At most 50 domains, for site-specific search | Up to 50 domains. For full web search, Google asks you to contact it |
| Status | Yes. The Custom Search route is live at `https://api.specstream.ai/customsearch/v1` | Closed to new customers. Existing customers have until January 1, 2027 | Stays. Google's blog says it is being simplified for search on your own websites | Google's named alternative to the JSON API, for up to 50 domains |
| The request | `GET /customsearch/v1?key=...&q=...&num=&start=`, as your code sends it today. `cx` is accepted and not used | `GET /customsearch/v1` with `q`, an API key and `cx` | A search element on your own websites | A `POST` to the Agent Search `servingConfigs.search` method in a Google Cloud project |
| The reply | Google's JSON: `kind` `customsearch#search`, `items[]` with `title`, `link`, `snippet` and `displayLink`, `searchInformation.totalResults` and `queries.nextPage` | `items[]` with the URL, title and text snippets of each result | A search experience on your own websites | The reply of the Agent Search `servingConfigs.search` method |
| Price | $5 per 1,000 searches of up to 10 results, $0.005 a call | $5 per 1,000 queries after 100 free a day, up to 10,000 a day | Free, Google's blog says, for up to 50 domains | $1.50 per 1,000 queries on Standard and $4.00 on Enterprise, plus data storage |

## Why developers move their Programmable Search Engine calls to SpecStream

### Your engine call, answered at a new address

Keep the path, the parameters and the parser. Change the host and the key.

```
# Before
curl "https://www.googleapis.com/customsearch/v1?key=$GOOGLE_KEY&cx=$CX&q=open+source+vector+databases"

# After
curl "https://api.specstream.ai/customsearch/v1?key=$SPECSTREAM_KEY&cx=$CX&q=open+source+vector+databases"
```

The reply carries `kind` `customsearch#search`, `queries` with `request` and `nextPage`, `searchInformation` and `items`, so the code that reads it does not change.

### No engine to configure

A Programmable Search Engine answers from the sites you set up under `cx`. SpecStream searches the whole live web and reads it at the moment of the call. `cx` is accepted and not used, so your request still works. Send `siteSearch` to keep a search to one site.

### What stays the same

`q`, `num` (1 to 10) and `start` work as before. `exactTerms`, `orTerms`, `siteSearch` and `hq` shape the search as they do on Google. The key goes in `key=`, in the `X-Goog-Api-Key` header or as a Bearer token.

### $5 per 1,000, with no cap of 10,000 a day

Google charges $5 per 1,000 queries and stops at 10,000 a day. SpecStream charges $5 per 1,000 searches of up to 10 results, up to 8,800 searches a minute on one account. A call stopped by a `429` charges nothing, and credit you buy never expires.

### 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=programmable-search-engine-api-alternative) page.

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

The Custom 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 gets a `429` with `Retry-After` and is not charged.

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

Create a key with `zero_retention` and a search made with it keeps no request text and no answer after the reply. It is not in the history and its log lines carry neither. 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=programmable-search-engine-api-alternative) 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=programmable-search-engine-api-alternative) takes a request in plain words and returns every match on the live web as structured rows, at 5¢, 15¢ or $1 a row, plus 5¢ for an email and 15¢ for a phone. The most a run can cost is quoted before it starts, and a saved request reruns hourly to yearly.

## Other Programmable Search Engine API alternatives

### Vertex AI Search (Agent Search)

Google's named alternative for up to 50 domains, at $1.50 per 1,000 queries on Standard and $4.00 on Enterprise, plus data storage, on a different endpoint. SpecStream answers your current call across the whole live web, at $5 per 1,000.

### Programmable Search Element

The search box Google keeps for your own websites, free for up to 50 domains. Google's blog says it is being simplified for focused search on your own websites. SpecStream returns Google's JSON from the whole live web to the code that calls it.

### Brave Search API

$5 per 1,000 requests, up to 50 queries a second, with $5 in free credits every month. Brave's own guide says moving to it means updating how you read the response. On SpecStream your parser stays.

### Perplexity Search API

Ranked web results as JSON at $5 per 1,000 requests, in Perplexity's own request and reply. SpecStream costs the same $5 per 1,000 and answers the Custom Search call you send today.

## How to move a Programmable Search Engine call to SpecStream

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

2. Set the base address to `https://api.specstream.ai` in place of `https://www.googleapis.com` or `https://customsearch.googleapis.com`, and send the SpecStream key in `key=`.

```
const base = "https://api.specstream.ai"; // was https://www.googleapis.com
const params = new URLSearchParams({ key: SPECSTREAM_KEY, cx: CX, q: "open source vector databases", num: "10" });
const reply = await fetch(`${base}/customsearch/v1?${params}`).then((r) => r.json());

for (const item of reply.items) console.log(item.title, item.link, item.snippet);
```

3. Leave `cx` in the request or take it out; it is not used. The route returns web results, so send calls without `searchType`.

## Frequently asked questions

### Is the Programmable Search Engine API being shut down?

Yes, on January 1, 2027. The API behind it, the Custom Search JSON API, is closed to new customers, and existing customers have until that date to move.

### How much does the Programmable Search Engine API cost?

$5 per 1,000 queries after 100 free queries a day, up to 10,000 a day, for existing customers. SpecStream answers the same call at $5 per 1,000 searches, with no cap of 10,000 a day.

### What is the difference between the Programmable Search Engine and the Custom Search JSON API?

The engine is the set of sites you configure; the Custom Search JSON API returns its results to your code as JSON. Google's blog says the Search Element stays for search on your own websites, while the JSON API ends on January 1, 2027.

### Do I need a search engine ID (cx) on SpecStream?

No. `cx` is accepted and not used, so a request that sends it works unchanged. SpecStream searches the whole live web, and `siteSearch` keeps a search to one site.

### What is the best Programmable Search Engine API alternative?

SpecStream, at $5 per 1,000 searches. It answers `GET /customsearch/v1` in Google's JSON, so the move is one changed line, and it scores 97.9 F-score on all 1,000 SimpleQA Verified questions.

### Can I get a Programmable Search Engine API key today?

No. Google's page says the API is not available for new customers. A SpecStream key takes a minute under Agents & API in the workspace, with $10 of credit and no card.

## Sources

SpecStream wrote this page. Each figure about Google and other providers comes from that company's own page.

- [Google Custom Search JSON API overview](https://developers.google.com/custom-search/v1/overview), read Nov 10, 2026
- [Google Custom Search JSON API reference, cse.list](https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list), read Nov 10, 2026
- [Google Custom Search JSON API, using REST](https://developers.google.com/custom-search/v1/using_rest), read Nov 10, 2026
- [Programmable Search Engine blog, January 20, 2026](https://programmablesearchengine.googleblog.com/2026/01/updates-to-our-web-search-products.html), read Nov 10, 2026
- [Google Cloud, Agent Search pricing](https://cloud.google.com/generative-ai-app-builder/pricing), read Nov 10, 2026
- [Google Cloud, 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
- [Brave Search API](https://brave.com/search/api/), read Nov 10, 2026
- [Brave, alternatives to the Google Search API](https://brave.com/learn/google-api-shutdown/), read Nov 10, 2026
- [Perplexity API pricing](https://docs.perplexity.ai/docs/getting-started/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
