# Google Lens Visual Matches

> Google Lens Visual Matches 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 ranked visual match results from the web for a given image URL, optionally refined by a text query, using Google Lens under the hood.

## Facts

- Endpoint: GET https://agents.openwebninja.com/realtime-lens-data/visual-matches?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-google-lens-visual-matches-57fdcba5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_WVrEA54kRt_7yrwZiM7KD

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-google-lens-visual-matches-57fdcba5
```

Example prompt: Can you do a Google Lens reverse image search on this photo — https://example.com/shoe.jpg — and find me all the websites where this image or something visually similar appears, focused on US results in English?

## When to prefer this

Choose this endpoint when you need to perform a Google Lens-style visual/reverse image search — finding web pages, product listings, or sources that feature a specific image — especially when you also want to refine results with a text query or localize by country and language. Prefer this over generic text-based search APIs when the input is an image rather than text, and over other reverse image search tools when Google Lens coverage and ranking are desired.

## Known failure modes

- Invalid or inaccessible image URL returns an error or empty results
- Image URL that is too large or in an unsupported format may fail to process
- Invalid country or language codes may produce unexpected results or errors
- Rate limits or payment issues result in 402 or 429 errors
- Private or localhost image URLs are not accessible to the API

## How this service works

Get visual matches from the web for an image and optionally a query. This endpoint implements the "Visual Matches" on Google Lens.

## Output

Returns a ranked list of visual matches, each containing the matched page URL, direct image URL, page title, source domain, 1-based position, Google-hosted thumbnail URL, thumbnail and image dimensions, and an optional favicon URL for the source site. Also includes echoed request parameters and a unique request ID.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "url"
 ],
 "properties": {
  "url": {
   "type": "string",
   "description": "URL of an image for which to get visual matches."
  },
  "query": {
   "type": "string",
   "description": "Search query to further refine the results."
  },
  "country": {
   "type": "string",
   "default": "us",
   "description": "Set the country for the search (Google's gl parameter). Allowed values: 2-letter country code, see ISO 3166."
  },
  "language": {
   "type": "string",
   "default": "en",
   "description": "Set the language of the results (Google's hl parameter). Allowed values: 2-letter language code, see ISO 639-1."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "link": {
      "type": "string",
      "description": "Canonical URL of the matched page."
     },
     "image": {
      "type": "string",
      "description": "Direct URL to the matched full-size image."
     },
     "title": {
      "type": "string",
      "description": "Title of the matched page."
     },
     "source": {
      "type": "string",
      "description": "Domain of the source page."
     },
     "position": {
      "type": "integer",
      "description": "1-based position of the match."
     },
     "thumbnail": {
      "type": "string",
      "description": "Google-hosted thumbnail URL for the matched image."
     },
     "image_width": {
      "type": "integer",
      "description": "Width of the matched image in pixels."
     },
     "source_icon": {
      "type": "string",
      "nullable": true,
      "description": "Favicon URL for the source."
     },
     "image_height": {
      "type": "integer",
      "description": "Height of the matched image in pixels."
     },
     "thumbnail_width": {
      "type": "integer",
      "description": "Width of the thumbnail in pixels."
     },
     "thumbnail_height": {
      "type": "integer",
      "description": "Height of the thumbnail in pixels."
     }
    }
   },
   "description": "A list of visual matches found for the supplied image."
  },
  "status": {
   "type": "string",
   "description": "The status of the response"
  },
  "parameters": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "description": "The image URL used for the query"
    },
    "country": {
     "type": "string",
     "description": "The country code associated with the request"
    },
    "language": {
     "type": "string",
     "description": "The language code used in the request"
    }
   }
  },
  "request_id": {
   "type": "string",
   "description": "The unique identifier for this API request"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-google-lens-visual-matches-57fdcba5/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)
