# Reverse Image Search: Yandex and Bing Image Matches (`themineworks/reverse-image-search`) Actor

Reverse image search by image URL on Yandex and Bing: one row per match with the page that carries the image, its domain, the matched image and its size, other sizes, similar images and shopping offers with price. Find copies of your photos and products. No login.

- **URL**: https://apify.com/themineworks/reverse-image-search.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** E-commerce, Marketing, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.85 / 1,000 matches

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Reverse Image Search: Yandex and Bing Image Matches

[![400 image matches from Yandex and Bing for 10 photos in 74 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/reverse-image-search-hero.png)](https://console.apify.com/actors/sPU9KElYEEJ1wPJRs/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 140,000 runs across 170+ public actors.

Updated 21 Oct 2026: first release. Yandex and Bing reverse image search by image link, one flat row per match: the page that carries the image, its domain, the matched image file and its pixel size, other sizes, look-alike images and shopping offers with price. Bookmark this Actor on its Store page so it is one click away next time.

### Why choose this actor?

- **Where your image is used, as a list you can sort.** Each row is one page that carries the picture, with the page title, the page link, the domain and a direct link to the copy on that site with its width and height. In our test on 21 October 2026, Yandex knew of 87 to 447 places for each of 10 stock photos, and Bing of up to 40 pages each.
- **Two engines in one run.** Yandex is the strongest engine for exact copies and other sizes of a photo; Bing adds its own pages with this image, visual matches, what it thinks the image shows (`engine_label`, for example "Nike Free 4.0 Flyknit Bright Crimson") and shopping offers with price, seller and rating. Same columns for both, so you can merge or compare them.
- **Pay per match, nothing for errors.** Links that are not images, images an engine cannot load, the summary, info and error rows and anything an engine refuses are never charged. No account, cookies, API key or proxy to set up.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/sPU9KElYEEJ1wPJRs/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works Marketing, SEO and reviews family:** [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Trustpilot Reviews Scraper](https://apify.com/themineworks/trustpilot-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Google Trends Scraper](https://apify.com/themineworks/google-trends-pro?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the input (JSON view) and press Start. It returns the first 10 matches from Yandex and the first 10 from Bing for one landscape photo:

```json
{
  "imageUrls": ["https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800"],
  "engines": ["yandex", "bing"],
  "maxResults": 10
}
```

Put several image links on separate lines to search them all in one run. Each link must open the image itself (a `.jpg`, `.png` or `.webp` address, or a CDN image link), not a web page that shows it.

Apify's free plan includes $5 of credit every month, which covers about 850 matches at this actor's price.

#### Copy to your AI assistant

```text
themineworks/reverse-image-search on Apify. Reverse image search by image URL on Yandex and Bing, with no login: one flat row per match (a page that carries the image, the same image in another size, a look-alike image or a shopping offer). Call ApifyClient("TOKEN").actor("themineworks/reverse-image-search").call(run_input={"imageUrls": ["https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800"], "engines": ["yandex", "bing"], "maxResults": 20}), then client.dataset(run["defaultDatasetId"]).list_items().items. Input: imageUrls (list of public image links, up to 1000), engines (any of "yandex", "bing", "google_lens"; default yandex and bing; google_lens is checked once and skipped because Google walls plain requests), matchTypes (any of "exact", "product", "visual", "similar"; default all), maxResults (default 20, 1 to 500, per image per engine). Match rows have no _type field and carry source_image_url, engine, match_type, match_source (pages_with_image, other_sizes, similar_images, visual_matches, shopping_offers, shopping_ads, products), position, position_in_type, page_title, page_description, page_url, domain, thumbnail_url, matched_image_url, matched_image_width, matched_image_height, price, price_currency, price_text, original_price, store, rating, reviews_count, is_sponsored, engine_label, engine_results_url, scraped_at. Each run also writes one row with _type "summary", info rows (_type "info") for engines that were skipped, and error rows (_type "error") for images that could not be searched; none of these is charged. Full spec: GET https://api.apify.com/v2/acts/themineworks~reverse-image-search/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **Pages with this image.** Yandex lists every page it knows that carries the picture, 87 to 447 per image in our test, each with title, text snippet, page link, domain and the copy's own file link and size. Bing adds up to 40 of its own.
- **Other sizes.** Yandex's list of the same image hosted elsewhere in other resolutions (`match_source: other_sizes`), with the direct file link and its width and height. Useful to find the largest or original copy.
- **Look-alike images.** Bing's visual matches (`match_type: visual`) and Yandex's similar images (`match_type: similar`), for when you want related pictures rather than copies.
- **Shopping offers with price.** For product photos Bing shows offers for what it recognised: title, price, price before discount, store and rating. Organic offers have `is_sponsored: false`; the paid shopping ads Bing puts beside the matches have `is_sponsored: true` and always come after the real matches.
- **What the engine thinks it is.** `engine_label` carries Bing's name for the image, for example "Yosemite National Park" or "White Smartwatch Mockup", on every Bing row.
- **Clean links.** `utm_`, `gclid` and `msclkid` tracking tags are removed from page links; Bing's redirect links are unwrapped to the real address.
- **Stops cleanly.** An engine that refuses 4 images in a row is switched off for the rest of the run with a note, instead of filling your dataset with empty rows. The run stops before its time limit and keeps every row. The summary row says what happened per engine.

### How to use it

#### Basic: where is my photo used?

```json
{
  "imageUrls": ["https://your-site.com/images/hero-photo.jpg"],
  "engines": ["yandex", "bing"],
  "matchTypes": ["exact"],
  "maxResults": 200
}
```

Only copies of the image: pages that carry it and the same file in other sizes. Sort on `domain` to see who uses it, and open `page_url` to check each use.

#### Copyright and brand monitoring on a schedule

Put your product or campaign images in `imageUrls`, set `matchTypes` to `["exact"]` and save it as a task with a weekly schedule. Compare runs on `page_url` to see new sites that picked up your images.

#### Find the original or largest copy

```json
{
  "imageUrls": ["https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800"],
  "engines": ["yandex"],
  "matchTypes": ["exact"],
  "maxResults": 100
}
```

Sort on `matched_image_width` to find the highest resolution copy and the site that hosts it.

#### Price research from a product photo

```json
{
  "imageUrls": ["https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=800"],
  "engines": ["bing"],
  "matchTypes": ["product"],
  "maxResults": 40
}
```

Shopping offers for what Bing recognised in the photo, with `price`, `original_price`, `store` and `rating`. Filter `is_sponsored` to keep only organic offers.

#### Many images at once

Paste up to 1,000 image links. Images are searched five at a time. In our tests, 10 images with both engines and `maxResults` 20 took 74 to 115 seconds and returned 400 rows.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `imageUrls` | array of strings | empty | Public image links, one per line. Up to 1,000 per run. |
| `engines` | array | `["yandex", "bing"]` | `yandex`, `bing`. |
| `matchTypes` | array | all four | `exact`, `product`, `visual`, `similar`. Empty means all. |
| `maxResults` | integer | `20` | Most rows per image from each engine, 1 to 500. With 2 engines and 20, one image gives up to 40 rows. |

Rows for each image and engine come in this order: exact matches, product offers, visual matches, similar images, then sponsored product ads.

### What data do you get?

One row per match. Match rows have no `_type` field; the summary, info and error rows do, so a filter on `_type` separates them.

| Field | What it is |
|---|---|
| `source_image_url` | The image you searched |
| `engine` | `yandex` or `bing` |
| `match_type` | `exact`, `product`, `visual` or `similar` |
| `match_source` | The engine section: `pages_with_image`, `other_sizes`, `similar_images`, `visual_matches`, `shopping_offers`, `shopping_ads`, `products` |
| `position`, `position_in_type` | Place in this image's results from this engine, overall and within its match type |
| `page_title`, `page_description` | Title of the page and, from Yandex, a text snippet |
| `page_url`, `domain` | The page that carries the image (or the product page), and its host |
| `thumbnail_url` | The engine's preview picture of the match |
| `matched_image_url`, `matched_image_width`, `matched_image_height` | Direct link to the copy on that site and its size in pixels |
| `price`, `price_currency`, `price_text`, `original_price` | Product matches: price as a number, currency, as shown, and before discount |
| `store`, `rating`, `reviews_count` | Product matches: seller, rating out of 5, number of reviews |
| `is_sponsored` | True for Bing's paid shopping ads |
| `engine_label` | What the engine says the image shows (Bing) |
| `engine_results_url` | The engine's results page for this image, to open in a browser |
| `scraped_at` | When the row was written |

**Summary row** (`_type: "summary"`, never charged): `images_requested`, `images_done`, `images_not_started`, `invalid_inputs`, `matches_delivered`, `charged_for`, `per_engine` (for each engine: images searched, with matches, without matches, unreadable, failed, matches found and delivered, attempts, captcha pages met, and why it was skipped if it was), `per_image` (status and rows per engine for each image), `http_requests`, `http_megabytes`, `ended_on_deadline`, `stopped_by_max_cost` and `shortfall_reason` when fewer matches came back than asked. The same summary is saved as the `OUTPUT` record of the run.

**Info rows** (`_type: "info"`, never charged): one per engine that was skipped for the run, with `info_type` and `message`.

**Error rows** (`_type: "error"`, never charged): one per image and engine that could not be searched, with `error_type` (`invalid_url`, `image_unreadable`, `blocked`, `fetch_error`), `engine`, `identifier` and `reason`.

#### Stable fields for automations

These were present in every match row of our test runs (420 rows from 5 images, then twice 400 rows from 10 images), and their names will not change:

| Field | What it is |
|---|---|
| `source_image_url` | The key to group rows by image |
| `engine` | Which engine |
| `match_type` | exact, product, visual or similar |
| `match_source` | Engine section |
| `position` | Place in the results |
| `page_title` | Title |
| `page_url` | Page link (Yandex other sizes and similar images have only `matched_image_url`) |
| `domain` | Host |
| `is_sponsored` | Paid ad or not |
| `engine_results_url` | Results page |
| `scraped_at` | Time |

Optional, present only when the engine shows a value: `matched_image_url` and its size (408 of 420 rows in our first test), `thumbnail_url` (401 of 420), `page_description` (Yandex rows), `engine_label` (Bing rows), and the price fields (product rows only).

#### Output examples

A Yandex exact match for a sneaker photo (test run, 21 Oct 2026):

```json
{
  "source_image_url": "https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800",
  "engine": "yandex",
  "match_type": "exact",
  "match_source": "pages_with_image",
  "position": 1,
  "position_in_type": 1,
  "page_title": "Tags: Nike",
  "page_description": "Nike: Elliott Hill is back - 09/20/2024 at 2:28 p.m.",
  "page_url": "https://gettotext.com/tag/nike",
  "domain": "gettotext.com",
  "thumbnail_url": "https://avatars.mds.yandex.net/i?id=f77384d60c7c987309cdf4d041799c8f5bde7597-7089948-images-thumbs&n=13&w=296&h=180",
  "matched_image_url": "https://nvts-gb-ldn-gettotext.gettotext.com/wp-content/uploads/2024/09/Nike-Elliott-Hill-is-back-09202024-at-228-pm.jpg",
  "matched_image_width": 1280,
  "matched_image_height": 853,
  "is_sponsored": false,
  "engine_results_url": "https://yandex.com.tr/gorsel/search?rpt=imageview&url=https%3A%2F%2Fimages.unsplash.com%2Fphoto-1542291026-7eec264c27ff%3Fw%3D800"
}
```

A Bing exact match for the same photo:

```json
{
  "engine": "bing",
  "match_type": "exact",
  "match_source": "pages_with_image",
  "page_title": "Remove the background of product by Nandu_vibes | Fiverr",
  "page_url": "https://www.fiverr.com/nandu_vibes/removal-of-product-background",
  "domain": "fiverr.com",
  "matched_image_url": "https://fiverr-res.cloudinary.com/images/t_main1,q_auto,f_auto,q_auto,f_auto/gigs/161596982/original/58182e04a781ac6832bdeefa312dd689f51c9faf/removal-of-product-background.jpg",
  "matched_image_width": 680,
  "matched_image_height": 454,
  "engine_label": "Nike Free 4.0 Flyknit Bright Crimson"
}
```

A Bing shopping offer for a headphones photo (trimmed):

```json
{
  "engine": "bing",
  "match_type": "product",
  "match_source": "shopping_offers",
  "page_title": "Sony - Professional Studio Headphones - Black | Best Buy",
  "price": 114.99,
  "price_currency": "USD",
  "price_text": "$114.99",
  "store": "DoorDash",
  "rating": 4.7,
  "is_sponsored": false,
  "engine_label": "Over-Ear Headphones"
}
```

An error row for an image the engine could not load (nothing charged):

```json
{ "_type": "error", "error_type": "image_unreadable", "engine": "yandex", "identifier": "https://example.com/photo.jpg", "reason": "Yandex could not load this image (the host may block it, or it is not a public image)." }
```

### Pricing

Pay per event: you pay for the matches you receive, plus a flat $0.003 per run, whatever memory you choose.

| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
| `match-found` | Once per match row stored in your dataset | $5.85 per 1,000 | $5.85 per 1,000 | $5.85 per 1,000 | $5.85 per 1,000 |
| `run-start` | Once per run, after the first engine answer produced matches | $0.003 | $0.003 | $0.003 | $0.003 |

The price of one match is the price per 1,000 divided by 1,000: $0.00585.

Never charged:

- links that are not image links (each gets an error row);
- images an engine could not load or refused (each gets an error row);
- matches past your `maxResults`;
- the summary, info and error rows;
- a run with no valid input, or one where no engine returned a match: the start fee is charged only once matches are ready to deliver;
- anything past your "Max cost per run". The actor checks the budget before each batch of rows and stops while the total is still below your limit, so the run ends SUCCEEDED with a partial result and a status message saying so.

### Run it on a schedule

1. Open the actor in Apify Console, set your input and click **Save as a new task**.
2. In the task, open **Schedules**, click **Add schedule** and pick how often (every day, every Monday at 08:00 and so on).
3. Compare runs on `page_url` to see new pages that use your images.
4. Optional: add an integration (Google Sheets, Slack, a webhook) so each run lands where your team works.

### FAQ

#### What does this actor read?

The public "search by image" results of Yandex and Bing, as anyone sees them without logging in. Each engine fetches your image from its link and returns the pages and images it matched. The actor does not log in, upload files from your computer or solve captchas.

#### Why is there no Google Lens?

Google answers plain requests for Lens results with a "turn on JavaScript" check page, and sends automated browsers to its "unusual traffic" captcha. This actor does not solve captchas, so when you choose `google_lens` it checks once at the start of the run, writes one info row with Google's answer, and carries on with the other engines. Nothing is charged for it.

#### Why did an image return nothing?

Most often the engine could not load the image: the link opens a web page instead of the picture, the image needs a login, or the host blocks outside access (Wikimedia, for example, refuses both engines' fetchers). Each such image gets an `image_unreadable` error row and is not charged. A new or private image can also simply have no copies online yet.

#### How many matches can I get per image?

Yandex knew 87 to 447 pages for each of the 10 well known photos in our test, plus up to 18 other sizes and 40 similar images, all from one results page. Bing returns up to 40 pages with the image and up to 40 visual matches, plus shopping offers for product photos. Set `maxResults` up to 500 per image per engine.

#### Which engine should I use?

Yandex for exact copies, other sizes and the widest list of pages. Bing for its own list of pages, visual matches, a name for what the image shows and shopping prices. Both together give the widest coverage; overlapping pages appear once per engine.

#### How long does a run take?

In our tests: 15 to 37 seconds for the one image "Try it" input (20 rows), and 74 to 115 seconds for 10 images with both engines and `maxResults` 20 (400 rows). The default time limit is 3,600 seconds; the actor stops before it and keeps every row.

#### Do I need an account, cookies or a proxy?

No. The actor uses Apify Proxy, which is included. Nothing to set up.

#### Which formats can I download?

JSON, CSV, Excel, XML, RSS and HTML from the run's Storage tab or through the API. The dataset has three ready views: Matches, Products and prices, and Where it appears.

#### Can I use it from Claude, ChatGPT or Cursor (MCP)?

Yes, through Apify's MCP server. Connector URL: https://mcp.apify.com/?tools=themineworks/reverse-image-search

- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http reverse-image-search "https://mcp.apify.com/?tools=themineworks/reverse-image-search"`

#### Is it legal to use reverse image search results?

The actor reads public search results that anyone can see without logging in. You are responsible for how you use the data and the images it points to, including the engines' terms, copyright and data protection law such as GDPR and CCPA. This is general information, not legal advice.

### Integrations

- **Google Sheets**: send each run's matches to a sheet with Apify's Google Sheets integration; one row per match fits a sheet as is.
- **Make, Zapier and n8n**: start a run and read its dataset with the Apify apps and nodes, for example "new sites using our product photos every Monday to Slack".
- **Webhooks**: have Apify call your URL when a run succeeds, then fetch the dataset.
- **API and SDKs**: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above).
- **MCP clients**: Claude, ChatGPT, Cursor and VS Code can run it as a tool through the connector URL in the FAQ.

### More from The Mine Works

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Trustpilot Reviews Scraper](https://apify.com/themineworks/trustpilot-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Trends Scraper](https://apify.com/themineworks/google-trends-pro?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Semrush Scraper](https://apify.com/themineworks/semrush-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [App Reviews Scraper](https://apify.com/themineworks/app-reviews-monitor?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Trustpilot Business Search](https://apify.com/themineworks/trustpilot-business-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [TripAdvisor Reviews Scraper](https://apify.com/themineworks/tripadvisor-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Username Checker](https://apify.com/themineworks/username-checker?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Backlink Building Agent](https://apify.com/themineworks/backlink-building-agent?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

# Actor input Schema

## `imageUrls` (type: `array`):

Public links to the images to search, one per line. Each link must open the image itself (a .jpg, .png or .webp address, or a CDN image link), not a web page. Example: https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800. Up to 1,000 images per run.

## `engines` (type: `array`):

Where to search. yandex: pages with the image (87 to 447 per image in our test), other sizes and similar images. bing: pages with the image, visual matches and shopping offers (up to 40 each).

## `matchTypes` (type: `array`):

Which matches to return. exact: pages that carry this same image, and the same image in other sizes. product: shopping offers with a price (Bing shows them as sponsored product ads). visual: Bing's visual matches. similar: Yandex's look-alike images. Leave empty for all four. Rows come in this order: exact, product, visual, similar.

## `maxResults` (type: `integer`):

The most rows to return for each image from each engine, 1 to 500. With 2 engines and 20, one image gives up to 40 rows. Exact matches fill the rows first. Example: 50.

## Actor input object example

```json
{
  "imageUrls": [
    "https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800"
  ],
  "engines": [
    "yandex",
    "bing"
  ],
  "maxResults": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "imageUrls": [
        "https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800"
    ],
    "engines": [
        "yandex",
        "bing"
    ],
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/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 = {
    "imageUrls": ["https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800"],
    "engines": [
        "yandex",
        "bing",
    ],
    "maxResults": 10,
}

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

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

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

```

## CLI example

```bash
echo '{
  "imageUrls": [
    "https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800"
  ],
  "engines": [
    "yandex",
    "bing"
  ],
  "maxResults": 10
}' |
apify call themineworks/reverse-image-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/reverse-image-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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