Skip to content

getascraper/how-to-scrape-yandex-reverse-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yandex Reverse Image Search Scraper: Similar Images and Source Pages

Apify Actor Actor Version Actor Price GitHub Issues Last Commit

Reverse image search on Yandex at scale. Submit image URLs and get similar images, source pages, tags, and other sizes as structured data. No login needed.

Yandex Reverse Image Search Scraper on Apify


Why use Yandex Reverse Image Search Scraper

  • Search a whole batch at once: Submit one image or hundreds in a single run, and every result stays tagged to its source image.
  • Five kinds of matches in one dataset: Similar images, matching pages, text tags, other sizes, and shopping matches, all in one flat table.
  • No account or sign-in: The Actor reads public Yandex Images results, so there is nothing to log into.
  • Only real data: Missing fields are left out instead of filled with a placeholder, and there is no invented similarity score.
  • Coverage Western tools miss: Yandex often surfaces matches on Russian and CIS sites that other reverse image engines do not index.

How to use Yandex Reverse Image Search Scraper

  1. Paste one or more public image URLs into Image URLs.
  2. Turn the match categories you want on or off, and set a Max results per image cap if you want smaller runs.
  3. Click Start: The actor collects every matching record and writes one flat row per item.
  4. Download your results: Export as Excel, CSV, JSON, or HTML from the Output tab.

Input

Field Type Required Description
imageUrls array of strings Yes One or more public direct image URLs to search on Yandex Images.
maxResultsPerImage integer No Cap on how many matches to return per category, per image. Default 20.
includeSimilarImages boolean No Return visually similar images. Default on.
includeMatchingPages boolean No Return web pages that use the image. Default on.
includeTags boolean No Return Yandex's best-guess text labels for the image. Default on.
includeOtherSizes boolean No Return copies of the image at other resolutions. Default on.
includeShoppingMatches boolean No Return product listings tied to the image, when present. Default on.
proxyConfiguration object No Proxy used to reach Yandex. The default setting works out of the box.

Output

Each row in your dataset is one match, tagged with the input image it came from. All fields are flat with no nested data, so the file opens cleanly in any spreadsheet program.

{
  "inputImageUrl": "https://example.com/product-photo.jpg",
  "matchType": "matching_page",
  "title": "Winter Down Jacket, Navy: Online Store",
  "url": "https://shop.example.ru/catalog/down-jacket-navy",
  "imageUrl": "https://avatars.mds.yandex.net/get-images/123/orig",
  "width": 1200,
  "height": 1600,
  "sourceDomain": "shop.example.ru",
  "description": "Navy down jacket, sizes S to XXL, free shipping across Russia.",
  "scrapedAt": "2026-07-09T10:22:41.508Z"
}

Data table

Field Type Description
inputImageUrl text The input image this row of matches came from.
matchType enum The kind of match: similar image, matching page, tag, other size, or shopping match.
title text Title of the matched result, such as a page title or product name.
url text Link to the match: the page using the image, a similar image, a tag search, or a product listing.
imageUrl text Direct link to the matched image file.
width integer Pixel width of the matched image.
height integer Pixel height of the matched image.
sourceDomain text Domain of the page that uses the image, for matching page rows.
description text Short text snippet from the page that uses the image, for matching page rows.
scrapedAt text Timestamp of when the match was found.

Pricing

$0.0044 per Image match ($4.40 per 1,000 results). No monthly subscriptions and no minimum commits. New Apify accounts include $5 of free usage, so you can try it before you pay.

You only pay for the matches actually returned, and an image with no matches costs nothing.


Quick start

Create a .env file from .env.example, add your Apify API token, and run:

npm install
npm start

The script uses the Apify API client to start Yandex Reverse Image Search Scraper and fetch results.


Tips and optimization

  • Use direct image links: A link ending in .jpg, .png, or .webp works better than a link to the page the image sits on.
  • Turn off categories you do not need: Keeping only the match types you actually use keeps runs lean and results focused.
  • Cap results on exploratory runs: Set a low max results per image first, then raise it once you know how many matches a typical image returns.
  • Schedule repeat runs: Watch the same set of images over time to catch new pages that start using your photos.

FAQ

Can I search many images in one run? Yes. Add every image URL to the Image URLs field and start one run. Each image is searched separately, and every result row is tagged with the image it came from.

Can I find which websites are using my image? Yes. Keep matching pages turned on and the actor returns the pages that use each image, along with the page title, the domain, and a short text snippet.

Why are some fields missing from a row? Yandex does not report every detail for every match. Rather than guess, the actor leaves those fields out so your data stays accurate. There is no invented similarity or confidence score, because Yandex does not provide one.

Do I need to log into Yandex to use this? No. The actor reads public reverse image search results that any visitor can see on Yandex Images.


Support

For bug reports, missing fields, or feature requests, open an issue under the Issues tab.

Releases

Packages

Contributors

Languages