AliExpress Image Search Scraper — Find Products by Photo
Pricing
from $6.00 / 1,000 image searches
AliExpress Image Search Scraper — Find Products by Photo
Search AliExpress by photo instead of keywords. Paste image links and get the products AliExpress matches to each one, in its own ranking, with price, discount, unit price, orders, rating, Choice label and a 0-100 visual similarity score per match. 55 countries, 31 currencies.
Pricing
from $6.00 / 1,000 image searches
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
Search AliExpress with a photo instead of keywords. Give it image links or upload photos, and get back the products AliExpress matches to each picture, in the same order as AliExpress's own "search by image", with price, discount, unit price, orders, rating, the Choice label and a 0-100 visual similarity score for every match. Switch on product details to add every variant with its stock, shipping to your country and the seller behind each match.
Built for sourcing, dropshipping research and price comparison: find who sells the item in a photo, at what price, and how well it sells.
Why Use This Scraper?
- Photo in, products out. No need to guess the right keywords for a product you only have a picture of.
- A similarity score on every match.
visualSimilarity(0-100) comes from AliExpress's own image model, so you can drop look-alikes and keep near-identical listings with one setting. - AliExpress's own highlights. Cards that AliExpress marks as the best similar item, the top seller or the best price are labelled in
highlight. - Prices for your market. Choose the ship-to country, one of 31 currencies and one of 12 title languages.
- Seller, variants and shipping on request (from 8 November 2026).
includeDetailsadds each match's store (name, positive feedback, sales, age), every variant with its price and stock, and the shipping options and delivery days for your country. - Links or uploads. Paste image links, data URLs, or upload photos from your computer in the input form.
- Exact order counts where AliExpress sends them, plus unit price on multi-piece listings.
- Bulk friendly. Any number of images per run, up to 1,000 matches per image, several images in parallel.
- No account, no browser, no cookies to paste. The actor uses its own connections.
Overview
The actor is for anyone who starts from a picture: a product seen on social media, a competitor's catalogue photo, a supplier's sample, a customer's screenshot. For each image it runs one AliExpress search by image and writes one dataset row per matched product. An image that yields nothing (a dead link, a file that is not an image) gets a single status row that explains why, so every input image is accounted for.
Each row says which input image it belongs to (searchImage, searchImageIndex) and where the product ranked (position), so results from many images can be filtered and grouped in one table.
Supported Inputs
| Input | Example |
|---|---|
| Direct image link | https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg |
| Image on any other site | https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png |
| Data URL | data:image/png;base64,iVBORw0KGgo... |
| Photo from your computer | the "Or upload photos" field in the input form (uploadedImages) |
Formats: JPG, PNG, WebP, AVIF, GIF (first frame), TIFF, SVG. Large photos are shrunk to a 200 KB JPEG before upload, the same way the AliExpress website does it, so a 5 MB camera photo works.
Copy-paste input:
{"images": ["https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg","https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png"],"maxMatchesPerImage": 60}
Unsupported inputs
- Web pages instead of images. A product page or an Instagram post URL returns HTML, not a picture. Use the address of the image itself (right-click the picture, "Copy image address"). Such links come back as an
image_unreadablerow. - Keyword searches and product links. For those, use AliExpress Scraper or AliExpress Product Details Scraper.
- Images behind a login. The link must open in a private browser window.
Use Cases
| Who | What they do with it |
|---|---|
| Dropshippers | Find every seller of a trending product from one photo, compare prices and order counts |
| Ecommerce sourcing teams | Match their own catalogue photos to AliExpress suppliers and unit prices, then check stock and shipping with product details |
| Price monitoring | Re-run the same images on a schedule and watch the cheapest match move |
| Brand protection | Spot listings that reuse or imitate a product photo, ranked by similarity |
| Marketplace analysts | See which look-alike products sell, at what discount, and since when they are listed |
| Agencies and tool builders | Add "find it on AliExpress" to an app through the Apify API |
How It Works

