# Alibaba Supplier Scraper & Product Finder | Image Search (`ozer-studio/alibaba-product-and-vender-finder`) Actor

\[UPDATED] Find Alibaba products, suppliers using keyword search, reverse image search, or dedicated supplier search. Extract prices, MOQs, product links, supplier profiles, ratings, verification status, more -ideal for product sourcing, private-label research, Amazon FBA, and dropshipping.

- **URL**: https://apify.com/ozer-studio/alibaba-product-and-vender-finder.md
- **Developed by:** [Ozer Studio](https://apify.com/ozer-studio) (community)
- **Categories:** Automation, E-commerce, Developer tools
- **Stats:** 180 total users, 27 monthly users, 100.0% runs succeeded, 6 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Alibaba Supplier Scraper & Product Finder | Reverse Image Search

Turn Alibaba search results into a clean, deduplicated supplier shortlist.

This Alibaba scraper finds products and manufacturers using **product keywords**, **product images**, or Alibaba's dedicated **supplier search**. Instead of filling your dataset with repeated listings from the same company, it groups matches by supplier and preserves every product, keyword, and image that led to that supplier.

Use it for supplier discovery, product sourcing, procurement, private-label research, Amazon FBA, Shopify, dropshipping, and competitor research. Export results to the Apify Dataset, JSON, CSV, Excel, API workflows, or MCP-connected AI clients.

### Why choose this Actor?

Many Alibaba tools are built around individual product pages. This Actor is built for the earlier sourcing stage: **finding promising suppliers and understanding why they matched your search**.

| Sourcing need | How this Actor helps |
| --- | --- |
| Find companies, not duplicate listings | Returns one primary row per unique supplier and retains all matched products |
| Start with only a product photo | Runs Alibaba reverse image search from uploads or public image URLs |
| Search manufacturers directly | Searches Alibaba's Manufacturers section with dedicated supplier keywords |
| Compare several sourcing ideas | Applies separate supplier and page limits to every keyword or image |
| Trace every result | Preserves matched keywords, images, products, ranks, and source links |
| Build a usable shortlist quickly | Normalizes prices and MOQs and exposes supplier verification, ratings, location, and factory signals when displayed |
| Automate the workflow | Provides structured schemas for Apify API, tasks, webhooks, and MCP clients |

> **Best fit:** supplier discovery and shortlisting from Alibaba search results. The Actor extracts publicly displayed product and supplier-card data; it does not claim to provide a full paid verification report or every field from every product detail page.

### Key features

- **Three discovery modes** — keyword product search, image product search, and supplier search
- **Unique supplier results** — reduce repeated companies across multiple product listings
- **Reverse image search** — upload files or use public product image URLs
- **Manufacturer search** — query Alibaba's supplier directory directly
- **Batch inputs** — process up to 20 keywords, supplier queries, or images in one run
- **Per-input limits** — each keyword or image receives its own supplier and page target
- **Cross-input matching** — retain every search input and product connected to a supplier
- **Normalized sourcing fields** — parse displayed price ranges, currencies, and MOQs
- **Supplier signals** — capture verification, factory status, ratings, location, years, staff, factory area, response time, and capabilities when available
- **Flexible exports** — Apify Dataset plus optional combined or per-input CSV files
- **Failure diagnostics** — save HTML and screenshots when Alibaba returns an unusable page

### Quick start

1. Open the Actor in Apify Console.
2. Choose **Keyword product search**, **Image product search**, or **Supplier search**.
3. Add the matching keywords, images, or supplier queries.
4. Start with **10 suppliers** and **1 page** per input.
5. Keep **Use Apify Proxy** enabled for more reliable access.
6. Run the Actor and open **Supplier results** in the Output tab.

For larger batches, increase the Actor **Timeout** under **Run options**, or enable **No timeout**.

### Search modes

#### 1. Keyword product search

Search ordinary Alibaba product listings and return the unique suppliers behind them.

```json
{
  "searchMode": "keyword",
  "searchTerms": [
    "portable blender USB rechargeable",
    "stainless steel glass shower hinge"
  ],
  "maxUniqueSuppliersPerKeyword": 10,
  "maxPagesText": 1,
  "useApifyProxy": true
}
```

Use specific phrases containing the product, material, feature, or intended use. Each keyword is processed independently, so the first keyword cannot consume the limit for later searches.

#### 2. Image product search

Use Alibaba reverse image search when the product name is unknown or visual similarity matters.

In Apify Console, upload local images under **Product images**. API and MCP clients can provide direct public image URLs:

```json
{
  "searchMode": "image",
  "imageUrls": [
    "https://example.com/reference-product-1.jpg",
    "https://example.com/reference-product-2.jpg"
  ],
  "maxUniqueSuppliersPerImage": 10,
  "maxPagesImage": 1,
  "skipFailedImages": true,
  "useApifyProxy": true
}
```

Uploaded files and public URLs share a combined limit of **20 images per run**. Every image is searched separately and receives its own supplier limit.

For better matches:

- Center one product in the image.
- Crop out large text, borders, and unrelated objects.
- Avoid collages, blurry images, and busy lifestyle scenes.
- Use image URLs that open without a login, cookies, or expiring authorization.

#### 3. Supplier search

Search Alibaba's Manufacturers section directly when you already know the factory or supplier type you need.

```json
{
  "searchMode": "supplier",
  "supplierSearchTerms": [
    "shower hardware manufacturer",
    "portable blender factory"
  ],
  "maxUniqueSuppliersPerSupplierKeyword": 10,
  "maxPagesSupplier": 1,
  "useApifyProxy": true
}
```

Alibaba may display company names, profile links, factory status, supplier type, ratings, location, years on Alibaba, staff count, factory area, response time, capabilities, and product previews.

### Input reference

| Input | Default | Description |
| --- | ---: | --- |
| `searchMode` | `keyword` | Choose `keyword`, `image`, or `supplier` |
| `searchTerms` | `glass shower hinge` | Product keywords, up to 20 |
| `maxUniqueSuppliersPerKeyword` | `10` | Unique suppliers retained separately for each product keyword |
| `maxPagesText` | `1` | Product-result pages processed per keyword |
| `supplierSearchTerms` | — | Manufacturer or supplier queries, up to 20 |
| `maxUniqueSuppliersPerSupplierKeyword` | `10` | Supplier cards retained separately for each supplier query |
| `maxPagesSupplier` | `1` | Manufacturer-result pages processed per supplier query |
| `uploadedImages` | — | Product images uploaded in Apify Console |
| `imageUrls` | — | Direct public HTTP or HTTPS image URLs |
| `maxUniqueSuppliersPerImage` | `10` | Unique suppliers retained separately for each image |
| `maxPagesImage` | `1` | Image-result pages processed per image |
| `useApifyProxy` | `true` | Use Apify Proxy for more reliable Alibaba access |
| `skipFailedImages` | `true` | Continue when one image cannot be downloaded or searched |
| `failOnNoResults` | `false` | Fail instead of finishing with diagnostics when no rows are produced |
| `saveCsvFile` | `false` | Save named CSV files in the default key-value store |
| `csvOutputMode` | `combined` | Choose `combined`, `separate`, or `both` |
| `csvFilename` | `alibaba_results.csv` | Filename for the combined CSV export |

### What data you get

Each dataset row represents one unique Alibaba supplier. If several searches find the same supplier, `matched_search_inputs` and `matched_products` preserve the full relationship.

#### Product and offer fields

- Product title, ID, canonical URL, and primary image
- Displayed price plus normalized minimum price, maximum price, and currency
- Displayed MOQ plus normalized quantity and unit
- Sold count, selling points, reorder rate, sponsored status, and match rank when shown

#### Supplier and factory fields

- Company name, company ID, profile URL, logo, and contact link
- Verified Supplier and factory/manufacturer flags
- Supplier type, rating, review count, country or region, and years on Alibaba
- Staff count, factory area, response time, online revenue, and factory capabilities when displayed

#### Search attribution

- First matching keyword, supplier query, or image filename
- Search type: `keyword`, `image`, or `supplier`
- Every input that matched the supplier
- Every retained product match, including its source input and rank

#### Example result

```json
{
  "search_input": "portable blender",
  "search_type": "keyword",
  "matched_search_inputs": ["portable blender", "blender-reference.jpg"],
  "vendor_name": "Shenzhen Example Appliance Co., Ltd.",
  "vendor_profile_url": "https://example.en.alibaba.com/",
  "verified_supplier": true,
  "is_factory": true,
  "supplier_type": "Custom Manufacturer",
  "supplier_rating": 4.8,
  "supplier_from": "CN",
  "years_in_business": "6 YRS",
  "name": "Portable USB Rechargeable Blender",
  "product_url": "https://www.alibaba.com/product-detail/example_1600000000000.html",
  "product_image_url": "https://s.alicdn.com/example.jpg",
  "price": "US$3.80-6.50",
  "price_min": 3.8,
  "price_max": 6.5,
  "currency": "USD",
  "min_order": "100 pieces",
  "moq_quantity": 100,
  "moq_unit": "pieces",
  "matched_products": [
    {
      "search_input": "portable blender",
      "search_type": "keyword",
      "match_rank": 1,
      "name": "Portable USB Rechargeable Blender",
      "product_url": "https://www.alibaba.com/product-detail/example_1600000000000.html"
    }
  ]
}
```

The Actor reports what Alibaba publicly displays during the run. Missing values remain empty rather than being guessed.

### Dataset and CSV exports

The default Apify Dataset is always available and can be downloaded as JSON, CSV, Excel, XML, and other supported formats.

Enable `saveCsvFile` to also create named files in the default key-value store:

- **Combined** — one CSV for the complete run
- **Separate** — one CSV per product keyword, supplier keyword, or image
- **Both** — combined and separate files

```json
{
  "searchMode": "keyword",
  "searchTerms": ["magnetic phone car holder", "foldable phone stand"],
  "maxUniqueSuppliersPerKeyword": 15,
  "saveCsvFile": true,
  "csvOutputMode": "both",
  "csvFilename": "phone-accessory-suppliers.csv"
}
```

### API, automations, and MCP

Use the Actor with:

- Apify API and client libraries
- Scheduled Actor tasks
- Webhooks
- Make and Zapier
- MCP-compatible AI clients

The input and output schemas are machine-readable, making the Actor suitable for repeatable sourcing workflows and AI agents.

#### Example API input

```json
{
  "searchMode": "keyword",
  "searchTerms": ["USB rechargeable portable blender"],
  "maxUniqueSuppliersPerKeyword": 25,
  "maxPagesText": 2,
  "useApifyProxy": true,
  "saveCsvFile": true
}
```

#### Example MCP prompt

> Find 10 unique Alibaba suppliers for “USB rechargeable portable blender.” Return supplier names, profile URLs, verification and factory signals, matching products, displayed prices, and MOQs. Preserve source links and mark unavailable values as missing.

#### Multi-image MCP prompt

> Reverse-search these three public product image URLs on Alibaba. Collect up to 10 unique suppliers per image, save separate CSV files, and identify suppliers appearing in more than one search.

An image attached directly to a chat works only when the MCP client exposes it as a public or temporary signed URL. You can always upload the file in Apify Console.

### Common use cases

- Build a supplier shortlist for a new private-label product
- Find Alibaba listings and manufacturers from a competitor product photo
- Compare suppliers discovered by several product keywords
- Locate factories in Alibaba's Manufacturers directory
- Prepare sourcing data for procurement review or outreach
- Feed current Alibaba search data into spreadsheets, databases, and AI workflows
- Support Amazon FBA, Shopify, wholesale, and dropshipping research

### Runtime and reliability

Alibaba may show traffic challenges, verification pages, or different layouts depending on the session and location.

For more reliable runs:

- Keep Apify Proxy enabled, especially for multi-image searches.
- Test one input before launching a large batch.
- Start with small page and supplier limits.
- Allow roughly 150 seconds per image plus startup and export time as an initial estimate.
- Increase the Apify run timeout for multiple images or larger page limits.
- Review saved diagnostics when a search produces no usable results.

A **Timeout** of `0` under Apify **Run options** means no platform time limit for supported run methods.

### FAQ

#### Why can the final row count be lower than all limits added together?

The Actor deduplicates suppliers across inputs. One company found by several keywords or images appears once, with every match retained in `matched_search_inputs` and `matched_products`.

#### Does each image or keyword have its own limit?

Yes. The per-keyword, per-image, and per-supplier-query limits are independent. One input cannot use another input's allocation.

#### Can I search several images in one run?

Yes. Add up to 20 uploaded images and public image URLs combined. Each image is processed separately.

#### Why are some fields empty?

Alibaba does not display every field on every result. The Actor preserves available values and does not invent missing data.

#### Does this replace supplier due diligence?

No. Verification badges and factory signals are useful for discovery, but buyers should independently review company documents, samples, certifications, contracts, and payment protections before purchasing.

#### Where is the CSV file?

The structured Dataset is always available. If `saveCsvFile` is enabled, open the run's **Storage → Key-value store** to download the named CSV files.

### Limitations

- Alibaba may show captchas, verification pages, experiments, or incomplete supplier information.
- Not every listing exposes a profile URL, location, MOQ, rating, or factory details.
- The Actor focuses on search-result and supplier-card discovery rather than exhaustive product-page enrichment.
- Website changes may require selector maintenance.
- The Actor does not contact suppliers or verify business claims independently.

### Support

For help, include the following in an Apify issue or email **jcustombussiness@gmail.com**:

- Actor run ID
- Search mode and sanitized input
- Expected and actual behavior
- Relevant log lines or saved diagnostic filenames

Remove private or signed image URLs before sharing input.

### Responsible use

Use this Actor in compliance with Alibaba's terms, applicable laws, and Apify platform policies. Respect access controls, personal-data requirements, and reasonable request volumes.

# Actor input Schema

## `searchMode` (type: `string`):

Choose Keyword product search for product names, Image product search for product images, or Supplier search to find manufacturers directly.

## `searchTerms` (type: `array`):

Used only in Keyword product search. Add one specific product query per row, such as portable blender USB rechargeable.

## `maxUniqueSuppliersPerKeyword` (type: `integer`):

Maximum number of unique suppliers collected separately for each keyword. This is not a limit for the whole batch.

## `maxPagesText` (type: `integer`):

Maximum Alibaba result pages processed for each keyword. The Actor stops sooner when the supplier target is reached; higher values take more time.

## `supplierSearchTerms` (type: `array`):

Used only in Supplier search. Describe the products or type of manufacturer you need, such as shower hardware manufacturer. Add one supplier search per row.

## `maxUniqueSuppliersPerSupplierKeyword` (type: `integer`):

Maximum unique manufacturer or supplier cards collected separately for each supplier keyword.

## `maxPagesSupplier` (type: `integer`):

Maximum manufacturer-result pages processed separately for each supplier keyword.

## `uploadedImages` (type: `array`):

Used only in Image product search. Upload up to 20 clear product images. Each image is searched separately. To use public web images, add them in Public product image URLs below.

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

Used only in Image product search and recommended for MCP/API clients. Add one direct, publicly accessible HTTP or HTTPS image URL per row. Uploaded files and URLs share a combined limit of 20 images.

## `maxUniqueSuppliersPerImage` (type: `integer`):

Maximum number of unique suppliers collected separately for each uploaded image or public image URL. This is not a limit for the whole batch.

## `maxPagesImage` (type: `integer`):

Maximum Alibaba image-search result pages processed for each image. The Actor stops sooner when the supplier target is reached; higher values take more time.

## `useApifyProxy` (type: `boolean`):

Recommended, especially for multiple images, because Alibaba may challenge or limit direct traffic.

## `skipFailedImages` (type: `boolean`):

Used only in Image product search. Continue when an image source cannot be downloaded or resolved. Disable to fail immediately on an invalid image source.

## `failOnNoResults` (type: `boolean`):

Enable for automations that should fail when a search errors or when the full run returns no rows. Leave disabled to keep successful results and save diagnostics for failures.

## `maxUniqueSuppliers` (type: `integer`):

Advanced safety cap across the entire batch. Normally leave this unchanged; the visible per-search limits are configured above.

## `saveCsvFile` (type: `boolean`):

Also save CSV files in the run's key-value store. The structured Apify dataset is always available; the CSV settings below are ignored when this is disabled.

## `csvOutputMode` (type: `string`):

Used only when Save CSV files is enabled. Choose one combined file, one file per search input, or both.

## `csvFilename` (type: `string`):

Used only for Combined CSV or Combined and separate files. Separate-only exports use filenames derived from each product keyword, supplier keyword, or image.

## Actor input object example

```json
{
  "searchMode": "keyword",
  "searchTerms": [
    "glass shower hinge"
  ],
  "maxUniqueSuppliersPerKeyword": 10,
  "maxPagesText": 1,
  "supplierSearchTerms": [],
  "maxUniqueSuppliersPerSupplierKeyword": 10,
  "maxPagesSupplier": 1,
  "uploadedImages": [],
  "imageUrls": [],
  "maxUniqueSuppliersPerImage": 10,
  "maxPagesImage": 1,
  "useApifyProxy": true,
  "skipFailedImages": true,
  "failOnNoResults": false,
  "maxUniqueSuppliers": 10000,
  "saveCsvFile": false,
  "csvOutputMode": "combined",
  "csvFilename": "alibaba_results.csv"
}
```

# Actor output Schema

## `results` (type: `string`):

Structured Alibaba product and supplier records from the default dataset.

## `files` (type: `string`):

Optional CSV exports and any diagnostic HTML or screenshots saved by the Actor.

# 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 = {
    "searchTerms": [
        "glass shower hinge"
    ],
    "supplierSearchTerms": [],
    "uploadedImages": [],
    "imageUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("ozer-studio/alibaba-product-and-vender-finder").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 = {
    "searchTerms": ["glass shower hinge"],
    "supplierSearchTerms": [],
    "uploadedImages": [],
    "imageUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("ozer-studio/alibaba-product-and-vender-finder").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 '{
  "searchTerms": [
    "glass shower hinge"
  ],
  "supplierSearchTerms": [],
  "uploadedImages": [],
  "imageUrls": []
}' |
apify call ozer-studio/alibaba-product-and-vender-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ozer-studio/alibaba-product-and-vender-finder"
        }
    }
}

```

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/WroxaGBRLnUcW7sFm/builds/3NR9WVx6DfZCYOIbK/openapi.json
