# Alibaba Lens Scraper (`devcake/alibaba-lens`) Actor

Find products by image across Alibaba, 1688, AliExpress and Global Sites. Compare prices, MOQ and suppliers in one table. Export results to CSV or JSON.

- **URL**: https://apify.com/devcake/alibaba-lens.md
- **Developed by:** [devcake](https://apify.com/devcake) (community)
- **Categories:** AI, E-commerce, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

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

## Find Products by Image on Alibaba, 1688 and AliExpress

Use **reverse image search** to find products by image across Alibaba.com, 1688, AliExpress, and Global Sites. Alibaba Lens Product Search turns a product photo into visually similar listings with prices, minimum order quantities (MOQ), supplier details, and direct product links when available.

Upload a photo or add image links, then open **Quick scan** to compare all selected marketplaces in one table. Find similar products, shortlist potential suppliers, and export matching product data to CSV, Excel, or JSON for your sourcing workflow.

### 🔍 What can you do with this Actor?

- Find visually similar products from a reference photo.
- Search Alibaba.com, 1688, AliExpress, and Global Sites together.
- Compare product prices and minimum order quantities.
- Review suppliers, countries, marketplace history, ratings, and reviews.
- Open matching product and supplier pages directly from the results.
- Search up to 100 reference images in one run.
- Collect up to 100 matches for every image and selected marketplace.
- Download clean results for sourcing, comparison, or further research.

### 🌍 Search multiple marketplaces by image

| Marketplace | What it helps you find |
| --- | --- |
| **Alibaba.com** | Wholesale products, supplier information, MOQ, prices, and visually similar listings. |
| **1688** | Product matches from the domestic Chinese wholesale marketplace. |
| **AliExpress** | Retail and small-order product listings that resemble your reference image. |
| **Global Sites** | Additional matches available through the Alibaba Lens Global Sites search. |

Every image is searched across Alibaba.com, 1688, AliExpress, and Global Sites by default. You can still narrow the marketplace selection when needed. If one marketplace cannot return results, matches from the others are kept.

#### Alibaba image search for wholesale sourcing

Use Alibaba image search to find similar wholesale products from a reference photo. Compare available prices, MOQ, supplier names, countries, marketplace history, and product links before contacting potential suppliers.

#### 1688 image search for supplier discovery

Use 1688 image search to explore visually matching products on China's domestic wholesale marketplace. Review available supplier and minimum-order information alongside Alibaba results to build a sourcing shortlist.

#### AliExpress image search for retail comparisons

Use AliExpress image search to find similar retail and small-order listings. Compare available prices, seller details, ratings, and reviews with your wholesale matches in the same Quick scan table.

### 🎯 Who is it for?

#### Sourcing and procurement teams

Use supplier image search to turn a sample photo, competitor listing image, or product concept into potential marketplace matches. Compare pricing, MOQ, supplier location, and reputation before opening the listings that look promising.

#### Dropshipping product research

Find similar products by image when researching new catalog ideas or looking for alternative sellers. Search several marketplaces from the same reference photo and review the matches in one place.

#### Product researchers

Perform reverse image search for shopping and wholesale research. Gather candidate listings, compare visible commercial details, and keep direct links for manual verification.

#### Agencies and data teams

Process batches of client or catalog images and receive consistent, organized results instead of repeating the same searches manually.

### 🛒 Popular use cases

- **Find a product by image:** start with a photo when you do not know the product name.
- **Find similar products:** discover alternative styles, sellers, and marketplace listings.
- **Find where an item may be sold:** collect candidate product pages from several marketplaces.
- **Find suppliers from a product image:** review the supplier details attached to visual matches.
- **Compare sourcing options:** examine price, MOQ, supplier country, reputation, and listing rank.
- **Research product ideas:** turn inspiration photos into a shortlist for further evaluation.

Visual similarity does not prove that a listing is the original item or manufacturer. Always verify important product, supplier, pricing, and compliance details on the linked marketplace page before making a sourcing decision.

### 🚀 How it works

1. Add one or more product image links, or upload a product photo.
2. Keep the default worldwide coverage, or remove marketplaces to narrow the search.
3. Decide how many matching products you want from each marketplace.
4. Start the Actor and open **Quick scan** to compare matches from all selected marketplaces in one table.
5. Download the results or open the most relevant product and supplier links.

For the clearest matches, use a well-lit image where the product is easy to see and occupies most of the frame. Cropping away distracting backgrounds can help the visual search focus on the item you want to source.

#### Product image search API input

Use the same input in Apify Console or when running the Actor through the Apify API:

| Input | What to enter |
| --- | --- |
| `imageUrls` | Up to 100 public product image URLs. |
| `imageFile` | An uploaded product image, up to 20 MB. |
| `sites` | One or more of `alibaba`, `1688`, `aliexpress`, and `global`; all four are selected by default. |
| `maxResultsPerImage` | From 20 to 100 matches per image **per marketplace**; default and minimum 20. |

```json
{
  "imageUrls": ["https://m.media-amazon.com/images/I/61Cev2aFG5L._AC_SX695_.jpg"],
  "sites": ["alibaba", "1688", "aliexpress", "global"],
  "maxResultsPerImage": 20
}
```

This example searches with a white clog product photo and requests up to 80 matches for one image. Retrieve the default dataset for all product rows or open Quick scan to compare them. The minimum of 20 is a requested limit, not a guarantee that each marketplace will find 20 matches. Visual search returns similar listings, so confirm the exact model, specifications, and seller before sourcing a product.

### 📦 What results do you get?

Each row represents one visually matching product. Depending on what the marketplace provides, the results can include:

- Marketplace and match position
- Product title, image, and direct link
- Displayed price and currency
- Minimum order quantity and unit
- Supplier name and country
- Supplier marketplace history and profile links
- Rating, review count, and service score
- Product attributes such as customization or manufacturer status
- The reference image connected to the match

**Quick scan** is the first output link and combines matches from all selected marketplaces in one table. It places the most useful product, price, supplier, reputation, rank, and link information together so you can review promising matches quickly.

The result limit applies to **each image on each selected marketplace**. For example, one image with the default limit of 20 and all four marketplaces selected can return up to **80 product matches**. If only 67 matches are found, the dataset contains 67 product rows. Matching products and Quick scan display the same records; opening another view does not create additional products.

The run summary reports how many products were requested, returned, and missing from the target for each image and marketplace. Marketplaces are searched independently, so the Actor preserves every genuine match and never pads results or trims successful marketplaces when another source returns fewer products.

If a later results page fails, the Actor retries that page while keeping earlier matches. If retries are exhausted, those matches are still saved and the run summary marks the affected marketplace as partial with an error explanation.

### 💳 Pricing

Pay per product match saved across all selected marketplaces. One row in the combined dataset counts as one result. Quick scan, Matching products, and Run summary do not add separate result charges.

| Your Apify plan | Price per 1,000 results |
| --- | ---: |
| Free | $5.00 |
| Bronze | $4.00 |
| Silver | $3.50 |
| Gold, Platinum, Diamond | $3.00 |

A start fee of **$0.00005 per allocated GB** also applies, with a minimum of one start event. At the default 1 GB memory setting, a Bronze run that delivers all 80 requested matches costs **$0.32005 in event charges**. If it delivers 67, the event charges are **$0.26805**. Result charges reflect the products actually saved, even when a marketplace returns fewer than requested.

Apify bills dataset items automatically using its [pay-per-event pricing model](https://docs.apify.com/actors/publishing/monetize/pay-per-event#synthetic-events). Check the Actor's Pricing tab for the current rates before starting a run.

### 🧾 Output examples

The Output tab provides three links: **Quick scan**, **Matching products**, and **Run summary**. Start with Quick scan for the combined marketplace comparison; Matching products provides the same records with all available fields. The examples below are illustrative—the product names, identifiers, prices, and URLs are fictional—but their field names, value types, marketplace labels, and nesting match the Actor's output.

Empty and unavailable optional fields are omitted instead of being returned as `null`.

#### Matching products

**Matching products** opens the default Dataset. Each Dataset item is one product match from one reference image and one marketplace. A run covering all four marketplaces can return records like these:

```json
[
  {
    "queryId": "image-1",
    "inputUrl": "https://example.com/reference-bottle.jpg",
    "imageFilename": "reference-bottle.jpg",
    "marketplace": "Alibaba.com",
    "siteDomain": "alibaba.com",
    "position": 1,
    "productId": "ALIBABA-10001",
    "title": "Custom insulated stainless steel water bottle",
    "productUrl": "https://www.alibaba.com/product-detail/ALIBABA-10001.html",
    "mainImage": "https://example.com/images/alibaba-10001.jpg",
    "images": [
      "https://example.com/images/alibaba-10001.jpg",
      "https://example.com/images/alibaba-10001-side.jpg"
    ],
    "price": "US$6.80-8.20",
    "priceMin": 6.8,
    "priceMax": 8.2,
    "currency": "USD",
    "originalPrice": "US$7.50-9.00",
    "moq": "50 pieces",
    "moqQuantity": 50,
    "moqUnit": "pieces",
    "customizable": true,
    "rating": 4.8,
    "reviewCount": 126,
    "certificates": ["CE", "LFGB"],
    "isAd": false,
    "supplierId": "SUPPLIER-101",
    "supplierName": "Example Drinkware Co., Ltd.",
    "supplierCountry": "CN",
    "supplierYearsOnAlibaba": "8 yrs",
    "supplierProfileUrl": "https://example-supplier.en.alibaba.com/company_profile.html",
    "supplierServiceScore": 4.7
  },
  {
    "queryId": "image-1",
    "inputUrl": "https://example.com/reference-bottle.jpg",
    "imageFilename": "reference-bottle.jpg",
    "marketplace": "1688",
    "siteDomain": "1688.com",
    "position": 1,
    "productId": "1688-20001",
    "title": "Double-wall stainless steel sports bottle",
    "productUrl": "https://detail.1688.com/offer/168820001.html",
    "mainImage": "https://example.com/images/1688-20001.jpg",
    "images": ["https://example.com/images/1688-20001.jpg"],
    "price": "CN¥32.00-38.00",
    "priceMin": 32,
    "priceMax": 38,
    "currency": "CNY",
    "moq": "2 pieces",
    "moqQuantity": 2,
    "moqUnit": "pieces",
    "is1688Manufacturer": true,
    "supplierId": "1688-SUPPLIER-201",
    "supplierName": "Example Metal Products Factory",
    "supplierCountry": "CN"
  },
  {
    "queryId": "image-1",
    "inputUrl": "https://example.com/reference-bottle.jpg",
    "imageFilename": "reference-bottle.jpg",
    "marketplace": "AliExpress",
    "siteDomain": "aliexpress.com",
    "position": 1,
    "productId": "AE-30001",
    "title": "Vacuum insulated travel water bottle",
    "productUrl": "https://www.aliexpress.com/item/10050000030001.html",
    "mainImage": "https://example.com/images/aliexpress-30001.jpg",
    "images": ["https://example.com/images/aliexpress-30001.jpg"],
    "price": "US$14.99",
    "priceMin": 14.99,
    "priceMax": 14.99,
    "currency": "USD",
    "moq": "1 piece",
    "moqQuantity": 1,
    "moqUnit": "piece",
    "delivery": "Free delivery",
    "rating": 4.7,
    "reviewCount": 842,
    "isAd": false,
    "supplierId": "AE-STORE-301",
    "supplierName": "Example Outdoor Store"
  },
  {
    "queryId": "image-1",
    "inputUrl": "https://example.com/reference-bottle.jpg",
    "imageFilename": "reference-bottle.jpg",
    "marketplace": "Global Sites",
    "siteDomain": "Global",
    "position": 1,
    "productId": "GLOBAL-40001",
    "title": "Reusable thermal flask with leakproof lid",
    "productUrl": "https://example-marketplace.com/products/global-40001",
    "mainImage": "https://example.com/images/global-40001.jpg",
    "images": ["https://example.com/images/global-40001.jpg"],
    "price": "US$11.50",
    "priceMin": 11.5,
    "priceMax": 11.5,
    "currency": "USD",
    "moq": "1 piece",
    "moqQuantity": 1,
    "moqUnit": "piece",
    "rating": 4.6,
    "reviewCount": 58,
    "supplierName": "Example Global Seller"
  }
]
```

The available fields depend on the marketplace and listing. For example, Alibaba.com commonly provides more wholesale and supplier fields, while AliExpress or Global Sites matches may omit MOQ, supplier history, certificates, or profile links.

#### Quick scan

**Quick scan** is a table view of the same Dataset—it does not create different or duplicate product records. It selects the fields most useful for comparing matches across marketplaces:

| Marketplace | Thumbnail | Product | Price | MOQ | Supplier | Country | Supplier age | Rating | Reviews | Rank | Open product |
| --- | --- | --- | --- | --- | --- | --- | --- | ---: | ---: | ---: | --- |
| Alibaba.com | `alibaba-10001.jpg` | Custom insulated stainless steel water bottle | US$6.80-8.20 | 50 pieces | Example Drinkware Co., Ltd. | CN | 8 yrs | 4.8 | 126 | 1 | Alibaba.com product URL |
| 1688 | `1688-20001.jpg` | Double-wall stainless steel sports bottle | CN¥32.00-38.00 | 2 pieces | Example Metal Products Factory | CN | — | — | — | 1 | 1688 product URL |
| AliExpress | `aliexpress-30001.jpg` | Vacuum insulated travel water bottle | US$14.99 | 1 piece | Example Outdoor Store | — | — | 4.7 | 842 | 1 | AliExpress product URL |
| Global Sites | `global-40001.jpg` | Reusable thermal flask with leakproof lid | US$11.50 | 1 piece | Example Global Seller | — | — | 4.6 | 58 | 1 | Global product URL |

In the Apify table, thumbnails are rendered as images and product URLs as clickable links. A dash above represents an optional field that the example marketplace did not return.

#### Run summary

**Run summary** opens the `SUMMARY` record from the run's default Key-value store. It reports the overall batch status and a separate result for every processed image. Inside each image result, the selected marketplaces use the input identifiers `alibaba`, `1688`, `aliexpress`, and `global`.

```json
{
  "status": "partial",
  "imagesRequested": 1,
  "imagesSucceeded": 0,
  "imagesPartial": 1,
  "imagesFailed": 0,
  "marketplaces": ["alibaba", "1688", "aliexpress", "global"],
  "productsSaved": 53,
  "durationSecs": 8.742,
  "results": [
    {
      "queryId": "image-1",
      "inputUrl": "https://example.com/reference-bottle.jpg",
      "imageFilename": "reference-bottle.jpg",
      "status": "partial",
      "sites": {
        "alibaba": {
          "status": "success",
          "requested": 20,
          "returned": 20,
          "shortfall": 0,
          "totalAvailable": 326
        },
        "1688": {
          "status": "success",
          "requested": 20,
          "returned": 15,
          "shortfall": 5,
          "totalAvailable": 15
        },
        "aliexpress": {
          "status": "success",
          "requested": 20,
          "returned": 18,
          "shortfall": 2,
          "totalAvailable": 18
        },
        "global": {
          "status": "error",
          "requested": 20,
          "returned": 0,
          "shortfall": 20,
          "error": "Global Sites search was temporarily unavailable"
        }
      },
      "productsSaved": 53,
      "durationSecs": 8.201
    }
  ]
}
```

Summary statuses mean:

- `success`: every selected marketplace completed, even if one returned fewer matches than requested.
- `partial`: at least one marketplace completed and at least one failed for that image or run.
- `error`: no selected marketplace completed for that image, or every image in the run failed.
- `shortfall`: the requested number of matches minus the number returned; it does not indicate a search failure by itself.

### ✨ Why use Alibaba Lens Product Search?

- **One photo, worldwide output:** run the same visual search across Alibaba.com, 1688, AliExpress, and Global Sites by default.
- **Organized comparisons:** review products and suppliers in a consistent table.
- **Batch-friendly research:** search many reference images without handling them one by one.
- **Flexible result depth:** collect a quick shortlist or a broader set of matches.
- **Resilient runs:** successful images and marketplaces remain available even when another search fails.

### ⚠️ Important limitations

- The Actor finds visually similar listings; it cannot guarantee an exact product match.
- Product, price, supplier, and reputation details vary by marketplace and listing.
- A successful search may return no products when the marketplace has no suitable matches.
- Marketplace changes can occasionally affect search availability or returned information.
- Search only images and product data you are authorized to use.

#### Speed and result freshness

Marketplaces are searched concurrently, with up to five images processed at a time. The Actor reuses HTTP connections, sends one prepared image across the selected marketplaces, and downloads no product thumbnails or product detail pages.

Repeated searches can reuse results for **up to 24 hours**. URL searches use the complete image URL, marketplace, and result limit as the cache identity; uploads use their image content. If you replace a photo at the same URL, use a new image URL or wait for the cache to expire. Cached rows carry the same result price as freshly retrieved rows.

Large images are resized to a maximum dimension of 1,200 pixels. Images over 128 KB are compressed when that reduces the payload; small JPEG and PNG images keep their original bytes. WebP and GIF uploads are converted to JPEG for search compatibility.

### 🔗 Related Actors

Explore more of our Alibaba sourcing and product-research Actors:

- 🌐 [**Alibaba Products Scraper**](https://apify.com/devcake/alibaba-products-scraper) — explore Alibaba.com wholesale products for sourcing and market research, with price, MOQ, Trade Assurance, verified supplier, and Alibaba Guaranteed filters.
- 🤖 [**Alibaba AI Product Search**](https://apify.com/devcake/alibaba-ai-product-search) — describe what you want to source and receive matching Alibaba products with prices, order quantities, supplier details, and guided recommendations.
- 🖼️ [**Scraper by Image - 1688 / Alibaba / AliExpress**](https://apify.com/devcake/scraper-by-image) — search products by image across 1688, Alibaba, and AliExpress for visual sourcing, product discovery, and marketplace research.

### ❓ Frequently asked questions

#### Can I find a product from a picture?

Upload a product photo or add its image link, choose the marketplaces, and start the search. The Actor returns visually similar product listings with direct links and available commercial details. You do not need to know the product name before searching.

#### How do I reverse image search on Alibaba?

Add your reference image and keep Alibaba.com selected. The Actor returns organized Alibaba image search results with product, price, MOQ, supplier, and reputation information when available.

#### Can I take a picture of something and find where to buy it?

Yes. Use the photo to search Alibaba.com, 1688, AliExpress, and Global Sites. The Actor collects visually similar listings and their direct product links, helping you build a shortlist of possible sellers. Verify each candidate before purchasing or sourcing.

#### How to search by picture on AliExpress?

Add the image, select AliExpress, and start the Actor. Matching AliExpress listings appear alongside the same easy-to-review product information used for the other marketplaces. You can search AliExpress alone or include it in a broader multi-marketplace run.

#### Can I find a supplier from a product image?

The Actor can return supplier information attached to visually matching listings, including names, countries, marketplace history, and profile links when available. These are potential sourcing leads, not proof that a supplier made the original product, so confirm the relationship directly.

# Changelog

This Actor's version history is a separate document: https://apify.com/devcake/alibaba-lens/changelog.md

# Actor input Schema

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

Paste up to 100 public image links. Each image is searched across all selected marketplaces, and repeated links are used only once.

## `imageFile` (type: `string`):

Upload one product image up to 20 MB. When you upload an image, the example image above is ignored.

## `sites` (type: `array`):

Choose one or more marketplaces to search for every image. Keep all four selected for worldwide output.

## `maxResultsPerImage` (type: `integer`):

Choose 20–100 matching products per image on each selected marketplace. The default is 20: 1 image × 4 marketplaces × 20 matches returns up to 80 products together in Quick scan. A marketplace may return fewer matches; result charges apply only to products saved.

## Actor input object example

```json
{
  "imageUrls": [
    "https://m.media-amazon.com/images/I/61Cev2aFG5L._AC_SX695_.jpg"
  ],
  "sites": [
    "alibaba",
    "1688",
    "aliexpress",
    "global"
  ],
  "maxResultsPerImage": 20
}
```

# Actor output Schema

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

One combined table of product matches from Alibaba.com, 1688, AliExpress, and Global Sites. Each row is one saved product match.

## `products` (type: `string`):

The same product matches as Quick scan, with all available fields for export or API use.

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

Batch status, failures, and requested, returned, and shortfall counts for each marketplace.

# 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://m.media-amazon.com/images/I/61Cev2aFG5L._AC_SX695_.jpg"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("devcake/alibaba-lens").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://m.media-amazon.com/images/I/61Cev2aFG5L._AC_SX695_.jpg"] }

# Run the Actor and wait for it to finish
run = client.actor("devcake/alibaba-lens").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://m.media-amazon.com/images/I/61Cev2aFG5L._AC_SX695_.jpg"
  ]
}' |
apify call devcake/alibaba-lens --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,devcake/alibaba-lens"
        }
    }
}
```

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/3ArUjexiLnFCAeHKz/builds/SwAvgKnPECC11anKR/openapi.json
