Google Lens

io.github.johnisanerd由 GitHub 账号 johnisanerd 发布v1.0.0更新于 Nov 4, 2026

Google Lens reverse image and visual product search, with similar and exact matches, hosted MCP.

已验证Streamable HTTP可网页运行网页搜索与抓取媒体与设计

概览

AI 生成的概览

托管在 Apify 上的 Google Lens 反向图片搜索 MCP 服务器,可返回相似图片、可购买商品匹配和完全相同图片的页面。

可以做什么
  • 用图片网址或 base64 编码的本地文件发起反向图片搜索
  • 选择搜索类型:相似图片、带价格与库存的商品列表,或同一文件的精确匹配
  • 按国家和语言限定结果,并限制返回的匹配数量
  • 返回每条匹配的标题、来源站点、目标网址、缩略图和图片链接
适用场景
适合需要让助手识别图片内容、查找某张照片在网上的出现位置以做署名或授权核查,或把商品照片转成带价格的可购买商品列表的场景。
运行要求
远程 Apify MCP 端点,无需本地安装包。需要 Apify 账号,通过 OAuth 授权,或以 bearer Authorization 头传入 Apify API 令牌。Apify 按结果计费,免费账号含每月平台额度。
安装前请注意
图片会发送给 Apify 和 Google Lens,请勿上传机密或个人照片。每次查询会消耗 Apify 额度,超出免费额度会产生费用。精确匹配的覆盖范围每次运行可能不同,可能返回空结果。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Google Lens,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.johnisanerd%2Fgoogle-lens/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "google-lens": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=johnvc/google-lens-api"
    }
  }
}

README

🔍 Google Lens API: reverse image search from Python and MCP

Actor: johnvc/google-lens-api · Input schema

This repo shows two ways to use the Google Lens API on Apify: a Python quick start and MCP installs for five AI clients. Send an image straight from your computer, base64 from code, or any public image URL, and get back visually similar results, shoppable product matches with prices, or every page carrying the exact same image, which is the bulk reverse image search photographers use for attribution checks. Most reverse image tools demand a public URL; this one does not.

Video Walkthrough

[Watch the walkthrough]

Text walkthrough

The google lens api takes an image (a local file via image_base64 or the console upload field, or a public image_url) plus a search_type. visual_matches is the general reverse image search and returns about 59 rows per lookup with title, source, url, thumbnail and the full image link. products returns shoppable listings with price, currency and inStock. exact_matches returns up to 400 pages carrying the identical file, which powers the stolen-photo check recipe in this repo. Exact-match coverage varies run to run at the source, so an empty result finishes clean rather than erroring; retry or switch type.

Quick Start

You need Python 3.11+ and a free Apify API key: sign up at apify.com, then copy your token from Console Settings.

bash
git clone https://github.com/johnisanerd/Apify-Google-Lens-API.gitcd Apify-Google-Lens-APIuv synccp .env.example .env   # then paste your APIFY_API_TOKENuv run python google-lens-api-example.py

Run a specific recipe:

bash
uv run python google-lens-api-example.py --example stolen_check

Search by a local file, no public URL needed

The repo bundles sample-image.jpg, so this works out of the box:

bash
uv run python google-lens-api-example.py --example uploaduv run python google-lens-api-example.py --example upload --image path/to/your/photo.jpg

