# Search Images (OpenWeb Ninja)

> Search Images (OpenWeb Ninja) is a paid API for AI agents from agents.openwebninja.com, paid per call via MPP, price unknown, status unknown (last checked 2026-10-14).

Returns real-time Google Images search results with rich metadata, supporting filters for size, color, type, file format, region, time range, and usage rights.

## Facts

- Endpoint: GET https://agents.openwebninja.com/realtime-image-search/search?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Provider: agents.openwebninja.com
- Website: https://agents.openwebninja.com
- Canonical page: https://www.zero.xyz/c/agents-openwebninja-com-search-images-openweb-ninja-bfdb3bf3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JeOsWCih1yA1y0MfpKw85

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-openwebninja-com-search-images-openweb-ninja-bfdb3bf3
```

Example prompt: Search the web for up to 20 large JPG photos of 'cherry blossom festival' from the past month, safe search on, in the US region.

## When to prefer this

Use this endpoint when you need real-time web image search results with Google Images-level coverage and rich filtering (size, color, type, file format, aspect ratio, usage rights, region, recency). Prefer it over static image databases when freshness and breadth matter, and over general web search endpoints when you specifically need image metadata like dimensions, thumbnails, and source domains.

## Known failure modes

- Missing required 'query' parameter returns a validation error
- Invalid region or country code returns an error or empty results
- Overly restrictive filter combinations (e.g. specific color + file type + size) may return zero results
- Rate limit or quota exceeded returns a 402 or 429 error
- Very niche queries may return fewer results than the requested limit

## How this service works

Get real-time image search results from across the web. Supports all Google Images search filters.

## Output

Returns an array of image results each containing the direct image URL, thumbnail URL, image title, pixel dimensions, file size, source website name and domain, source page URL, background color, and rank/position score — plus an echo of the search parameters used and the API status.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "query"
 ],
 "properties": {
  "size": {
   "enum": [
    "any",
    "large",
    "medium",
    "icon",
    "400x300_and_more",
    "640x480_and_more",
    "800x600_and_more",
    "1024x768_and_more",
    "2mp_and_more",
    "4mp_and_more",
    "6mp_and_more",
    "8mp_and_more",
    "10mp_and_more",
    "12mp_and_more",
    "15mp_and_more",
    "20mp_and_more",
    "40mp_and_more",
    "70mp_and_more"
   ],
   "type": "string",
   "default": "any",
   "description": "Find images of a specific size."
  },
  "time": {
   "enum": [
    "any",
    "day",
    "week",
    "month",
    "year"
   ],
   "type": "string",
   "default": "any",
   "description": "Find images last updated in a specific time range."
  },
  "type": {
   "enum": [
    "any",
    "face",
    "photo",
    "clipart",
    "lineart",
    "animated"
   ],
   "type": "string",
   "default": "any",
   "description": "Find images of a specific type."
  },
  "color": {
   "enum": [
    "any",
    "red",
    "orange",
    "yellow",
    "green",
    "teal",
    "blue",
    "purple",
    "pink",
    "white",
    "gray",
    "black",
    "brown",
    "full",
    "transparent",
    "grayscale"
   ],
   "type": "string",
   "default": "any",
   "description": "Find images with a specific dominant color."
  },
  "limit": {
   "type": "integer",
   "default": 10,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum number of results to return."
  },
  "query": {
   "type": "string",
   "example": "beach",
   "description": "Search query / keyword"
  },
  "fields": {
   "type": "string",
   "description": "A comma separated list of image fields to include in the response (field projection). By default all fields are returned."
  },
  "region": {
   "type": "string",
   "default": "us",
   "description": "The country / region from which to make the query. Allowed values: 2-letter country code, see ISO 3166-1 alpha-2."
  },
  "country": {
   "type": "string",
   "description": "Find images published in a specific country / region. Allowed values: 2-letter country code, see ISO 3166-1 alpha-2."
  },
  "file_type": {
   "enum": [
    "any",
    "jpg",
    "jpeg",
    "png",
    "gif",
    "svg",
    "webp",
    "ico",
    "raw"
   ],
   "type": "string",
   "default": "any",
   "description": "Find images of a specific format / file type."
  },
  "safe_search": {
   "enum": [
    "off",
    "blur",
    "on"
   ],
   "type": "string",
   "default": "blur",
   "des
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "The unique identifier of the image."
     },
     "url": {
      "type": "string",
      "description": "The direct URL of the image."
     },
     "rank": {
      "type": "integer",
      "description": "The rank score of the image in relevance."
     },
     "size": {
      "type": "string",
      "description": "The file size of the image."
     },
     "title": {
      "type": "string",
      "description": "The title or alt text of the image."
     },
     "width": {
      "type": "integer",
      "description": "The width of the image in pixels."
     },
     "height": {
      "type": "integer",
      "description": "The height of the image in pixels."
     },
     "source": {
      "type": "string",
      "description": "The name of the source site."
     },
     "position": {
      "type": "integer",
      "description": "The position of the image in the search results."
     },
     "source_url": {
      "type": "string",
      "description": "The URL of the source site."
     },
     "source_domain": {
      "type": "string",
      "description": "The domain of the source website."
     },
     "thumbnail_url": {
      "type": "string",
      "description": "The URL of the thumbnail image."
     },
     "thumbnail_width": {
      "type": "integer",
      "description": "The width of the thumbnail in pixels."
     },
     "background_color": {
      "type": "string",
      "description": "The background color of the image."
     },
     "thumbnail_height": {
      "type": "integer",
      "description": "The height of the thumbnail in pixels."
     }
    }
   }
  },
  "status": {
   "type": "string",
   "description": "The status of the API response."
  },
  "parameters": {
   "type": "object",
   "properties": {
    "size": {
     "type": "string",
     "description": "The image size filter used in the search."
    },
    "time": {
     "type": "string",
     "description": "The time filter applied to the search."
    },
    "type": {
     "type": "string",
     "description": "The image type filter applied."
    },
    "color": {
     "type": "string",
     "description": "The color filter used in the search."
    },
    "query": {
     "type": "string",
     "description": "The search query used for the image search."
    },
    "region": {
     "type": "string",
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-search-images-openweb-ninja-bfdb3bf3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.openwebninja.com](https://www.zero.xyz/host/agents.openwebninja.com/llms.txt)
