# AliExpress Image Search Scraper: Find Products by Photo & Price (`getascraper/aliexpress-image-search-scraper`) Actor

Search AliExpress by photo. Send up to 100 image links and get every matching product: price in your currency, orders sold, rating, discount, free shipping and ship-from. Filter and sort hundreds of matches per image, choose from 42 ship-to countries and track new listings and price drops. No login.

- **URL**: https://apify.com/getascraper/aliexpress-image-search-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 product matches

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

## 📸 AliExpress Image Search Scraper: Find Products by Photo & Price

<table width="100%" style="margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#FDEBE6;border:1px solid #F7C7BB;border-top:4px solid #E62E04;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Have a product photo? Get every matching AliExpress listing in minutes</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Drop in one image or a hundred and get hundreds of matching AliExpress products per image, with price, orders sold and shipping. No AliExpress login needed.</span>
</td>
</tr>
</table>
<table width="100%" style="margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F7C7BB;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#E62E04">🔎 Up to 600 matches</span><br>
<span style="font-size:12px;color:#57534E">Go far past the first screen of results for every photo.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F7C7BB;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#E62E04">🎛️ Filter and sort it all</span><br>
<span style="font-size:12px;color:#57534E">Price, orders, rating, discount and ship-from, applied to every match found.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F7C7BB;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#E62E04">🌍 Your market, your currency</span><br>
<span style="font-size:12px;color:#57534E">42 ship-to countries and 34 currencies, so prices match where you sell.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F7C7BB;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#E62E04">🔔 Watch for changes</span><br>
<span style="font-size:12px;color:#57534E">New listings and price drops for a photo on every scheduled run.</span>
</td>
</tr>
</table>

Found a winning product, a competitor's item or a supplier sample photo? Upload the picture and see who sells the same thing on AliExpress, at what price and with how many orders. Search up to 100 photos in one run, filter and sort the matches, and schedule the run to catch new and cheaper listings.

### 🔍 What does this actor do?

It does what the camera button on AliExpress does, but for as many photos as you like and with the results saved as a clean table. You give it image links or pictures. It finds the visually matching AliExpress products and returns one row per product.

Each row has the product link and photo, the title, the sale price and the list price, the discount, and the orders sold and star rating when AliExpress shows them. It also has the free shipping label, the Choice badge, the country the product ships from, the date it was listed and the category.

You can ask for up to about 600 matches per image, which is far more than the first screen of results. Filters and sorting work on all of them. Results download as JSON, CSV, Excel, or XML.

### 💡 Who uses this?

- **I am a dropshipper.** I take a photo of a product that sells well on another store, find the AliExpress listings for it, and keep the ones with over 500 orders that ship free.
- **I am a sourcing manager.** I have a supplier sample photo. I want every AliExpress seller of the same item, sorted by price, so I can negotiate a better deal.
- **I am a brand protection analyst.** I search my product photos to find copies and look-alikes, and I schedule the search to be told when new ones appear.
- **I am a price analyst.** I check what the same item costs in euros for Germany and in pounds for the United Kingdom, in one run.

### 🚀 How to use

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#FDEBE6;border:1px solid #F7C7BB;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#E62E04;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Add your photos</span><br>
<span style="font-size:12px;color:#57534E">Paste image links, one per row, and pick the country you ship to.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FDEBE6;border:1px solid #F7C7BB;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#E62E04;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set filters and sorting</span><br>
<span style="font-size:12px;color:#57534E">Keep only the price range, order count and shipping you care about.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FDEBE6;border:1px solid #F7C7BB;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#E62E04;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Download or schedule</span><br>
<span style="font-size:12px;color:#57534E">Get a spreadsheet of matches, or repeat the run to see what changed.</span>
</td>
</tr>
</table>

