# Alibaba Image Search - Reverse Lookup of Suppliers by Photo (`tenfoldfleet/alibaba-image-search`) Actor

Find the Alibaba supplier or factory behind a product photo: reverse image search Alibaba by image URL and get matching wholesale listings with price range, MOQ, supplier, country, years, verified status, ratings and certificates. Up to 100 per image. $5 per 1,000 matches; failed images are free.

- **URL**: https://apify.com/tenfoldfleet/alibaba-image-search.md
- **Developed by:** [Tenfold Fleet](https://apify.com/tenfoldfleet) (community)
- **Categories:** E-commerce, Agents, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 matched products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

### What does Alibaba Image Search do?

**Alibaba Image Search** takes a **product photo URL** and returns the **Alibaba.com wholesale listings that look like it**: the factories and trading companies selling that product, with **price range, minimum order quantity (MOQ), supplier name, country, years on Alibaba, verified status, store ratings and certificates**. It is a **reverse image search for Alibaba** that you can call as an **API**, in bulk, without an Alibaba account.

Paste a picture from **Amazon, Shopify, AliExpress, a competitor's store or your own CDN**. The image is uploaded to Alibaba's own search-by-image service, and you get up to **100 matches per image**, best match first, at **$5 per 1,000 matches**. Images that fail to download or find nothing are free.

Not affiliated with, endorsed or sponsored by Alibaba.com or Alibaba Group.

### Why use a reverse image search on Alibaba?

- 🏭 **Find the factory behind a product**: you saw it on Amazon or in an ad; get the manufacturers that make it and what they charge per unit.
- 📦 **Dropshipping and private label sourcing**: compare MOQ, price tiers and supplier history for the same item across dozens of suppliers in one run.
- 🛡️ **Supplier vetting**: sort matches by years on Alibaba, third-party audit (SGS, TÜV Rheinland, Intertek), certificates (CE, RoHS, BSCI, ISO) and store rating before you message anyone.
- 💰 **Margin checks**: put a retail price next to the wholesale price range of the same product.
- 🤖 **AI agents and pipelines**: an agent holding a product image can call this Actor through the Apify API or MCP server and get clean JSON back.

### What data can it extract?

| Field | Example |
|---|---|
| `inputImageUrl`, `matchRank` | your image URL, `1` (1 = closest match) |
| `productId`, `title`, `productUrl` | `1601719654949`, `Wholesale New Classic EVA Smell Proof Fanny Bag ...`, listing URL |
| `imageUrl`, `images` | full-size main image and gallery images of the match |
| `priceMin`, `priceMax`, `currency`, `priceText` | `4.45`, `8.95`, `USD`, `US$4.45-8.95` |
| `promotionPrice`, `discount` | sale price and `10% off` when Alibaba shows one |
| `moq`, `moqUnit` | `500`, `pieces` |
| `soldCount`, `estimatedDelivery` | `125`, `06 Jan` (when shown) |
| `supplierName`, `supplierId`, `supplierCountry` | `Shenzhen New Concept Bag Co., LTD`, `246726480`, `CN` |
| `supplierUrl`, `supplierProfileUrl`, `contactSupplierUrl` | supplier storefront, company profile and contact form |
| `goldSupplierYears` | `8` (years as a paying Alibaba supplier) |
| `isVerified`, `verifiedBy` | `true`, `TÜV Rheinland` (see the FAQ for how this is decided) |
| `supplierReviewScore`, `supplierReviewCount` | `4.7`, `5` (score is `null` for stores with no reviews yet) |
| `supplierServiceScore`, `supplierShippingScore`, `productScore` | `4.8`, `4.4`, `4.9` (store rating parts, out of 5) |
| `certificates` | `["CE", "ROHS", "BSCI", "ISO"]` |
| `isAd`, `scrapedAt` | sponsored flag, timestamp |

### How to search Alibaba by image

1. Click **Try for free**.
2. Paste one or more **product image URLs** (one per line). JPG, PNG, WebP and GIF up to 10 MB work.
3. Set **Max matches per image** (default 20, up to 100).
4. Click **Start**.
5. Download the matches as **JSON, CSV, Excel or HTML**, or read them through the API.

### How much does it cost?

You pay **$0.005 per matched product** (**$5 per 1,000 matches**) plus $0.00005 per run start. With the default of 20 matches, one image costs **$0.10**; the full 100 matches cost $0.50. Proxy is included.

**Free:** images that cannot be downloaded, links that are not images, files over 10 MB, failed uploads and images with zero matches. Each gives an error row and no charge. On the Apify free plan, the $5 monthly credit covers about **1,000 matches** (about 50 images at 20 matches). Set a **maximum cost per run** and the Actor stops when it reaches it.

### Input

```json
{
    "imageUrls": [
        "https://upload.wikimedia.org/wikipedia/commons/f/f4/Stainless_steel_water_bottle.jpg",
        "https://s.alicdn.com/@sc04/kf/H037807d8a9054fac93009001064c56c4e.jpg"
    ],
    "maxMatchesPerImage": 20,
    "proxyConfiguration": { "useApifyProxy": true }
}
```

### Output

One row per match. You can download the dataset as **JSON, CSV, Excel, XML or HTML**.

```json
{
    "inputImageUrl": "https://upload.wikimedia.org/wikipedia/commons/f/f4/Stainless_steel_water_bottle.jpg",
    "matchRank": 5,
    "productId": "1601808281691",
    "title": "Outdoor Travel Camping Stainless Steel Portable Insulated Activated Carbon Water Bottle Filter Large Capacity Direct Drinking",
    "productUrl": "https://www.alibaba.com/product-detail/Outdoor-Travel-Camping-Stainless-Steel-Portable_1601808281691.html",
    "imageUrl": "https://s.alicdn.com/@sc04/kf/H7b3ce4c27002405a814e67bc4f6125ech.jpg",
    "priceMin": 9.18,
    "priceMax": 11.44,
    "currency": "USD",
    "priceText": "US$9.18-11.44",
    "moq": 50,
    "moqUnit": "pieces",
    "soldCount": 203,
    "supplierName": "Sichuan Mybottle Technology Co., Ltd.",
    "supplierId": "270587440",
    "supplierCountry": "CN",
    "supplierUrl": "https://mybottle.en.alibaba.com/",
    "goldSupplierYears": 5,
    "isVerified": true,
    "verifiedBy": "SGS",
    "supplierReviewScore": 4.7,
    "supplierReviewCount": 32,
    "supplierServiceScore": 4.8,
    "supplierShippingScore": 4.6,
    "productScore": 4.7,
    "certificates": ["CE", "EMC", "FCC", "ROHS"],
    "isAd": false,
    "scrapedAt": "2026-10-23T11:40:14.472Z"
}
```

A failed image looks like `{ "inputImageUrl": "...", "error": "Could not download the image (HTTP 404)." }` and is not charged.

### Tips

- **Match quality depends on the photo.** A sharp picture of the product alone, on a plain background, finds the closest listings. Lifestyle shots, collages, screenshots with text or flat graphics still return results, but they are only loosely related, and those rows are charged like any other.
- **Keep the default of 20 matches** unless you need the long tail. Alibaba ranks the closest listings first, so the later ranks drift toward merely similar items.
- **Use direct image links.** The URL must return the image file itself (right-click the picture, then "Copy image address"), not the product page.
- **Images on Alibaba's own CDN** (`alicdn.com`) are searched by URL directly; all other images are downloaded and uploaded to Alibaba's image search first.
- **Do not submit photos of people.** This tool is for products. Every image you submit is uploaded to Alibaba's image search service.

### Use it with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through Apify's MCP server: add `https://mcp.apify.com?tools=tenfoldfleet/alibaba-image-search` as a remote MCP server and sign in with your Apify account. The agent fills in the image URLs, runs the Actor and reads the matches itself; you pay the same per-event price as a normal run.

### FAQ

#### How is `isVerified` decided?

Alibaba's search results carry no single "verified" flag. This Actor sets `isVerified: true` when the listing shows a **third-party audit of the supplier** (`verifiedBy`, such as SGS, TÜV Rheinland or Intertek) or **company audit badges** (such as BSCI, ISO or SEDEX, also listed in `certificates`). In our tests about a third to a half of matches met that rule (32% in our cloud benchmark). It is a useful filter, not a guarantee: check the supplier's profile before you order.

#### What happens to my images?

Each image is downloaded by the Actor and **uploaded to Alibaba's image search service**, the same one behind the camera icon on Alibaba.com, where Alibaba stores it. Do not submit images you are not allowed to share, and do not submit pictures of people.

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

Up to 100. Alibaba stops at 100 matches for any image.

#### Which image formats work?

JPG, PNG, WebP and GIF up to 10 MB. Alibaba cannot read some files as sent, for example large or animated WebP images; when a file returns no matches, the Actor converts it to a plain JPEG and searches once more, at no extra cost. Shopify image links are fetched at 1,600 px wide, so very large product PNGs stay under the 10 MB limit. SVG files are rejected for free.

#### Do I need an Alibaba account, API key or cookies?

No. The Actor uses the public search-by-image feature that Alibaba.com offers every visitor.

#### Is it the same as searching AliExpress or 1688 by image?

No. This Actor searches **Alibaba.com**, the B2B wholesale marketplace, so results are factory and supplier listings with MOQs and price ranges, not retail AliExpress items.

#### Can I use it from code?

Yes, through the Apify API, the JavaScript or Python client, scheduled runs, webhooks, or integrations such as Make, Zapier and n8n.

#### Support

Found an image that should match but does not? Open an issue in the **Issues** tab with the image URL.

This Actor reads only public product listings that Alibaba.com shows to every visitor. It does not log in, solve CAPTCHAs or collect personal data. Alibaba and Alibaba.com are trademarks of their owner; this Actor is independent and not endorsed by Alibaba Group.

### More tools from Tenfold Fleet

| Actor | Output |
|---|---|
| [ALDI Australia Scraper - AU Products, Unit Prices & Catalogue](https://apify.com/tenfoldfleet/aldi-australia-scraper) | product |
| [AliExpress Keyword Scraper - Exact Sold Counts by Search Term](https://apify.com/tenfoldfleet/aliexpress-search-scraper) | product |
| [Amazon Product Scraper - Details, Prices & Search by ASIN](https://apify.com/tenfoldfleet/amazon-product-scraper) | product |
| [ATS Jobs Scraper - Greenhouse, Lever, Ashby & 5 More](https://apify.com/tenfoldfleet/ats-jobs-scraper) | job posting |
| [Backlinks Checker - Referring Domains, Anchors & Domain Rank](https://apify.com/tenfoldfleet/backlinks-checker) | backlink |
| [Bilibili Scraper - Videos, Comments, Danmaku & Search](https://apify.com/tenfoldfleet/bilibili-scraper) | video or comment |
| [Businesses Without Websites - Local Leads with Phone & Rating](https://apify.com/tenfoldfleet/businesses-without-websites) | lead |
| [Contact Details Scraper - One Lead Record per Company Website](https://apify.com/tenfoldfleet/company-contact-finder) | website with contacts |
| [Google Ads Transparency Center Scraper - Competitor Ads by Site](https://apify.com/tenfoldfleet/google-ads-transparency-scraper) | ad |
| [Google AI Overviews Checker - Citations & Domain Tracker](https://apify.com/tenfoldfleet/google-ai-overviews-checker) | keyword checked |
| [Google Jobs Scraper - Salary, Apply Links & Posting Dates](https://apify.com/tenfoldfleet/google-jobs-scraper) | job listing |
| [Google Keyword Planner Alternative - Ideas, Bids & Volume](https://apify.com/tenfoldfleet/google-keyword-planner) | keyword idea |
| [Google Maps Extractor - Business Leads, Phones & Websites](https://apify.com/tenfoldfleet/google-maps-extractor) | place |
| [Google News Scraper - Articles, Real URLs & Full Text](https://apify.com/tenfoldfleet/google-news-scraper) | article |
| [Google Travel Hotel Rate Tracker - OTA Prices for Every Night](https://apify.com/tenfoldfleet/google-travel-hotel-rate-tracker) | offer |
| [Google Trends Scraper - Interest, Regions & Related Queries](https://apify.com/tenfoldfleet/google-trends-scraper) | keyword |
| [Keyword Ideas & Related Keywords - Difficulty, Volume & CPC](https://apify.com/tenfoldfleet/keyword-ideas) | keyword idea |
| [Keyword Search Volume, CPC & Difficulty Checker (Bulk)](https://apify.com/tenfoldfleet/keyword-search-volume) | keyword with data |
| [Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sites](https://apify.com/tenfoldfleet/remote-jobs-aggregator) | unique remote job |
| [SEEK Job Scraper - Australia, NZ, Jobstreet & JobsDB](https://apify.com/tenfoldfleet/seek-job-scraper) | job listing |
| [SEO Audit Tool - Technical On-Page SEO Checker & Score](https://apify.com/tenfoldfleet/seo-audit-tool) | page audit |
| [SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap](https://apify.com/tenfoldfleet/seo-competitor-keywords) | keyword |
| [Shopify Inventory Scraper - SKUs, Variants & In-Stock Status](https://apify.com/tenfoldfleet/shopify-products-scraper) | product |
| [Shopify App & Theme Detector - Store Analyzer & Contacts](https://apify.com/tenfoldfleet/shopify-store-analyzer) | shopify store |
| [Sitemap URL Extractor - All URLs from sitemap.xml & robots.txt](https://apify.com/tenfoldfleet/sitemap-url-extractor) | url |
| [Technology Detector - Wappalyzer & BuiltWith Alternative](https://apify.com/tenfoldfleet/tech-stack-detector) | website |
| [URL to Markdown - Web Page to LLM-Ready Text for AI Agents](https://apify.com/tenfoldfleet/url-to-markdown) | page |
| [Website Traffic Checker - Bulk Domain Traffic Estimate](https://apify.com/tenfoldfleet/website-traffic-checker) | domain with traffic data |
| [Woolworths Product Scraper - AU Shelf Prices, Specials & GTINs](https://apify.com/tenfoldfleet/woolworths-product-scraper) | product |
| [Workday Jobs Scraper - myworkdayjobs.com API with Salary](https://apify.com/tenfoldfleet/workday-jobs-scraper) | job posting |
| [YouTube Channel Email Scraper - Creator Contact Extractor](https://apify.com/tenfoldfleet/youtube-channel-email-scraper) | channel with email |
| [YouTube Livestream & Channel Scraper - Videos, Likes & Stats](https://apify.com/tenfoldfleet/youtube-channel-scraper) | video |
| [YouTube Comments Scraper - Replies, Likes & Sort by Newest](https://apify.com/tenfoldfleet/youtube-comments-scraper) | comment |
| [YouTube Shorts Analytics Scraper - Views, Likes & Hashtags](https://apify.com/tenfoldfleet/youtube-shorts-scraper) | short |
| [YouTube Captions Downloader - Transcript & Subtitles Scraper](https://apify.com/tenfoldfleet/youtube-transcript-scraper) | transcript |

# Actor input Schema

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

Public links to product photos (JPG, PNG, WebP or GIF, up to 10 MB each), one per line: Amazon, Shopify, AliExpress, Alibaba or any other site. Each image is uploaded to Alibaba's image search. Use clear photos of the product alone; do not submit photos of people. Failed images are free.

## `maxMatchesPerImage` (type: `integer`):

How many Alibaba listings to return for each image, best match first. Alibaba returns at most 100. Each match is one charged result ($0.005), so 20 matches cost $0.10 per image. On the Apify free plan, the $5 monthly credit covers about 1,000 matches.

## `proxyConfiguration` (type: `object`):

Proxy for the requests to Alibaba. The default Apify datacenter proxy works; change it only if you see blocked requests.

## Actor input object example

```json
{
  "imageUrls": [
    "https://upload.wikimedia.org/wikipedia/commons/f/f4/Stainless_steel_water_bottle.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/7/71/Concise_bamboo_eye_protection_LED_desk_lamp.jpg"
  ],
  "maxMatchesPerImage": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (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://upload.wikimedia.org/wikipedia/commons/f/f4/Stainless_steel_water_bottle.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/7/71/Concise_bamboo_eye_protection_LED_desk_lamp.jpg"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("tenfoldfleet/alibaba-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://upload.wikimedia.org/wikipedia/commons/f/f4/Stainless_steel_water_bottle.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/7/71/Concise_bamboo_eye_protection_LED_desk_lamp.jpg",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("tenfoldfleet/alibaba-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://upload.wikimedia.org/wikipedia/commons/f/f4/Stainless_steel_water_bottle.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/7/71/Concise_bamboo_eye_protection_LED_desk_lamp.jpg"
  ]
}' |
apify call tenfoldfleet/alibaba-image-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tenfoldfleet/alibaba-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/5mfTl4oh7kbfpeCl3/builds/V0w9MqhTXKOjVFX9e/openapi.json
