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

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

SerpApi's Starter plan is $25 a month for 1,000 searches, 200 an hour. Since November 10, 2026, SpecStream answers the same `engine=google_images` call, and `tbm=isch`, in SerpApi's JSON at $0.005 a search with no plan.

The switch is the base address: `https://api.specstream.ai/serpapi` where your code has `https://serpapi.com`, and a SpecStream key as `api_key`. Your web, news and image calls then go to one address, as they did on SerpApi.

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

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

| | SpecStream | SerpApi |
|---|---|---|
| Address | `GET https://api.specstream.ai/serpapi/search.json` | `GET https://serpapi.com/search?engine=google_images` |
| The key | A SpecStream key as `api_key` in the address | A SerpApi key as `api_key` in the address |
| Engines | `engine=google_images`, and `engine=google` with `tbm=isch`. Web and Google News calls answer at the same address | One `/search` path, the engine chosen by `engine` |
| Each image | `position`, `source`, `title`, `link` (the page the image is on) and `original` (the image). `thumbnail`, `original_width` and `original_height` when the search engines give them | `images_results[]` with `position`, `thumbnail`, `source`, `title`, `link`, `original`, `original_width` and `original_height` |
| Paging | `ijn` from 0 to 99, in pages of `num` (10 when unset), and `serpapi_pagination.next` on our host | `ijn` from 0 to 99 |
| Errors | SerpApi's `{"error": ...}`: `401` with no key, `400` for another engine. A busy call gets `429` with `Retry-After` and is not charged | `429` past the hourly throughput or when the account has run out of searches |
| Price | $0.005 a search of up to 10 images, $5 per 1,000, with no plan and no daily limit | Starter $25 a month for 1,000 searches, 200 an hour. Developer $75 a month for 5,000 |
| Free to start | $10 of credit, no card, which covers 2,000 image searches | Free plan: 250 searches a month |

## The SerpApi Google Images reference, on SpecStream

### The call, before and after

```
# Before
curl "https://serpapi.com/search.json?engine=google_images&q=lighthouse+at+dusk&api_key=$SERPAPI_API_KEY"

# After
curl "https://api.specstream.ai/serpapi/search.json?engine=google_images&q=lighthouse+at+dusk&api_key=$SPECSTREAM_API_KEY"
```

The path, the parameters and the parser stay as they are. Google's Images tab form works the same way: `engine=google&tbm=isch&q=lighthouse+at+dusk` at the same address.

### 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 `ijn` for the page. `search_parameters` echoes `google_domain`, `gl`, `hl`, `ijn`, `safe` and `tbs` as you sent them.

Refused, in SerpApi's `error` form: another engine, such as `engine=bing`, gets `400` with the engines this address answers; a call with no `api_key` gets `401`; a `num` outside 1 to 100 or an `ijn` outside 0 to 99 gets `400` naming the range.

### Every field that comes back

`search_metadata` carries `id`, `status`, `created_at`, `processed_at` and `total_time_taken`. `search_parameters` carries `engine`, `q`, `tbm` on the Images tab form, and the fields above. Each of `images_results[]` has `position`, `source`, `title`, `link` for the page the image is on and `original` for the image itself. `thumbnail`, `original_width` and `original_height` are there when the search engines give them, and absent otherwise; the route never fills them in.

`serpapi_pagination` has `current`, and `next` when there is another page. A search with no images answers `200` with SerpApi's own `error` line, "Google hasn't returned any results for this query." One field is added, `specstream`, with the call's price.

Left out of each reply: `related_content_id`, `serpapi_related_content_link`, `source_logo`, `is_product`, `in_stock`, `tag` and `suggested_searches`.

### One price a search, the same as the web