### 📥 Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `imageUrls` | array of strings | No | Direct links to the pictures to search, one per row. Base64 data URLs also work, and so does a link to a file in an Apify key-value store. Up to 100 images, each searched on its own. A sample photo is prefilled. |
| `shipTo` | enum | No | The destination market that sets prices and which offers appear. 42 countries are available. Defaults to the United States. |
| `currency` | enum | No | Currency for all prices. Automatic uses the usual currency of the ship-to country. 34 currencies are available. |
| `minPrice` | number | No | Lowest sale price to keep, in the chosen currency. |
| `maxPrice` | number | No | Highest sale price to keep, in the chosen currency. |
| `minRating` | number | No | Keep only matches with at least this star rating, from 0 to 5. Matches without a shown rating are left out when this is set. |
| `minOrders` | integer | No | Keep only matches with at least this many orders sold. Matches without a shown order count are left out when this is set. |
| `minDiscountPercent` | integer | No | Keep only matches discounted by at least this percent from the list price. |
| `freeShippingOnly` | boolean | No | Keep only matches AliExpress labels with free shipping. |
| `choiceOnly` | boolean | No | Keep only matches with the AliExpress Choice badge. |
| `shipFrom` | enum | No | Keep only matches dispatched from this country. Defaults to any country. |
| `titleIncludes` | array of strings | No | Keep a match only if its title contains at least one of these words or phrases. |
| `titleExcludes` | array of strings | No | Drop matches whose title contains any of these words or phrases, for example `case` or `replica`. |
| `sortBy` | enum | No | Best visual match, most orders, lowest price, highest price, biggest discount or highest rating. Sorting covers every match found for an image. |
| `maxResultsPerImage` | integer | No | How many matches to return per image after filters. Defaults to 20, up to 1,000. AliExpress offers about 600 distinct matches per image. |
| `maxPagesPerImage` | integer | No | How many result pages of about 60 matches to read per image. Raise it with strict filters. Defaults to 5, up to 12. |
| `dedupeAcrossImages` | boolean | No | Return a product once when several of your images find it. Off by default. |
| `trackChanges` | boolean | No | Compare this run with the previous run for the same image, market and filters. Rows get a change type, price change, rank change and orders gained. |
| `onlyChanges` | boolean | No | With change tracking on, return only products that are new or whose price changed. |
| `monitorScope` | string | No | A label for one watch list. Reuse the same name on every scheduled run you want compared. Defaults to `default`. |
| `proxyConfiguration` | object | No | Connection settings. The default works for every ship-to country. |

### 📊 Data table

Fields that AliExpress does not show for a product are left out of the row. Nothing is filled in with a placeholder.

| Field | Type | Description |
| --- | --- | --- |
| `queryImage` | string | The image link you searched with. Inline pictures are shown as `inline-image-N`. |
| `queryImageIndex` | integer | Position of the image in your list, starting at 1. |
| `rank` | integer | Position of the match among all matches found for that image. |
| `page` | integer | Result page the match was found on. |
| `isBestMatch` | boolean | True when AliExpress marks it as its best similar item. |
| `productId` | string | AliExpress product ID. |
| `productUrl` | string | Link to the product on AliExpress. |
| `title` | string | Product title. |
| `imageUrl` | string | Main product photo. |
| `salePrice` | number | Current price in the chosen currency. |
| `salePriceFormatted` | string | Price as AliExpress displays it. |
| `originalPrice` | number | Crossed-out list price, when there is one. |
| `discountPercent` | number | Discount from the list price. |
| `currency` | string | Currency code of the prices. |
| `taxRate` | number | Tax rate included in the price, when AliExpress states one. |
| `shipTo` | string | Destination country of the search. |
| `freeShipping` | boolean | True when the match carries a free shipping label. |
| `isChoice` | boolean | True for AliExpress Choice products. |
| `shipFromCountry` | string | Country the product ships from. |
| `rating` | number | Star rating, from 0 to 5. |
| `ordersSold` | integer | Exact number of orders sold. |
| `ordersText` | string | The rounded order label shoppers see. |
| `listedAt` | string | Date the listing went live. |
| `daysListed` | integer | Days since the listing went live. |
| `ordersPerDay` | number | Orders sold divided by days listed. |
| `promotions` | array of strings | Offers shown on the product, such as early bird deals. |
| `specs` | array of strings | Specification tags shown on the product. |
| `categoryId` | string | AliExpress category ID. |
| `categoryPath` | array of strings | Category IDs from top level down. |
| `storeName` | string | Store name, when AliExpress shows it. |
| `sellerCompany` | string | Seller company name, when AliExpress shows it. |
| `changeType` | string | With change tracking: new, price_drop, price_increase or unchanged. |
| `firstSeenAt` | string | With change tracking: when this product first appeared for the image. |
| `previousRank` | integer | With change tracking: rank in the previous run. |
| `rankChange` | integer | With change tracking: places gained since the previous run. |
| `previousSalePrice` | number | With change tracking: price in the previous run. |
| `priceChange` | number | With change tracking: price difference since the previous run. |
| `priceChangePercent` | number | With change tracking: price difference in percent. |
| `previousOrdersSold` | integer | With change tracking: orders in the previous run. |
| `ordersSinceLastRun` | integer | With change tracking: orders gained since the previous run. |
| `scrapedAt` | string | When the row was collected. |

