<!-- twin of https://specstream.ai/migrate/searchapi-google-images -->
# SearchApi Google Images compatible: change the address

Compared on Nov 10, 2026. The page: https://specstream.ai/migrate/searchapi-google-images

SearchApi's Developer plan is $40 a month for 10,000 searches, and a plan spends at most 20% of its credits in an hour. Since November 10, 2026, SpecStream answers the same `engine=google_images` call in SearchApi's JSON at $0.005 a search, with no plan.

The switch is the base address: `https://api.specstream.ai/searchapi` where your code has `https://www.searchapi.io`. The key goes where it went, as `api_key` or `Authorization: Bearer`, now a SpecStream key.

An image search of up to 10 results costs $0.005, the price of a web search, with no daily limit. A new account gets $10 of credit, no card, which covers 2,000 image searches.

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

## SearchApi Google Images to SpecStream, parameter by parameter and field by field

| | SpecStream | SearchApi |
|---|---|---|
| Address | `GET https://api.specstream.ai/searchapi/api/v1/search?engine=google_images` | `GET https://www.searchapi.io/api/v1/search?engine=google_images` |
| The key | A SpecStream key as `api_key` or `Authorization: Bearer` | A SearchApi key as `api_key` or `Authorization: Bearer` |
| Paging | `page` from 1, in pages of `num` (10 when unset, up to 100) | `page`, 1 by default |
| Each image | `position`, `title`, `source` {`name`, `link` (the page the image is on)} and `original.link` (the image). `original.width`, `original.height` and `thumbnail` when the search engines give them | `images[]` with `position`, `title`, `source` {`name`, `link`}, `original` {`link`, `width`, `height`} and `thumbnail` |
| Hourly use | No limit per key and no daily limit. A busy call gets `429` with `Retry-After` and is not charged | Up to 20% of the plan's credits each hour |
| Zero retention | `zero_retention` on any key | `zero_retention` on the Enterprise plan |
| Price | $0.005 a search of up to 10 images, $5 per 1,000, with no plan | Developer $40 a month for 10,000 searches ($4 per 1,000). Production $100 a month ($3 per 1,000) |
| Free to start | $10 of credit, no card, which covers 2,000 image searches | 100 free requests, no card |

## The SearchApi Google Images reference, on SpecStream

### The call, before and after

```
# Before
curl -G "https://www.searchapi.io/api/v1/search" -d engine=google_images \
  --data-urlencode "q=koi pond" -H "Authorization: Bearer $SEARCHAPI_API_KEY"

# After
curl -G "https://api.specstream.ai/searchapi/api/v1/search" -d engine=google_images \
  --data-urlencode "q=koi pond" -H "Authorization: Bearer $SPECSTREAM_API_KEY"
```

The path, `engine`, the key's place and the parser stay. `engine=google` at the same address answers SearchApi's web search with the same key.

### What the route reads, and what it refuses

Read and applied: `q`, `gl` for the country, `hl` for the language, `safe`, `num` from 1 to 100 and `page` from 1. `search_parameters` echoes `device`, `location`, `uule`, `gl`, `hl`, `lr`, `cr`, `safe` and `time_period` as you sent them.

Refused, in SearchApi's `{"error", "reason"}` form: another engine, such as `engine=bing`, gets `400` with the engines this address answers; a call with no key gets `401`; a `num` outside 1 to 100 or a `page` below 1 gets `400` naming the range.

### Every field that comes back

`search_metadata` carries `id`, `status` and `total_time_taken`. `search_parameters` carries `engine`, `q`, the fields above, and `page` past the first page. `search_information` carries `query_displayed`. Each of `images[]` has `position`, counted across pages, `title`, `source` with `name` and `link` for the page the image is on, and `original` with `link` for the image itself.

`original.width`, `original.height` and `thumbnail` are there when the search engines give them, and absent otherwise; the route never fills them in. One field is added, `specstream`, with the call's price. Left out of each reply: `related_content_id`, `suggestions` and `related_searches`.

### One price a search, no hourly share

On SearchApi the plan sets the searches a month and the share of them an hour can use. On SpecStream an image search of up to 10 results is $0.005, the same as a web search. `num` asks for up to 100, and each started block of 10 more adds $0.006, so `num=100` costs $0.059. There is no plan to renew and no daily limit, and credit you buy never expires. A busy call gets `429` in SearchApi's form with `Retry-After` and charges nothing.

### What is kept, set on the key

A key made with `zero_retention` keeps no request text and no answer once the reply is sent, on image searches as on every other call. `spend_cap_cents` sets the most that key can spend, so a loop in a SearchApi client cannot run past it.

```
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}'
```

### Images, web, news and pages on one key