Under the hood the file is base64-encoded and sent as image_base64; the API stages it privately behind a signed link and runs the lookup. Batch up to 10 images per run by passing more entries (about 6 MB of images per run on the base64 path; the console's Upload images field takes files up to 20 MB each, 30 MB per run).

python
import base64from pathlib import Path
encoded = base64.b64encode(Path("photo.jpg").read_bytes()).decode()run_input = {"image_base64": [encoded], "search_type": "visual_matches", "max_results": 3}

Why use this API

  • Upload local files or send base64, no public URL needed, up to 10 images per run
  • Three search types behind one input: visual matches, products, exact matches
  • Real destination URLs with source site names for every match
  • Product matches carry price, currency and stock where the retailer publishes them
  • Up to 400 exact-match rows per lookup for attribution and licensing sweeps
  • Country and language targeting when you need regional results

Recipes

The example script ships ready-made recipes that mirror this API's main use cases:

  • Search by a local file (--example upload): Base64-encodes an image from your disk and looks it up, no public URL needed.
  • Check if a photo is being reused (--example stolen_check): Runs exact matches over one image and lists every page carrying it.
  • Visual product search (--example product_match): Turns a product photo into shoppable listings with prices.

Schedule tip: save any of these inputs as a task in the Apify Console and attach a schedule. A daily or weekly run turns a one-off pull into a pipeline with zero manual work.

Usage Examples

Basic input:

json
{  "image_url": "https://i.imgur.com/HBrB8p0.png",  "search_type": "visual_matches",  "max_results": 10}

Advanced input:

json
{  "image_url": "https://i.imgur.com/HBrB8p0.png",  "search_type": "exact_matches",  "max_results": 200,  "country": "us"}

Input Parameters

ParameterTypeRequiredDefaultDescription
image_urlstringyesnoneREQUIRED.
search_typestringno"visual_matches"What kind of matches to return.
querystringnononeOptional.
max_resultsintegerno50How many matches to return.
countrystringnononeOptional two letter country code such as us, gb or de.
languagestringnononeOptional two letter language code such as en, es or fr.

Output Format

One row from a real run:

json
{  "resultType": "match",  "searchType": "visual_matches",  "position": 1,  "title": "File:Danny DeVito by Gage Skidmore.jpg - Wikimedia Commons",  "source": "Wikimedia Commons",  "url": "https://commons.wikimedia.org/wiki/File:Danny_DeVito_by_Gage_Skidmore.jpg",  "thumbnail": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcR0rTF6u7bB7aTW",  "image": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Danny_DeVito.jpg",  "imageWidth": 1280,  "imageHeight": 1024}

n8n integration

Available as an n8n community node, n8n-nodes-google-lens-api. In n8n: Settings, Community Nodes, install n8n-nodes-google-lens-api, then use it in any workflow (it also works as an AI Agent tool).

🤖 Ask an AI assistant about this Actor

Open a ready-to-send prompt about the Google Lens API in the AI of your choice:

People also search for

Is this a reverse image search API with a free tier?

Yes: pay per result on Apify, and an Apify free account includes monthly platform credit, so small lookups cost nothing out of pocket.

How do I reverse image search in Python?

Run the quick start here: uv sync, set your token, pass an image URL. Three lines of client code, JSON back.

Can I do a bulk reverse image search?

Loop the client over a URL list, or point an AI agent at the MCP server below and hand it the list. Each image is one lookup.

Why is the image field empty on exact matches?

The source returns only a thumbnail plus pixel dimensions for exact matches. Visual and product matches carry the full image link.

Install in Claude Cowork Desktop

[Install in Claude Cowork Desktop]

Cowork is the desktop app's automation mode. To give it the Google Lens API as a tool, add the Apify MCP server as a connector.

  1. Open the Claude desktop app and go to Settings -> Connectors (or Settings -> Developer -> Edit Config to edit claude_desktop_config.json directly).
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the Apify MCP server, preloaded with only this Actor:
json
{  "mcpServers": {    "apify": {      "command": "npx",      "args": [        "-y",        "mcp-remote",        "https://mcp.apify.com/?tools=actors,docs,johnvc/google-lens-api"      ]    }  }}
  1. Restart the app. When Cowork first calls the tool, complete the OAuth prompt in your browser, or add your Apify API token in the connector settings to skip OAuth.
  2. In a Cowork chat, confirm the tool is available and ask it to run the Google Lens API.

Download the desktop app and start a free trial: https://claude.ai/referral/uIlpa7nPLg More help: https://docs.apify.com/platform/integrations/claude-desktop

Install in Claude Code

[Install in Claude Code]

Claude Code is the command-line tool. Add the Actor's MCP server with one command:

bash
claude mcp add --transport http apify \  "https://mcp.apify.com/?tools=actors,docs,johnvc/google-lens-api"

To use a token instead of browser OAuth:

bash
claude mcp add --transport http apify \  "https://mcp.apify.com/?tools=actors,docs,johnvc/google-lens-api" \  --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the Google Lens API.

Try Claude Code free: https://claude.ai/referral/uIlpa7nPLg Claude Code MCP docs: https://code.claude.com/docs/en/mcp

Install in Claude (website)

[Install in Claude (website)]

On claude.ai you add Apify as a connector, then enable just this Actor's tool.

  1. Go to Settings -> Connectors -> Browse connectors and search for Apify MCP server. Install it (enable or update if prompted).
  2. When connecting, authenticate with your Apify API token, and enable the tool johnvc/google-lens-api.
  3. In any chat, open + -> Connectors and turn on Apify.
  4. Alternatively, choose Add custom connector and paste the full MCP URL https://mcp.apify.com/?tools=actors,docs,johnvc/google-lens-api, using OAuth when prompted.
  5. Ask Claude to run the Google Lens API.

Open Claude on the web: https://claude.ai

Install in Cursor

[Install in Cursor]

Cursor reads MCP servers from a project file at .cursor/mcp.json.

  1. In your project, create .cursor/mcp.json:
json
{  "mcpServers": {    "apify": {      "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/google-lens-api"    }  }}
  1. If you prefer token auth over browser OAuth, add a header:
json
{  "mcpServers": {    "apify": {      "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/google-lens-api",      "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }    }  }}
  1. Open Cursor -> Settings -> MCP and confirm the apify server is connected (green dot).
  2. In Composer or Chat, ask Cursor to call the Google Lens API.

New to Cursor? Get it here: https://cursor.com/referral?code=XQP4VBLI3NNX

Install in ChatGPT

[Install in ChatGPT]

ChatGPT connects to the Apify MCP server through Developer mode (available on ChatGPT Pro, Plus, Business, Enterprise, and Education plans).

  1. Click your profile icon, then go to Settings > Apps. If you do not see a Create app button, open Advanced settings and enable Developer mode.
  2. Click Create app and fill out the form:
    • Name: Apify
    • MCP Server URL: https://mcp.apify.com/?tools=actors,docs,johnvc/google-lens-api
    • Authentication: OAuth
  3. Click Create and authorize the connection with Apify.
  4. To use the app in a conversation, click + in the chat, choose Developer mode, and select Apify.

More help: https://docs.apify.com/platform/integrations/mcp


Made with care by johnvc on Apify. This example repo is part of Alpha OSINT, toolset of financial and operations data sources and APIs.

Last Updated: 2026.10.27

来源:README.md,提交 b9c0ae3

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v1.0.0最新Nov 4, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。