Every run also saves a summary for each image with its outcome, the number of matches scanned and saved, and the lowest, median and highest price of the saved matches.

#### Example output

One row for a search with an AliExpress product photo, shipping to the United States.

```json
{
    "queryImage": "https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg",
    "queryImageIndex": 1,
    "rank": 1,
    "page": 1,
    "isBestMatch": true,
    "productId": "1005013438139523",
    "productUrl": "https://www.aliexpress.com/item/1005013438139523.html",
    "title": "Lifelike Plastic Strawberry Model Fake Strawberries Props for Fruit Shop Outdoor Scene Decoration  Pumpkins",
    "imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/Sdd5659de0abb43799949c03613551b96J.jpg",
    "salePrice": 5.39,
    "salePriceFormatted": "US $5.39",
    "originalPrice": 10.78,
    "discountPercent": 50,
    "currency": "USD",
    "taxRate": 0.159,
    "shipTo": "US",
    "freeShipping": true,
    "shipFromCountry": "CN",
    "listedAt": "2026-10-19",
    "daysListed": 5,
    "promotions": ["Early bird deal, only 1 left"],
    "categoryId": "200300144",
    "categoryPath": ["15", "100001824", "200298145", "200300144"],
    "scrapedAt": "2026-10-24T22:43:03.336Z"
}
```

### 💰 Pricing

Pricing is pay per result. You are charged for each matched product row saved to your dataset, and every field on the row is included in that price. Runs that find nothing cost nothing. There are no monthly subscriptions or minimum commitments, and the maximum charge you set for a run is always respected: the actor stops collecting once that limit is reached.

Free plan runs are limited to 25 matches per run, 3 runs per day, and a short wait between runs.

### ⭐ Enjoying AliExpress Image Search Scraper?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#FDEBE6;border:1px solid #F7C7BB;border-left:5px solid #E62E04;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">One photo just turned into a sorted list of AliExpress sellers, with prices and order counts.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other dropshippers and sourcing teams find this actor. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#E62E04;border:1px solid #F7C7BB;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/aliexpress-image-search-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ✨ Tips

- **Use a clean product photo.** A single item on a plain background gives the closest matches. Crop out hands, text and busy scenery first.
- **Sort by orders to find proven sellers.** Set `sortBy` to most orders and `minRating` to 4.5. The sort covers every match found, not just the first screen.
- **Go deeper when filters are strict.** If a run returns fewer rows than you asked for, raise `maxPagesPerImage` so more matches are checked.
- **Compare markets.** Run the same photo with a different `shipTo` or `currency`. Prices and offers change by market.
- **Watch a product over time.** Turn on `trackChanges`, keep the same `monitorScope` and schedule the run. Add `onlyChanges` to get just the new and repriced products.
- **Treat orders and ratings as partial.** AliExpress shows an order count or rating on only part of the matches in image search. Strict filters on them will leave out matches that show neither.

### ❓ FAQ

##### Do I need an AliExpress account or API key?

No. The actor never asks for a login, token or cookie. You only provide image links.

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

AliExpress offers about 600 distinct matches for one image. The actor reads them page by page, about 60 per page, until it has the number you asked for or runs out.

##### Which image formats and sizes work?