On SerpApi the plan sets the searches a month and the searches an hour. 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 SerpApi'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 SerpApi 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 SerpApi's Google web search at the same address (the [SerpApi migration](https://specstream.ai/migrate/serpapi?utm_source=alternatives&utm_campaign=migrate-serpapi-google-images) has every field), Google News with `engine=google_news`, and Google Custom Search with `searchType=image` (see the [Google image search migration](https://specstream.ai/migrate/google-image-search?utm_source=alternatives&utm_campaign=migrate-serpapi-google-images)).

The [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=migrate-serpapi-google-images) reads the page behind each `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-serpapi-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-serpapi-google-images) page.

## What else SerpApi Google Images users price

### 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 at `/serper/images` ([Serper images migration](https://specstream.ai/migrate/serper-images?utm_source=alternatives&utm_campaign=migrate-serpapi-google-images)).

### SearchApi

A plan per month: Developer is $40 for 10,000 searches, $4 per 1,000, after 100 free requests. SpecStream has no plan, and the same key answers SearchApi's `engine=google_images` call ([SearchApi Google Images migration](https://specstream.ai/migrate/searchapi-google-images?utm_source=alternatives&utm_campaign=migrate-serpapi-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` at the same address ([Brave image search migration](https://specstream.ai/migrate/brave-image-search?utm_source=alternatives&utm_campaign=migrate-serpapi-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/serpapi/search.json` where your code has `https://serpapi.com/search.json`, and send the SpecStream key as `api_key`. In Python:

```
import requests

URL = "https://api.specstream.ai/serpapi/search.json"  # was https://serpapi.com/search.json

reply = requests.get(URL, {"engine": "google_images", "q": "lighthouse at dusk", "gl": "us", "hl": "en", "ijn": 0, "api_key": SPECSTREAM_KEY}, timeout=30)
reply.raise_for_status()
for image in reply.json()["images_results"]:
    print(image["position"], image["original"], image.get("original_width"), image.get("original_height"), image["link"])
```

3. In JavaScript:

```
const url = new URL("https://api.specstream.ai/serpapi/search.json");
url.search = new URLSearchParams({ engine: "google", tbm: "isch", q: "lighthouse at dusk", api_key: process.env.SPECSTREAM_KEY });
const data = await (await fetch(url)).json();
for (const image of data.images_results) console.log(image.position, image.title, image.original, image.thumbnail ?? "");
```

4. With SerpApi's Python client, set `client.BASE_DOMAIN = "https://api.specstream.ai/serpapi"` and `client.search(engine="google_images", q=...)` stays as it is. The older `google-search-results` takes `GoogleSearch.BACKEND = "https://api.specstream.ai/serpapi"` and searches with `engine="google"` and `tbm="isch"`. Tested on November 10, 2026 with `serpapi` 1.2.0 and `google-search-results` 2.4.2: each read 10 `images_results`.

Page with `ijn=1`, `ijn=2` and on, or follow `serpapi_pagination.next` and add your key as before. Read `429` as a call to send again after `Retry-After`. It is not charged.

## Frequently asked questions

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

Yes. Since November 10, 2026, SpecStream answers `engine=google_images` and `engine=google` with `tbm=isch` at `https://api.specstream.ai/serpapi/search.json` with `images_results[]` in SerpApi's shape. A search of up to 10 images costs $0.005.

### How much does the SerpApi Google Images API cost?

SerpApi's plans start at $25 a month for 1,000 searches and 200 an hour, then $75 a month for 5,000, with a free plan of 250 searches a month. SpecStream costs $5 per 1,000 image searches with no plan.

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

Change one address: `https://serpapi.com` becomes `https://api.specstream.ai/serpapi`, and a SpecStream key goes in `api_key`. `engine`, `q`, `gl`, `hl`, `safe`, `num` and `ijn` keep their meaning.

### How does paging work?

`ijn` starts at 0 and goes up to 99, one page of `num` images at a time, 10 when `num` is unset. `serpapi_pagination.next` holds the next page's address on our host.

### Which image fields does SpecStream return?

Five on every image: `position`, `source`, `title`, `link` (the page) and `original` (the image). `thumbnail`, `original_width` and `original_height` come when the search engines give them.

### Which SerpApi image fields are left out?

Seven: `related_content_id`, `serpapi_related_content_link`, `source_logo`, `is_product`, `in_stock`, `tag` and `suggested_searches`.

### Is there a free Google Images API?

A new SpecStream account gets $10 of credit with no card, which covers 2,000 image searches at $0.005 each. Credit you buy after that never expires.

## Sources

SpecStream wrote this page. Each SerpApi figure comes from SerpApi'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.

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