- Each image is downloaded (or decoded from the data URL) and re-encoded as a JPEG of at most 200 KB.
- The JPEG is uploaded to AliExpress's search by image, which returns an id for the uploaded file.
- The results page for that id is loaded through a residential connection whose AliExpress data centre holds the file. If the first one cannot read it, the actor moves to another exit and remembers what worked for the rest of the run.
- Result pages (60 cards each) are read until your limit is reached or AliExpress runs out of new products. Products repeated across pages are dropped.
- With
includeDetails, each match's product data (variants, stock, shipping, seller) is fetched from AliExpress's product API before the row is written. - Every distinct product becomes one row, in AliExpress's ranking order.
Input Configuration
| Field | Type | Default | Description |
|---|---|---|---|
images | array of strings | empty | Image links or data:image/... URLs, one per line. One search per image. Give this, uploadedImages, or both. |
uploadedImages | array (file upload) | empty | Photos uploaded from your computer in the input form. Searched like the links. |
maxMatchesPerImage | integer | 60 | Products to collect per image, 1-1000. Most images have 100-200 distinct matches; the search stops early when AliExpress runs out. |
sortBy | string | best_match | best_match (AliExpress's visual ranking), orders, price_asc or price_desc. |
minSimilarity | integer | 0 | Leave out matches whose visualSimilarity is below this, 0-100. Near-identical listings score 90+. |
includeDetails | boolean | false | Add product details to every match: variants with price and stock, shipping options and delivery days for shipTo, seller card, specs, images, video. One extra request per match; charged per match whose details come back. |
currency | string | USD | Currency for every price (31 currencies). |
shipTo | string | US | Two-letter country code that prices, promotions and shipping are quoted for (55 countries). |
language | string | en_US | Language of titles and card labels: en_US, ar_MA, de_DE, es_ES, fr_FR, it_IT, ja_JP, nl_NL, pl_PL, pt_BR, th_TH or tr_TR. |
maxConcurrency | integer | 3 | Images searched at the same time, 1-10. |
proxyConfiguration | object | empty | Leave empty to use the actor's own connections. Fill in only to send traffic through your own proxy URLs. |
Common scenarios
Cheapest close matches for one product photo, priced in euros for Germany:
{"images": ["https://ae-pic-a1.aliexpress-media.com/kf/S855220c50df546d5bab115643d3982d6R.jpg"],"sortBy": "price_asc","minSimilarity": 80,"shipTo": "DE","currency": "EUR"}
Best sellers that look like a list of catalogue photos:
{"images": ["https://example.com/catalogue/lamp-01.jpg","https://example.com/catalogue/lamp-02.jpg"],"sortBy": "orders","maxMatchesPerImage": 30}
Sellers, stock and shipping to France for the closest matches, titles in French:
{"images": ["https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg"],"maxMatchesPerImage": 20,"minSimilarity": 85,"includeDetails": true,"shipTo": "FR","currency": "EUR","language": "fr_FR"}
Every match AliExpress has for an image:
{"images": ["https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg"],"maxMatchesPerImage": 1000}
Output Overview
One row per matched product with status: "ok". Prices are numbers in the run's currency, with AliExpress's printed versions in priceText and originalPriceText. Fields AliExpress leaves out for a card (no rating yet, no sales yet) are null, never guessed.
With includeDetails, each match also carries a details object (described below); without it, details is null.
An image without matches produces one row with status set to image_unreadable, upload_failed, no_results or failed, an error sentence, and empty product fields. Only ok rows count as matches.
The dataset's Overview tab shows image number, rank, similarity, highlight, title, link, orders, rating, discount, prices and Choice in a table; export to JSON, CSV, Excel or XML from there or from the API.
Output Samples
A match for the first image of a run, best-match order, US / USD (real row, 2026-10-24, categoryIds shortened):
{"status": "ok","error": null,"searchImageIndex": 1,"searchImage": "https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg","position": 2,"visualSimilarity": 96.1,"highlight": null,"matchesReported": 163,"shipTo": "US","currency": "USD","productId": "1005012800262062","title": "10-100Pcs Artificial Strawberries Fake Plastic Fruit for Home Kitchen Garden Decoration Photo Props Christmas Party DIY Decor","url": "https://www.aliexpress.com/item/1005012800262062.html","imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg","skuId": "12000059354699777","categoryIds": ["15", "100001824", "..."],"listedDate": "2026-07-23","shipFrom": "CN","orders": 79,"sold": "79 sold","rating": 5,"isChoice": true,"tags": ["$1.04 each, ≥ 2 pieces", "New shoppers save $4.05"],"originalPrice": 5.14,"discountPercent": 78,"price": 1.09,"unitPrice": 0.11,"unit": "pc","originalPriceText": "US $5.14","priceText": "US $1.09","details": null,"searchedAt": "2026-10-24T11:59:32.581Z"}
The status row for a link that is not an image (product fields omitted, all null):
{"status": "image_unreadable","error": "could not download the image (HTTP 400)","searchImageIndex": 5,"searchImage": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Adidas_Superstar_shoes.jpg/640px-Adidas_Superstar_shoes.jpg","shipTo": "US"}
The details object of the same product with includeDetails, ship-to DE in EUR (real, 2026-10-25; lists cut to one entry and a few store fields left out, the product had 6 variants, 10 specs and 6 images):
"details": {"status": "ok","statusReason": null,"price": { "min": 2.85, "max": 19.39 },"originalPrice": { "min": null, "max": null },"reviewCount": 2,"totalStock": 236,"shipsToCountry": true,"store": {"id": "1102773079","name": "Shop1102672186 Store","url": "https://www.aliexpress.com/store/1102773079","positiveRate": "95.0%","soldLast180Days": "40,000+","country": "China","openedAt": "2023-04-13 05:52:44","topRatedSeller": false},"shipping": [{"method": "AliExpress Selection Standard Shipping","code": "CAINIAO_FULFILLMENT_STD","carrier": "AliExpress Selection Standard","fee": 1.99,"freeShipping": false,"currency": "EUR","shipFrom": "China","shipFromCode": "CN","shipTo": "DE","deliveryDaysMin": 5,"deliveryDaysMax": 8,"estimatedDelivery": "Oct. 29 – Nov. 01","tracking": true,"available": true}],"skus": [{"skuId": "12000059354699777","attributes": {"Size": "3X3.5CM","Color": "10PCS"},"price": 2.85,"originalPrice": null,"stock": 18,"maxBuyCount": 18,"available": true,"image": "https://ae-pic-a1.aliexpress-media.com/kf/Se524df9463294921a7c4221133cdb7c1O.jpg"}],"attributes": [{"name": "Applications","value": "Birthday,Housewarming Party"},{"name": "Purpose","value": "Home Decoration"}],"images": ["https://ae-pic-a1.aliexpress-media.com/kf/Se524df9463294921a7c4221133cdb7c1O.jpg"],"video": null,"categoryPath": "15/100001824/200298145/200300144"}
Key Output Fields
Match
searchImage,searchImageIndex: which input image the row belongs toposition: rank in AliExpress's results, from 1visualSimilarity: 0-100, how alike the product photo and your image arehighlight: AliExpress's card label, such as "Best similar item", "Top selling item" or "Best priced item"matchesReported: how many results AliExpress reports for the image
Product
productId,title,url,imageUrl,skuIdcategoryIds: category path, top level firstlistedDate: when the listing went liveshipFrom: country the item ships from
Demand and trust
orders: exact order count where AliExpress sends one, else the number insoldsold: as AliExpress prints itrating: out of 5isChoice: AliExpress Choice listing
Price
originalPrice,discountPercent,price: before discount, the cut, and what you pay, all incurrencyunitPrice,unit: price per piece on multi-piece listings, and what it is per (e.g. "pc")originalPriceText,priceText: as printed by AliExpresstags: selling-point labels such as bulk-buy prices, coin discounts, delivery dates
Product details (includeDetails)
details.status:ok,unavailable(no longer sold),not_found(removed) orfailed; onlyokis chargeddetails.store: seller name, link, positive feedback, sales in the last 180 days, country, store age, top-rated flagdetails.skus,details.skuProperties: every variant with its attributes, price, stock and purchase limitdetails.shipping,details.shipsToCountry: carriers, fee, delivery days and dates forshipTodetails.totalStock,details.price,details.originalPrice: stock and price range across variantsdetails.attributes,details.certifications,details.images,details.video,details.descriptionUrl,details.categoryPath,details.reviewCount
Run
status,error,shipTo,searchedAt
FAQ
What kind of link do I need?
The address of the picture itself. On most sites, right-click the image and choose "Copy image address". A link to a web page returns an image_unreadable row.
How many matches does one image give?
AliExpress usually has 100 to 200 distinct products per image. The first page holds 60; later pages repeat part of the earlier ones, and the actor keeps only new products. It stops when AliExpress has nothing new, even if maxMatchesPerImage is higher.
What does visualSimilarity mean?
It is AliExpress's own image-model score for how alike the listing photo and your image are, scaled to 0-100. The exact same photo scores about 95-97; the same product shot differently is often 80-90; look-alikes in the same category sit in the 60s and 70s. minSimilarity filters on it.
Is the order the same as on the AliExpress website?
With sortBy: best_match, yes: rows keep AliExpress's ranking, which blends similarity with sales and price, so position 1 is not always the highest visualSimilarity.
Why do prices differ from what I see in my browser?
Prices depend on the ship-to country, currency and new-buyer promotions. Set shipTo and currency to match your market. The cards show the lowest variant price; AliExpress Product Details Scraper returns every variant with its own price and stock.
Does it return store names, stock or shipping fees?
Yes, with includeDetails: true, from 8 November 2026 (a run that asks for details before then logs a warning and returns everything else). Search cards do not carry them, so the actor makes one extra request per match to AliExpress's product API and adds a details object: the store, every variant with price and stock, and the shipping options for your shipTo country. It takes longer per image and is charged per match whose details come back.
Can I get titles in another language?
Yes: set language, e.g. de_DE or ja_JP. Prices and shipping still follow currency and shipTo.
Can I upload photos instead of linking them?
Yes. In the input form, use "Or upload photos"; through the API, pass any reachable image link or a data:image/...;base64, string in images.
What happens when an image fails?
It gets one row with a status other than ok and an error sentence, and it is not charged. The rest of the run carries on.
How am I charged?
One image-search event for each image that returns matches (this covers its first results page), and one results-page event for each further page that adds matches. With includeDetails, one match-details event per match whose details come back. Images that cannot be read or return nothing are free, and so are details AliExpress refuses or marks unavailable. Prices are on the Pricing tab.
Support
Found a bug or need a field? Open an issue on the Issues tab or email muhamed.didovic@gmail.com.
Additional Services
Need image matching against your own catalogue, a scheduled price watch on a set of photos, or results pushed to your database or webhook? Email muhamed.didovic@gmail.com for custom work.
Explore More Scrapers
- AliExpress Scraper: keyword and URL search with prices, sales, ratings and optional reviews
- AliExpress Product Details Scraper: every variant with price and stock, shipping to your country, seller stats
- 1688 Wholesale Scraper: keyword and photo search on China's wholesale marketplace
- Alibaba Scraper: products, MOQ and supplier data
- Temu Product Scraper: prices, ratings and sales from Temu
Full list at apify.com/memo23.
🤖 For AI Agents & LLM Apps
Quick reference for agents calling this actor through the Apify MCP server or the Apify API (actor: memo23/aliexpress-image-search-scraper).
Purpose: reverse image search on AliExpress: one image in, the matching AliExpress products out, ranked, with a 0-100 visual similarity score.
Minimal input:
{ "images": ["https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg"], "maxMatchesPerImage": 20 }
Output: one dataset row per matched product: status, error, searchImageIndex, searchImage, position, visualSimilarity, highlight, matchesReported, shipTo, currency, productId, title, url, imageUrl, skuId, categoryIds, listedDate, shipFrom, orders, sold, rating, isChoice, tags, originalPrice, discountPercent, price, unitPrice, unit, originalPriceText, priceText, details {status, store, skus, shipping, totalStock, attributes, images, ...}, searchedAt.
Behaviors an agent should know:
imagesmust be direct image URLs ordata:image/...;base64,strings, not web pages.- Filter rows on
status == "ok"; other statuses are one explanation row per failed image. - Set
maxMatchesPerImageto what you need; one image yields at most about 100-200 distinct products. minSimilarity: 85keeps close matches only; 0 keeps everything.includeDetails: trueadds seller, variants, stock and shipping per match (one extra request each, slower);languagesets the title language.- Billing:
image-searchper image with matches (first page included),results-pageper further page with new matches,match-detailsper match with details; failed images and refused details are free. - A run takes roughly 5-15 seconds per image with default settings.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by AliExpress, Alibaba.com Singapore E-Commerce Private Limited, Alibaba Group Holding Limited or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper reads only publicly available AliExpress search results, the same ones any visitor sees after using the website's search by image. It does not log in, use paid features or reach content behind the AliExpress account wall. The images you submit are uploaded to AliExpress's image search to run the search, so only submit images you have the right to use. Users are responsible for making sure their use complies with AliExpress's Terms of Use, applicable data-protection law (GDPR, CCPA and others) and their own organisation's obligations.
SEO Keywords
aliexpress image search scraper, aliexpress search by image, aliexpress reverse image search, aliexpress photo search API, search aliexpress by photo, Apify aliexpress, find product by image, reverse image search products, visual product search, image to product finder, dropshipping product finder, aliexpress supplier finder, product sourcing by photo, aliexpress price comparison, similar products finder, aliexpress price monitoring, ecommerce image matching, counterfeit listing detection, marketplace product intelligence, china sourcing data