Public links to JPG, PNG, WebP, AVIF and GIF pictures, or base64 data URLs. Large photos are shrunk automatically before the search, so there is no size limit to worry about for normal photos.

##### Can I search by product link or keyword instead?

No. This actor searches by picture only. For keyword searches, use the AliExpress Keyword Search Scraper listed below.

##### Does it return variants, reviews or full seller details?

No. It returns what the image search results show: price, discount, orders when shown, rating when shown, shipping label, ship-from country, listing date and category. Variants, review text and seller scores live on the product page, which this actor does not open.

##### Which countries and currencies are supported?

42 ship-to countries and 34 currencies, listed in the input form. The currency can differ from the destination, for example euros for a United States search.

##### Is this affiliated with AliExpress?

No. This is an independent tool and is not affiliated with, endorsed by, or sponsored by AliExpress or Alibaba Group. All trademarks mentioned belong to their respective owners. The actor reads only public search pages.

### 🔗 Other actors

- [AliExpress Keyword Search Scraper: Rank, Orders & Delivery Data](https://apify.com/getascraper/aliexpress-keyword-catalog-intelligence) ↗ - searches AliExpress by keyword with exact orders sold, delivery windows and change tracking.
- [AliExpress Category Rank Tracker: Bestseller Movers & Newcomers](https://apify.com/getascraper/aliexpress-category-rank-tracker) ↗ - tracks which products climb or enter AliExpress bestseller categories.
- [Mercari US Scraper: Active & Sold Listings, Price & Seller Data](https://apify.com/getascraper/mercari-us-scraper) ↗ - gathers active and sold Mercari listings with prices and seller data.
- [Reverse Image Search Monitor: Discover, Verify & Track Matches](https://apify.com/getascraper/reverse-image-search-monitor) ↗ - finds where an image appears across the web and tracks new matches.
- [Bonanza Marketplace Scraper: Listings, Prices & Seller Ratings](https://apify.com/getascraper/bonanza-marketplace-scraper) ↗ - collects Bonanza listings, prices and seller ratings.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/aliexpress-image-search-scraper/changelog.md

# Actor input Schema

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

Direct links to the pictures you want to match on AliExpress (JPG, PNG, WebP, AVIF or GIF), one per row. Base64 data URLs (data:image/jpeg;base64,...) work too, and so does a link to a file saved in an Apify key-value store. Up to 100 images per run; every image is searched separately.

## `shipTo` (type: `string`):

The destination market AliExpress prices and lists the matches for. It decides the currency shown by default, which items carry a free shipping label and which offers appear.

## `currency` (type: `string`):

Currency for every price in the results. Leave on automatic to use the usual currency of the ship-to country, or pick another one, for example euros for a United States destination.

## `minPrice` (type: `number`):

Keep only matches priced at or above this amount, in the currency chosen above. Applied to every collected match, so the right number of results is still returned when many cheap items are skipped.

## `maxPrice` (type: `number`):

Keep only matches priced at or below this amount, in the currency chosen above. Handy for finding cheaper sources of a product.

## `minRating` (type: `number`):

Keep only matches with a star rating of at least this value (0 to 5). AliExpress shows a rating on only part of the cards in image search, so matches without a rating are left out when this is set.

## `minOrders` (type: `integer`):

Keep only matches with at least this many orders sold. Cards that do not show an order count are left out when this is set, which is useful to find proven sellers.

## `minDiscountPercent` (type: `integer`):

Keep only matches discounted by at least this percentage compared with the crossed-out list price.

## `freeShippingOnly` (type: `boolean`):

Keep only matches that AliExpress labels with free shipping for the chosen destination.

## `choiceOnly` (type: `boolean`):

Keep only matches that carry the AliExpress Choice badge (fast, reliable delivery).

## `shipFrom` (type: `string`):

Keep only matches that dispatch from this country, for example a local warehouse for faster delivery. Most AliExpress offers ship from China.

## `titleIncludes` (type: `array`):

Keep only matches whose title contains at least one of these words or phrases. Not case sensitive.

## `titleExcludes` (type: `array`):

Drop matches whose title contains any of these words or phrases, for example to remove accessories or replicas. Not case sensitive.

## `sortBy` (type: `string`):

Order of the result rows. Best match keeps AliExpress's visual ranking. The other options sort all collected matches of an image, not just the first 60 cards, so Most orders really returns the best sellers among everything found.

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

How many matching products to return for each image after filters. AliExpress offers up to about 600 distinct matches per image, so values above that simply return everything found.

## `maxPagesPerImage` (type: `integer`):

Safety limit on how many result pages (about 60 matches each) are read for one image while looking for enough matches that pass your filters. AliExpress returns up to about 600 matches per image (10 pages). Raise it together with Matches per image or when filters are strict.

## `dedupeAcrossImages` (type: `boolean`):

When searching many photos, return each AliExpress product only once, under the first image that found it. Turn on for sourcing lists with several angles of the same item.

## `trackChanges` (type: `boolean`):

Save a snapshot of the matches per image and compare the next run with it. Rows then show whether a product is new, got cheaper or more expensive, how its rank moved and how many orders it gained. Schedule the Actor to monitor an image over time.

## `onlyChanges` (type: `boolean`):

With change tracking on, return only products that are new or changed in price since the previous run and skip the unchanged ones.

## `monitorScope` (type: `string`):

A label that keeps separate monitors apart. Use the same name on every scheduled run of the same watch list and a different name for a different one.

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

Connection used to reach AliExpress. The default datacenter connection works for every ship-to country, because the destination market is set by the search itself.

## Actor input object example

```json
{
  "imageUrls": [
    "https://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg"
  ],
  "shipTo": "US",
  "currency": "auto",
  "freeShippingOnly": false,
  "choiceOnly": false,
  "shipFrom": "any",
  "titleIncludes": [],
  "titleExcludes": [],
  "sortBy": "best_match",
  "maxResultsPerImage": 20,
  "maxPagesPerImage": 5,
  "dedupeAcrossImages": false,
  "trackChanges": false,
  "onlyChanges": false,
  "monitorScope": "default",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "BUYPROXIES94952"
    ]
  }
}
```

# Actor output Schema

## `matches` (type: `string`):

No description

## `imageSummary` (type: `string`):

No description

## `runSummary` (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://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg"
    ],
    "shipTo": "US",
    "currency": "auto",
    "freeShippingOnly": false,
    "choiceOnly": false,
    "shipFrom": "any",
    "titleIncludes": [],
    "titleExcludes": [],
    "sortBy": "best_match",
    "maxResultsPerImage": 20,
    "maxPagesPerImage": 5,
    "dedupeAcrossImages": false,
    "trackChanges": false,
    "onlyChanges": false,
    "monitorScope": "default",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "BUYPROXIES94952"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/aliexpress-image-search-scraper").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://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg"],
    "shipTo": "US",
    "currency": "auto",
    "freeShippingOnly": False,
    "choiceOnly": False,
    "shipFrom": "any",
    "titleIncludes": [],
    "titleExcludes": [],
    "sortBy": "best_match",
    "maxResultsPerImage": 20,
    "maxPagesPerImage": 5,
    "dedupeAcrossImages": False,
    "trackChanges": False,
    "onlyChanges": False,
    "monitorScope": "default",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["BUYPROXIES94952"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/aliexpress-image-search-scraper").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://ae-pic-a1.aliexpress-media.com/kf/Sbf5a5b9337a442c99336f7e29821977fx.jpg"
  ],
  "shipTo": "US",
  "currency": "auto",
  "freeShippingOnly": false,
  "choiceOnly": false,
  "shipFrom": "any",
  "titleIncludes": [],
  "titleExcludes": [],
  "sortBy": "best_match",
  "maxResultsPerImage": 20,
  "maxPagesPerImage": 5,
  "dedupeAcrossImages": false,
  "trackChanges": false,
  "onlyChanges": false,
  "monitorScope": "default",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "BUYPROXIES94952"
    ]
  }
}' |
apify call getascraper/aliexpress-image-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/aliexpress-image-search-scraper"
        }
    }
}
```

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/22cED6hzILf2tPu8V/builds/SeeAweIPrXmaG11Jq/openapi.json
