Yandex Reverse Image Search: Find Where Images Appear
Yandex Reverse Image Search is an Apify actor (API) by CheapAPI Labs. Find where an image appears on the web, with page titles and links for each match. It costs $11.40 per 1,000 image matches on the Apify Free plan and $8.50 on Gold, billed through your Apify account with no API key.
Compared with the most used Yandex reverse image actor (about 200 users): 100 images with 40 matches each costs $45.60 on Free and $34.00 on Gold here and $54.00 and $40.00 there (Apify Store listing prices, checked October 2026).
Our prices updated 30 October 2026; competitor prices as checked in the comparison. 1 Apify user has run this actor (Apify Store count, 30 October 2026).
What does Yandex Reverse Image Search return?
Search Yandex Images by image in bulk (JPEG, PNG, GIF or WebP) and get clean JSON: for every image URL you give, the web pages that show the same or a visually similar image, with the page title and URL, the website, the matching image's URL, size and format, and the text next to it. Yandex's reverse image search is known for finding re uploads, crops and edits that other engines miss. Up to about 1,480 matches per image (37 pages × 40 for popular images), 5,000 images per run, no browser, proxy, captcha or Yandex account needed.
| Quick facts | |
|---|---|
| Price | $11.40 per 1,000 matches on the Free plan, $8.50 on Gold+; no start fee |
| Depth | about 40 matches per results page, up to ~1,480 per image (37 pages, popular images) |
| Input | direct image URLs (JPEG, PNG, GIF, WebP); up to 5,000 per run |
| Filters | only one website (e.g. etsy.com), safe search |
| Speed | 3 to 20 seconds per results page in our tests (occasionally up to ~60 s); 5 images in parallel |
Why this Actor
- 15% cheaper per match than the most used Yandex reverse image Actor on every plan, $0.0114 per match on Free and $0.0085 on Gold+, with no start fee (a results page with fewer than 2 matches costs one flat $0.0097 instead).
- Bulk and deep: thousands of images per run and up to ~1,480 matches per image, fetched page by page through Yandex's own image handle (no re uploads).
- Works with images Yandex cannot reach: when Yandex fails to download an image URL, the Actor downloads it and sends the image itself (up to 2.3 MB).
- Find copies on one site: set Only this site to check whether a marketplace, competitor, stock site or social network uses your photo.
- Fair billing: charged per delivered match; an image with no matches costs one flat $0.0097 page fee, images that cannot be searched are free, and your maximum cost per run is always respected.
One example row from a real run, shortened:
{
"id": "488a1879c4836ef7",
"searchedImageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Tour_Eiffel_Wikimedia_Commons_%28cropped%29.jpg/500px-Tour_Eiffel_Wikimedia_Commons_%28cropped%29.jpg",
"position": 1,
"resultsPage": 1,
"pageUrl": "https://ca.pinterest.com/ideas/eiffel-tower-high-resolution-photo/903938408451/",
"pageTitle": "Eiffel Tower High Resolution Photo",
"site": "ca.pinterest.com",
"imageUrl": "https://images.pexels.com/photos/33320737/pexels-photo-33320737.jpeg?cs=srgb&dl=pexels-dylan-linders-2152031237-33320737.jpg&fm=jpg",
"imageWidth": 720,
"imageHeight": 1280,
"imageFormat": "jpeg",
"passage": "Eiffel tower high resolution photo",
"availablePages": 37,
"siteFilter": "pinterest.com",
"safeSearch": "moderate",
"scrapedAt": "2026-10-05T14:51:28.424Z"
}Which fields do you get?
One row per match:
| Field | Type | Example |
|---|---|---|
id |
string | cd6be40556e43a13 (stable across runs) |
searchedImageUrl |
string | the image URL from your input |
position |
integer | 45 (1 = best match) |
resultsPage |
integer | 2 (about 40 matches per page) |
pageUrl |
string | https://www.shopify.com/stock-photos/photos/the-eiffel-tower-paris?c=trip |
pageTitle |
string | Picture of The Eiffel Tower Paris - Free Stock Photo |
site |
string | shopify.com |
imageUrl |
string | https://upload.wikimedia.org/wikipedia/commons/a/aa/TourEiffel%28Paris%29.JPG |
imageWidth / imageHeight |
integer | 925 / 1387 |
imageFormat |
string | jpeg, png or gif (null when Yandex does not say) |
passage |
string | Image of The Eiffel Tower Paris. (text next to the image) |
availablePages |
integer | 37 (results pages Yandex has for this image) |
siteFilter, safeSearch, scrapedAt |
string | your filters and the run time |
The dataset has two views, Matches (with image previews) and Pages and sites. Every run also saves a RUN_SUMMARY record in its key value store: images requested, completed, without matches (and a noMatchImages list of them, each was charged one flat page fee), failed, uploaded by the Actor and skipped by your cost limit, results pages searched, matches delivered, flat page fees charged, waits at the hourly limit, and a problems list with the reason for every image that was skipped or failed.
How much does Yandex Reverse Image Search cost?
You pay per event, through your Apify account. Main price: $11.40 per 1,000 image matches on the Apify Free plan and $8.50 on Gold. Every event and plan:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| Image matchOne delivered match: a web page where the searched image (or a visually similar image) appears, with the image URL, size, page title and text. No start fee. | $0.0114 | $0.0106 | $0.0095 | $0.0085 |
| Results page with 0 to 1 matchesCharged instead of per match fees for a Yandex results page that gave fewer than 2 new matches (no matches for the image, only 1 left to deliver, or a page of repeats), because the search was still made. Images that could not be searched are free. | $0.0097 | $0.0097 | $0.0097 | $0.0097 |
How do I call Yandex Reverse Image Search API from code?
Every run is one HTTP request to the Apify API with your Apify token; the input below is the actor's own example. The synchronous endpoint returns the rows in the response for runs up to 300 seconds; for longer runs start a run and fetch its dataset.
curl -X POST "https://api.apify.com/v2/acts/cheapapi~yandex-reverse-image-search/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"imageUrls":["https://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Tour_Eiffel_Wikimedia_Commons_%28cropped%29.jpg/500px-Tour_Eiffel_Wikimedia_Commons_%28cropped%29.jpg"],"maxResultsPerImage":20}'With the JavaScript client:
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('cheapapi/yandex-reverse-image-search').call({
"imageUrls": [
"https://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Tour_Eiffel_Wikimedia_Commons_%28cropped%29.jpg/500px-Tour_Eiffel_Wikimedia_Commons_%28cropped%29.jpg"
],
"maxResultsPerImage": 20
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();How does Yandex Reverse Image Search compare with alternatives?
Typical job: 100 images × 40 matches (4,000 matches). Actor fees of public Apify Store listings (Free plan / Gold plan), checked October 2026:
| Option | 100 images × 40 matches | Price per match | Notes |
|---|---|---|---|
| This Actor | $45.60 / $34.00 | $0.0114 / $0.0085 | pages and similar images; site filter |
| Most used Yandex reverse image Actor (~200 users) | $54.00 / $40.00 | $0.0135 / $0.01 | also tags, other sizes, products; crop box |
| Per item Actor (~13 users) | $17.60 / $13.20 | $0.0044 / $0.0033 | small listing |
| Free Actor (~27 users) | platform usage only | , | small listing |
We are 15% cheaper per match than the most used listing on every plan (a page with 0 to 1 matches is one flat $0.0097, still below one match at the leader's price). Two small listings are cheaper per row; compare their output fields and limits with your job before choosing.
What is it used for?
- Copyright and photo theft: find websites and shops that use your product photos, artwork or stock images without a licence.
- Brand protection: check marketplaces (
site: etsy.com,aliexpress.com) for listings that reuse your product images. - Fact checking and OSINT on content: find earlier uploads and the original source of a picture before you share it.
- Backlink and PR outreach: find pages that use your images without linking to you and ask for credit.
- Dropshipping and sourcing research: see where a product photo appears to find suppliers and competing sellers.
- Dataset building: collect visually similar images (with their pages) for a topic.
What is not included?
- Image tags, "other sizes" lists, shopping products and the knowledge card shown on the Yandex Images website, the official image search returns pages and images only.
- Separate "exact copy" and "similar image" groups, matches come in Yandex's single ranking (exact copies usually rank first).
- Cropping a part of the image, crop the image yourself and search the cropped URL.
- Uploading local files, give a public URL (any file host or an Apify key value store record works).
- Face recognition or identification of people, see Is it legal?.
What are the limits?
- Image URLs only (JPEG, PNG, GIF, WebP); images Yandex cannot reach are uploaded only up to 2.3 MB.
- About 40 matches per results page; the total depends on the image (popular images ~1,480, rare ones a few or none).
- If Yandex does not answer a search within 90 seconds, that image is listed in
RUN_SUMMARY.problems(not charged) and can simply be searched again in a new run; the request is not repeated automatically because Yandex may already have processed it. - Yandex allows a limited number of image searches per hour (shared by all users of this Actor); large runs may wait at the limit.
- Matches are not split into "exact" and "similar"; tags, other sizes and shopping products from the Yandex website are not available.
- Results reflect Yandex's index, which is strongest for Russian and international sites and may miss very new pages.
Questions about Yandex Reverse Image Search
Is it legal?
The Actor uses Yandex's official image search service and returns public web pages. Use it for your own images, copyright, brand protection and content verification. Do not use it to identify or track private individuals from photos of them, that may be illegal (e.g. under the GDPR) and is not allowed with this Actor.
How fresh is the data?
Every search is made live at run time against Yandex's current image index.
Why did I get fewer matches than I asked for?
Yandex has fewer matches for rare or new images, the site filter removes the rest, and repeated matches are dropped. availablePages shows how many pages Yandex had.
Why are some matches only similar, not the same image?
Yandex ranks exact copies and visually similar images in one list. Exact copies usually come first; check imageWidth/imageHeight and the page to confirm.
Why was I charged for an image with no matches?
Yandex still made the search, so one flat $0.0097 page fee applies, less than one match. The same fee applies to a later results page that only repeated matches you already got. Images that could not be searched are free.
My image URL is behind a login or on my computer, what can I do?
Upload it to any public host (or an Apify key value store record) and use that URL. If Yandex cannot download a public URL itself, the Actor sends the image directly.
The run says it is waiting at the hourly limit, is something wrong?
No. Yandex limits image searches per hour; the run waits and continues automatically (up to Maximum wait), and nothing is charged while it waits, only for results pages that were searched.
Do I need a Yandex account or API key?
No. Everything is included in the price.
Run Yandex Reverse Image Search on Apify
The form opens with a working example. Free Apify accounts get a small monthly allowance.