# Yandex Reverse Image Search API (`johnvc/yandex-reverse-image-search`) Actor

Search Yandex by image. Give an image URL and get every page where it appears online, visually similar images, other sizes, matching shop products, and image tags as clean JSON. Crop-box targeting, 6 regional domains, pay per result.

- **URL**: https://apify.com/johnvc/yandex-reverse-image-search.md
- **Developed by:** [John](https://apify.com/johnvc) (community)
- **Categories:** Developer tools, SEO tools
- **Stats:** 64 total users, 21 monthly users, 98.2% runs succeeded, 4 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.00001 / result

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Yandex Reverse Image Search API

Search by image instead of by keywords. Give this reverse image search API the URL of any image and it searches Yandex's reverse image engine (the same one behind yandex.com/images) to find every page where the image appears online, visually similar images, other sizes and resolutions of the same image, products that match the image, and descriptive tags. Pay per result, with a hard cap you control.

Yandex is widely regarded as one of the strongest reverse image engines on the web, especially for faces, places, and content that Western engines miss. This actor gives you that power as a clean JSON API.

### What this API returns

Each result is one dataset row, tagged with a `result_type` field so you can filter:

| result\_type | What it is | On by default |
|-------------|------------|:-------------:|
| `matching_page` | A page where the image (or a close match) appears online: title, link, snippet, source | ✅ |
| `similar_image` | A visually similar image from across the web: thumbnail, link | ✅ |
| `image_size` | Another resolution of the same image, categorized large / medium / small | ❌ |
| `image_tag` | A suggested search term describing what is in the image | ❌ |
| `shopping_result` | An e-commerce product matching the image, with price where available | ❌ |
| `knowledge_graph` | Entity card when the image contains a recognizable person, place, or brand | ❌ |

Every row also carries the query image URL, the Yandex domain used, the crop box (if any), and a search timestamp.

### Use cases

- **Find where your images are used**: track unauthorized use of product photos, artwork, or brand assets across the web.
- **Brand protection and counterfeit detection**: enable shopping matches to find marketplaces selling products that look like yours.
- **Image provenance and fact-checking**: find earlier and higher-resolution versions of an image to trace where it first appeared.
- **Face and person search research**: Yandex's reverse image engine is known for strong face matching (use responsibly and lawfully).
- **Duplicate and similar image discovery**: build datasets of visually similar images for ML or content curation.
- **Source hunting**: find the original, full-resolution version of a compressed or cropped image.

### Quick start

The fastest possible run, just paste an image URL:

```json
{
  "image_url": "https://substack-post-media.s3.amazonaws.com/public/images/edbfb2cd-ebcb-4527-bec7-5315c182278f_445x445.png"
}
```

Search only part of the image with a crop box (fractions of width and height, left;top;right;bottom):

```json
{
  "image_url": "https://example.com/group-photo.jpg",
  "crop": "0.1;0.2;0.5;0.8",
  "include_similar_images": true
}
```

Everything on, capped at 100 rows:

```json
{
  "image_url": "https://example.com/product.jpg",
  "include_matching_pages": true,
  "include_similar_images": true,
  "include_image_sizes": true,
  "include_image_tags": true,
  "include_shopping_results": true,
  "include_knowledge_graph": true,
  "max_results": 100
}
```

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `image_url` | `string` | ✅ | - | Public http(s) URL of the image to search by. Yandex fetches it, so it must be reachable from the internet (direct image link, no login or redirect). |
| `crop` | `string` | ❌ | (none) | Crop the image before searching: four `;`-separated fractions 0-1 in the order left;top;right;bottom, e.g. `0.1;0.2;0.9;0.8`. Leave blank to search the whole image — don't paste the image URL here. |
| `include_matching_pages` | `boolean` | ❌ | `true` | Pages where the image appears online (result\_type `matching_page`). |
| `include_similar_images` | `boolean` | ❌ | `true` | Visually similar images (result\_type `similar_image`). |
| `include_image_sizes` | `boolean` | ❌ | `false` | Other resolutions of the same image (result\_type `image_size`). |
| `include_image_tags` | `boolean` | ❌ | `false` | Descriptive tags for the image content (result\_type `image_tag`). |
| `include_shopping_results` | `boolean` | ❌ | `false` | Matching products with prices (result\_type `shopping_result`). |
| `include_knowledge_graph` | `boolean` | ❌ | `false` | Entity card for recognizable subjects (result\_type `knowledge_graph`). |
| `yandex_domain` | `string` | ❌ | `"yandex.com"` | Regional domain: `yandex.com`, `yandex.ru`, `yandex.by`, `yandex.kz`, `yandex.uz`, `yandex.com.tr`. |
| `max_results` | `integer` | ❌ | `0` | Hard cap on rows returned and billed. `0` = everything found. Set `20` for a cheap first run. |

### Example output row

```json
{
  "result_type": "matching_page",
  "position": 27,
  "title": "Central Illustration Agency Illustration portfolio: Matt Taylor",
  "link": "https://tr.pinterest.com/pin/matt-taylor-digital-illustration-illustrator-graphic-poster-art-car-scenery-bold--826762444071832079/",
  "thumbnail": "https://avatars.mds.yandex.net/i?id=592d913ed53e1f78fdd0804bd7064417b709bafb-5437458-images-thumbs&n=13&w=296&h=180",
  "original": "https://i.pinimg.com/736x/9e/b1/f7/9eb1f76ee45eb01706be89b8748a911b.jpg",
  "source": "tr.pinterest.com",
  "snippet": "After graduating from Buckinghamshire University he rolled straight into a successful ten year illustration career.",
  "image_url": "https://substack-post-media.s3.amazonaws.com/public/images/edbfb2cd-ebcb-4527-bec7-5315c182278f_445x445.png",
  "yandex_domain": "yandex.com",
  "crop": "",
  "search_timestamp": "2026-07-05T12:00:00"
}
```

Two dataset views are available in Apify Console and via API: **Overview** (all rows, typed) and **Visual results** (thumbnail-forward).

### Pricing

This actor uses pay-per-event billing: you are charged one `result_returned` event per dataset row. You control cost two ways:

1. **Result-type toggles**: only the sections you enable produce rows. The default (matching pages + similar images) covers the two most common reverse image questions.
2. **`max_results` cap**: a hard ceiling on rows returned and billed per run.

A search that legitimately finds nothing still pushes one `no_results` summary row so billing stays transparent. Invalid input and upstream failures do not produce billable rows.

The current per-result price is shown on the [Apify Store listing](https://apify.com/johnvc/yandex-reverse-image-search?fpr=9n7kx3). New users get Apify's free trial credit, which covers many test runs.

### How to get started

1. [View on Apify Store](https://apify.com/johnvc/yandex-reverse-image-search?fpr=9n7kx3) and click **Try for free**.
2. Paste an image URL into the input form and run.
3. Read the results from the dataset (JSON, CSV, or Excel), or call the actor from the [Apify API](https://docs.apify.com/api/v2) in your own code.

### 🔌 Integrations: Put the Reverse Image Search API on a Schedule

A single run answers one question ("where does this image appear right now?"). The real value comes from running the reverse image search API repeatedly, so you catch new copies, resellers, and reposts the moment they surface. See the full list of [Apify platform integrations](https://docs.apify.com/platform/integrations).

**Tasks and Schedules (the core recipe).** Save one [task](https://docs.apify.com/platform/actors/running/tasks) per image you watch (a product photo, a piece of artwork, a brand asset) with its `image_url` and result-type toggles, then attach a [schedule](https://docs.apify.com/platform/schedules) from the actor's Actions, then Schedule menu. Each run re-checks Yandex for that image, so a match history builds up over time. Useful cron strings: `0 7 * * *` (daily 7 AM), `0 */6 * * *` (every 6 hours), `0 9 * * 1` (Mondays). One schedule can trigger many image tasks at once. The [Find where an image appears online with Yandex](https://apify.com/johnvc/yandex-reverse-image-search/examples/find-where-an-image-appears-online-with-yandex?fpr=9n7kx3) task is a ready-made starting point.

**n8n.** Run the actor from [n8n](https://docs.apify.com/platform/integrations/n8n) on a Schedule Trigger, filter the returned rows by `source` or `result_type`, then push new `matching_page` hits to Slack or email for a hands-off image-monitoring workflow. This API also ships a dedicated n8n community node, [`n8n-nodes-yandex-reverse-image-search-api`](https://www.npmjs.com/package/n8n-nodes-yandex-reverse-image-search-api): in n8n open Settings, Community Nodes, and install it, then use it in any workflow or as an AI Agent tool.

**Make and Zapier.** The same pattern works no-code with [Make](https://docs.apify.com/platform/integrations/make) and [Zapier](https://docs.apify.com/platform/integrations/zapier): trigger on a schedule, run the actor, route new matches where you need them.

**Store the history (Supabase).** Send each run's rows into a table so a record of every page and similar image accumulates. No-code: an n8n Actor node, then a Supabase node. Or in Python (each row carries `result_type`, `title`, `link`, `source`, `image_url`, and `search_timestamp`):

```python
from apify_client import ApifyClient
from supabase import create_client

apify = ApifyClient("YOUR_APIFY_TOKEN")
supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")

run = apify.actor("johnvc/yandex-reverse-image-search").call(run_input={
    "image_url": "https://example.com/product.jpg",
    "include_matching_pages": True,
    "include_similar_images": True,
    "max_results": 100,
})
rows = list(apify.dataset(run["defaultDatasetId"]).iterate_items())
supabase.table("image_matches").upsert(rows).execute()
```

**MCP and AI agents.** Add this API as a tool in Claude or Cursor through the Apify MCP server so an agent can reverse-search any image live in the conversation (see the Use this API from Claude section below).

**Webhooks.** For anything custom, fire an [Apify webhook](https://docs.apify.com/platform/integrations/webhooks) on `ACTOR.RUN.SUCCEEDED` to push each run's dataset into your own service.

### 🔌 Use this API from Claude (MCP)

Add this actor as a tool in [Claude Code](https://claude.ai/referral/uIlpa7nPLg) (free trial), [Claude Cowork](https://claude.ai/referral/uIlpa7nPLg) (free trial), or any other MCP client, via the hosted Apify MCP server. Use this actor-specific URL:

https://mcp.apify.com/?tools=actors,docs,johnvc/yandex-reverse-image-search

Setup walkthrough:

https://www.youtube.com/watch?v=jREWahDGhJM

Apify MCP integration docs: https://docs.apify.com/platform/integrations/mcp

### 💸 Pay per run with crypto (x402)

The Yandex Reverse Image Search API supports agentic payments via the [x402 protocol](https://docs.apify.com/platform/integrations/x402).
AI agents and MCP clients can pay for runs in USDC (on Base) with no Apify account or API token needed:
point your agent at the [Apify MCP server](https://mcp.apify.com/?tools=actors,docs,johnvc/yandex-reverse-image-search) and it can
discover, pay for, and run this Actor autonomously. Read the
[Apify x402 announcement](https://apify.com/change-log/pay-for-apify-actors-with-x402?fpr=9n7kx3) for details.

### 💻 Example code repo (Python + MCP)

Prefer to call this API from your own code? The [Yandex Reverse Image Search API example repo](https://github.com/johnisanerd/Apify-Yandex-Reverse-Image-Search-API) on GitHub pairs a ready-to-run Python quickstart (managed with uv) with step-by-step MCP setup guides for [Claude Cowork](https://claude.ai/referral/uIlpa7nPLg) (free trial), [Claude Code](https://claude.ai/referral/uIlpa7nPLg) (free trial), Claude on the web, Cursor, and ChatGPT. Clone it, add your Apify API key, and you have a working reverse image search in a few minutes.

### 🔗 Related Tools

Building an image-search or brand-protection pipeline? These tools from the same catalog pair well with reverse image search:

- [Google Images API](https://apify.com/johnvc/google-images-api?fpr=9n7kx3): the keyword side of image search, find images by search term when you do not have a source image to start from.
- [Yandex Search Scraper API](https://apify.com/johnvc/Scrape-Yandex?fpr=9n7kx3): full Yandex search results (web, ads, and knowledge graph) for text queries, the keyword-based companion to searching by image.
- [Yandex Search API billed per result](https://apify.com/johnvc/yandex-scrape-yandex-search-results-at-scale---per-result?fpr=9n7kx3): the same Yandex search coverage priced per result, for scaled keyword runs alongside your reverse image lookups.

A newer alternative, [Yandex Reverse Image Search Scraper](https://apify.com/getascraper/yandex-reverse-image-scraper?fpr=9n7kx3), covers similar ground but currently shows minimal adoption and no user ratings, and its input omits crop-box targeting and regional-domain selection. This API adds a `crop` parameter to search part of an image, six regional Yandex domains, knowledge-graph and shopping toggles, a `max_results` cap, and two ready-made dataset views.

### FAQ

#### How is billing calculated?

One dataset row = one billed result. Enable only the result types you need and set `max_results` to cap any run. An empty search pushes a single summary row; failed runs bill nothing.

#### What images work best?

Publicly reachable, reasonably sized images (300px+ on the short side). Yandex fetches the URL you provide, so private, localhost, or login-protected URLs will not work. If you only care about part of an image (one face in a group photo, one product on a shelf), use the `crop` parameter.

#### Why did my run fail with a crop error?

If you see a message like `Invalid crop` or `crop must be four ';'-separated fractions`, the Crop box holds something the actor can't read as a crop region. The most common cause: the image URL was pasted into both the Image URL field and the Crop box. Crop is optional and only tells the actor to search part of the image — it should either be left blank (search the whole image) or contain four `;`-separated fractions between 0 and 1 in the order left;top;right;bottom, like `0.1;0.2;0.9;0.8` for the middle of the picture. To re-submit: clear the Crop field (or fix the fractions), keep your image URL where it is, and start the run again. Runs stopped this way bill nothing.

#### How is this different from a normal image search?

A normal image search takes keywords and returns images. Reverse image search takes an image and returns where it appears, what looks like it, and what it contains. For keyword-based Yandex image search, see the [Yandex Search Scraper API](https://apify.com/johnvc/Scrape-Yandex?fpr=9n7kx3), which also covers web results, ads, and the knowledge graph.

#### Which Yandex domain should I use?

`yandex.com` (the default) works for most cases. Regional domains like `yandex.ru` can surface more results for images that circulate mainly on the Russian-language web.

#### Is it legal to reverse image search a person?

Laws differ by jurisdiction, and platform terms apply. This tool returns publicly indexed data only; you are responsible for using it lawfully and ethically, especially for images of people.

#### What is reverse image search?

A normal image search takes words and returns pictures. Reverse image search does the opposite: you give it a picture and it returns where that picture appears online, what looks similar, and what is in it. This API runs that query against Yandex's engine and hands the results back as structured rows. Background: [reverse image search](https://en.wikipedia.org/wiki/Reverse_image_search) and the source engine, [Yandex Images](https://yandex.com/images/).

#### Can I schedule this reverse image search API?

Yes, and this is where the tool earns its keep. Any run can be automated on a [schedule](https://docs.apify.com/platform/schedules): create a [saved task](https://docs.apify.com/platform/actors/running/tasks) with one image and its result-type toggles, then attach a schedule from the actor's Actions, then Schedule menu. Concrete cron strings: `0 7 * * *` for daily at 7 AM, `0 */6 * * *` for every six hours, `0 9 * * 1` for Mondays. One schedule can drive many image tasks at once, so you can watch a whole set of product photos in one place. See the Integrations section above for the full monitoring recipe.

#### Should I use an API or a web scraper?

Both, and this actor is both. A plain [web scraper](https://en.wikipedia.org/wiki/Web_scraping) you build yourself has to handle Yandex's HTML, tokens, and blocking, and it breaks when the page changes. This actor gives you the clean, structured result of a purpose-built [API](https://en.wikipedia.org/wiki/API): paste an image URL in the form for a no-code run, or call it as an endpoint from your own code, and get typed JSON either way, with no quotas to manage.

#### Can I integrate this reverse image search Scraper with other apps?

Yes. It connects to almost any cloud service through [Apify integrations](https://docs.apify.com/platform/integrations): [Make](https://docs.apify.com/platform/integrations/make), [Zapier](https://docs.apify.com/platform/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), n8n, and [webhooks](https://docs.apify.com/platform/integrations/webhooks) on `ACTOR.RUN.SUCCEEDED` for custom actions. See the Integrations section above for the full recipes.

#### Can I call the reverse image search API in my own code?

Yes. The Apify API runs the actor, schedules it, and fetches datasets, and the `apify-client` package exists for both Node.js and Python. See the actor's [API tab](https://apify.com/johnvc/yandex-reverse-image-search/api?fpr=9n7kx3) for ready-made snippets in several languages.

#### Can I use this API through an MCP server?

Yes. Add it as a tool in any MCP client (Claude, Cursor, and others) through the hosted [Apify MCP server](https://mcp.apify.com/) with the actor-specific URL `https://mcp.apify.com/?tools=actors,docs,johnvc/yandex-reverse-image-search`. In [Claude Code](https://claude.ai/referral/uIlpa7nPLg) (free trial) or [Claude Cowork](https://claude.ai/referral/uIlpa7nPLg) (free trial) your agent can then reverse-search any image live in the conversation. See the [Apify MCP docs](https://docs.apify.com/platform/integrations/mcp).

#### How can I find other image search tools?

Pair this API with related tools in the same catalog: the [Google Images API](https://apify.com/johnvc/google-images-api?fpr=9n7kx3) for finding images by keyword, the [Yandex Search Scraper API](https://apify.com/johnvc/Scrape-Yandex?fpr=9n7kx3) for full Yandex text search, and the [Yandex Search API billed per result](https://apify.com/johnvc/yandex-scrape-yandex-search-results-at-scale---per-result?fpr=9n7kx3) for scaled keyword runs. See the Related Tools section above for how they fit together.

### Featured Tasks

Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.

- [Reverse image search in Claude via MCP](https://apify.com/johnvc/yandex-reverse-image-search/examples/reverse-image-search-in-claude-via-mcp?fpr=9n7kx3) - let Claude reverse-search any image through Yandex live in the conversation via MCP.
- [Find where an image appears online with Yandex](https://apify.com/johnvc/yandex-reverse-image-search/examples/find-where-an-image-appears-online-with-yandex?fpr=9n7kx3) - every page where an image appears, with source and snippet, as JSON.
- [Trace an image to its original source with Yandex](https://apify.com/johnvc/yandex-reverse-image-search/examples/trace-an-image-to-its-original-source-with-yandex?fpr=9n7kx3) - find an image's original source and every page using it.
- [Find visually similar images from an image URL](https://apify.com/johnvc/yandex-reverse-image-search/examples/find-visually-similar-images-from-an-image-url?fpr=9n7kx3) - visually similar images from across the web, with thumbnail, full-size URL, and source.
- [Find products from an image with Yandex](https://apify.com/johnvc/yandex-reverse-image-search/examples/find-products-from-an-image-with-yandex?fpr=9n7kx3) - visually similar products and shop listings from a product image.
- [Reverse image search with Yandex, results as JSON](https://apify.com/johnvc/yandex-reverse-image-search/examples/reverse-image-search-with-yandex-results-as-json?fpr=9n7kx3) - matching pages, similar images, and more, as structured JSON, no API key setup.

***

### 🌐 About Alpha OSINT

This Actor is part of [Alpha OSINT](https://www.alphaosint.com), toolset of financial and operations data sources and APIs.
See the [Yandex Reverse Image Search API source page](https://www.alphaosint.com/sources/yandex-reverse-image-search-api/) for related tools and use cases.
For support or requests for this actor, please start a ticket [directly on our support page](https://apify.com/johnvc/yandex-reverse-image-search/issues/open?fpr=9n7kx3).

Last Updated: 2026.08.04

# Actor input Schema

## `image_url` (type: `string`):

Provide the public http(s) URL of the image to search by. Yandex fetches this URL, so it must be reachable from the internet (no localhost or private links). Example: `https://substack-post-media.s3.amazonaws.com/public/images/edbfb2cd-ebcb-4527-bec7-5315c182278f_445x445.png`.

## `crop` (type: `string`):

Optionally crop the image before searching, as four ';'-separated fractions between 0 and 1 in the order left;top;right;bottom. Example: `0.1;0.2;0.9;0.8` searches only the middle of the image. Leave blank to search the whole image — do NOT put the image URL here.

## `include_matching_pages` (type: `boolean`):

Return pages where this image (or a close match) appears online, with page title, link, and snippet. Rows with result\_type 'matching\_page'. On by default.

## `include_similar_images` (type: `boolean`):

Return visually similar images from across the web, with thumbnails and links. Rows with result\_type 'similar\_image'. On by default.

## `include_image_sizes` (type: `boolean`):

Return other resolutions of the same image, categorized large / medium / small. Rows with result\_type 'image\_size'. Off by default.

## `include_image_tags` (type: `boolean`):

Return suggested search terms describing what is in the image. Rows with result\_type 'image\_tag'. Off by default.

## `include_shopping_results` (type: `boolean`):

Return e-commerce products that match the image content, with prices where available. Rows with result\_type 'shopping\_result'. Off by default.

## `include_knowledge_graph` (type: `boolean`):

Return the entity card when the image contains a recognizable subject (a person, landmark, product, or brand). One row with result\_type 'knowledge\_graph'. Off by default.

## `yandex_domain` (type: `string`):

The regional Yandex domain to search from. Defaults to 'yandex.com'. Results can differ by region.

## `max_results` (type: `integer`):

Cap the total number of result rows returned (and billed) by this run. 0 (the default) returns everything the search found for your selected result types. Set a small number like 20 for a low-cost first run.

## Actor input object example

```json
{
  "image_url": "https://substack-post-media.s3.amazonaws.com/public/images/edbfb2cd-ebcb-4527-bec7-5315c182278f_445x445.png",
  "include_matching_pages": true,
  "include_similar_images": true,
  "include_image_sizes": false,
  "include_image_tags": false,
  "include_shopping_results": false,
  "include_knowledge_graph": false,
  "yandex_domain": "yandex.com",
  "max_results": 50
}
```

# Actor output Schema

## `allResults` (type: `string`):

Every result row from this run, tagged with result\_type

## `overview` (type: `string`):

Tabular overview of all results

## `visualResults` (type: `string`):

Thumbnail-forward view of found images and pages

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "image_url": "https://substack-post-media.s3.amazonaws.com/public/images/edbfb2cd-ebcb-4527-bec7-5315c182278f_445x445.png",
    "max_results": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("johnvc/yandex-reverse-image-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "image_url": "https://substack-post-media.s3.amazonaws.com/public/images/edbfb2cd-ebcb-4527-bec7-5315c182278f_445x445.png",
    "max_results": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("johnvc/yandex-reverse-image-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "image_url": "https://substack-post-media.s3.amazonaws.com/public/images/edbfb2cd-ebcb-4527-bec7-5315c182278f_445x445.png",
  "max_results": 50
}' |
apify call johnvc/yandex-reverse-image-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=johnvc/yandex-reverse-image-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/FdyxaCtHdVcA1FBDm/builds/UNZAeYkKEviH6fuRh/openapi.json