The results come from the image search of several engines at once, one result for each image address. The same key answers SearchApi's Google web search at the same address (the [SearchApi migration](https://specstream.ai/migrate/searchapi?utm_source=alternatives&utm_campaign=migrate-searchapi-google-images) has every web field), and SerpApi's, Serper's and Google Custom Search's image calls too (see the [SerpApi Google Images](https://specstream.ai/migrate/serpapi-google-images?utm_source=alternatives&utm_campaign=migrate-searchapi-google-images) and [Google image search](https://specstream.ai/migrate/google-image-search?utm_source=alternatives&utm_campaign=migrate-searchapi-google-images) migrations).

The [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=migrate-searchapi-google-images) reads the page behind each `source.link`, up to 20 pages a call 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=migrate-searchapi-google-images) 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.

On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct, and on WideSearch 64.0 item F1 and 43.4 row F1 on all 200 official 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=migrate-searchapi-google-images) page.

## What else SearchApi Google Images users price

### SerpApi

A plan per month: Starter is $25 for 1,000 searches, 200 an hour, and the free plan has 250 searches a month. SpecStream answers SerpApi's `engine=google_images` call at $0.005 with no plan ([SerpApi Google Images migration](https://specstream.ai/migrate/serpapi-google-images?utm_source=alternatives&utm_campaign=migrate-searchapi-google-images)).

### Serper

Google results sold in credit packs from $1.00 per 1,000 for 50,000 credits, valid for 6 months, with 2,500 free queries. SpecStream credit never expires, and the same key answers Serper's `/images` call ([Serper images migration](https://specstream.ai/migrate/serper-images?utm_source=alternatives&utm_campaign=migrate-searchapi-google-images)).

### Brave Search API

$5 per 1,000 requests, images included, up to 50 queries per second, with $5 in free credits every month. SpecStream answers Brave's `/res/v1/images/search` ([Brave image search migration](https://specstream.ai/migrate/brave-image-search?utm_source=alternatives&utm_campaign=migrate-searchapi-google-images)).

## How to migrate, step by step

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

2. Set the address to `https://api.specstream.ai/searchapi/api/v1/search` where your code has `https://www.searchapi.io/api/v1/search`, and send the SpecStream key as `api_key` or a Bearer token. In Python:

```
import requests

URL = "https://api.specstream.ai/searchapi/api/v1/search"  # was https://www.searchapi.io/api/v1/search

reply = requests.get(URL, {"engine": "google_images", "q": "koi pond", "gl": "us", "hl": "en", "page": 1, "api_key": SPECSTREAM_KEY}, timeout=30)
reply.raise_for_status()
for image in reply.json()["images"]:
    original = image["original"]
    print(image["position"], original["link"], original.get("width"), original.get("height"), image["source"]["link"])
```

3. In JavaScript:

```
const url = new URL("https://api.specstream.ai/searchapi/api/v1/search");
url.search = new URLSearchParams({ engine: "google_images", q: "koi pond", page: "1" });
const reply = await fetch(url, { headers: { Authorization: `Bearer ${process.env.SPECSTREAM_KEY}` } });
const data = await reply.json();
for (const image of data.images) console.log(image.position, image.title, image.original.link, image.thumbnail ?? "");
```

4. Page with `page=2`, `page=3` and on. Read `429` as a call to send again after `Retry-After`. It is not charged.

## Frequently asked questions

### Is there a SearchApi Google Images alternative with the same JSON?

Yes. Since November 10, 2026, SpecStream answers `engine=google_images` at `https://api.specstream.ai/searchapi/api/v1/search` with `images[]` in SearchApi's shape. A search of up to 10 images costs $0.005.

### How much does SearchApi cost?

Developer is $40 a month for 10,000 searches, $4 per 1,000, and Production $100 a month at $3 per 1,000, with 100 free requests to start. SpecStream costs $5 per 1,000 image searches with no plan and no hourly share.

### How do I migrate from SearchApi Google Images?

Change one address: `https://www.searchapi.io` becomes `https://api.specstream.ai/searchapi`, and a SpecStream key goes in `api_key` or the Bearer header. `engine`, `q`, `gl`, `hl`, `safe`, `num` and `page` keep their meaning.

### Which image fields does SpecStream return?

Four on every image: `position`, `title`, `source` with `name` and `link`, and `original.link`. `original.width`, `original.height` and `thumbnail` come when the search engines give them.

### Which SearchApi image fields are left out?

Three: `related_content_id`, `suggestions` and `related_searches`.

### Can I turn off logging on every key?

Yes. `zero_retention` is a setting on any SpecStream key, from the first $10 of credit, where SearchApi offers it on its Enterprise plan.

## Sources

SpecStream wrote this page. Each SearchApi figure comes from SearchApi's own pages, and each other provider's figure from that company's own page, all read on Nov 10, 2026. The route's behavior comes from its code.

- [SearchApi pricing](https://www.searchapi.io/pricing), read Nov 10, 2026
- [SearchApi Google Images API](https://www.searchapi.io/docs/google-images), read Nov 10, 2026
- [SerpApi pricing](https://serpapi.com/pricing.md), read Nov 10, 2026
- [Serper](https://serper.dev/), read Nov 10, 2026
- [Brave Search API](https://brave.com/search/api/), 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
