# AliExpress Products Scraper (`confidential_gnat/aliexpress-products-scraper`) Actor

Scrape products from AliExpress (aliexpress.com) search results and product pages: title, price, discount, rating, sold count, store, variants and SKUs, stock, shipping, specifications and images. Export JSON, CSV or Excel.

- **URL**: https://apify.com/confidential_gnat/aliexpress-products-scraper.md
- **Developed by:** [ActorFlow](https://apify.com/confidential_gnat) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 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

## AliExpress Products Scraper

![AliExpress Products Scraper cover](https://i.postimg.cc/rFK2z0Jt/Gemini-Generated-Image-c6aj5c6aj5c6aj5c.jpg)

**Scrape products from AliExpress (aliexpress.com)**: title, price, original price and discount, rating, review count, sold count, store, variants and SKUs, stock, shipping fee and delivery time, specifications and images. Export to JSON, CSV or Excel, or call it as an **API**. Paste an **AliExpress search URL** or product URL, or just type a keyword, and press Start.

**Target website:** [AliExpress (aliexpress.com)](https://www.aliexpress.com)

### ✨ Features of this AliExpress products scraper

- **Product data extraction** — search results and single product pages, with every variant (SKU) priced and stocked when product pages are on.
- **Pagination support** — walks the result pages of each search until it has the items you asked for.
- **Proxy support** — configurable Apify Proxy.
- **Keyword and price filtering** — search by keyword with a minimum and maximum price, or keep the filters already in your search URL.
- **Currency and destination** — choose the price currency and the country shipping fees and delivery times are calculated for.
- **Beyond the 3,600-result limit** — AliExpress shows at most 3,600 results per search. When you ask for more, the scraper splits the search into price windows that each fit under the limit and removes duplicates.
- **Cache, new products and price changes** — use one cache name across scheduled runs and get only new products and price changes.
- **Fast search-only mode** — switch off product pages to save only what the search results show.
- **No browser required** — fast runs that cost much less than browser-based scrapers.

### 🚀 How to scrape AliExpress products in 5 steps

1. [Sign up](https://apify.com/sign-up) for a free Apify account — includes **$5 monthly credit**.
2. Open the actor page and click **Try for free**.
3. Paste one or more AliExpress search or product URLs into **Search or product URLs**, or type a **Keyword**.
4. Click **Start** and wait for the run to complete.
5. Download results from the **Output** tab in JSON, CSV, or Excel format.

You can also run this actor via the [Apify API](https://docs.apify.com/api/v2) or integrate it directly into your workflows using [Zapier](https://zapier.com/apps/apify), [Make](https://www.make.com/), or [n8n](https://n8n.io/).

### 💰 Pricing for the AliExpress scraper

This actor uses **pay-per-result** billing based on the compute units a run consumes.

- New Apify accounts include **$5 of free monthly credit**.
- It reads the data AliExpress sends to its own pages instead of driving a browser, so it costs significantly less to run than browser-based scrapers.
- Search-only runs (product pages off) are the cheapest.
- Products skipped by the cache are not charged.

### 🖼️ AliExpress scraper input screenshot

![AliExpress Products Scraper input form in Apify Console: search or product URLs, max items per search, scrape product pages, cache project name, search filters and region, and proxy configuration](https://i.postimg.cc/1XD6K50w/image.png)

### 🔧 AliExpress scraper input configuration

The input form has four main fields, then one group for search filters and region, and the proxy settings last.

| Field | Type | Required | Default | Description |
| ----- | ---- | -------- | ------- | ----------- |
| Search or product URLs (`startUrls`) | array | — | search for "phone case" (prefill) | AliExpress search result pages or single product pages, for example `https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case` or `https://www.aliexpress.com/item/1005013193921858.html`. Filters already in the URL are kept. When empty, the keyword below is used. |
| Max items per search (`maxItems`) | integer | — | 5 | Maximum products saved for each search URL (minimum 1). The site shows at most 3,600 results per search; above that the search is split automatically into price windows. |
| Scrape product pages (`scrapeDetails`) | boolean | — | true | Open every product for the store, variants and SKUs, stock, shipping, specifications and all images. Turn off to save only what the search results show (price, rating, sold count): much faster and cheaper. |
| Cache project name (`cacheProjectName`) | string | — | — | Use the same name on each scheduled run to get only new products and price changes. Products already seen with the same price are skipped and not charged. Each record gets a `changeType`: `new` or `price_change`. |

**Search filters and region** — the keyword and price filters are used when no start URL is given; currency and ship-to country apply to every run.

| Field | Type | Required | Default | Description |
| ----- | ---- | -------- | ------- | ----------- |
| Keyword (`keyword`) | string | — | — | Search words, for example `phone case` or `wireless earbuds`. |
| Minimum price (`minPrice`) | number | — | — | Only products priced at or above this amount, in the chosen currency. |
| Maximum price (`maxPrice`) | number | — | — | Only products priced at or below this amount, in the chosen currency. |
| Currency (`currency`) | string | — | USD | Currency of all prices: USD, EUR, GBP, CAD, AUD, BRL, MXN, INR, JPY, KRW, PLN, TRY, SAR, AED or SGD. |
| Ship to country (`shipToCountry`) | string | — | US | Two-letter country code the shipping fee and delivery time are calculated for, for example `US`, `GB`, `DE`, `FR` or `BR`. |

**Proxy**

| Field | Type | Required | Default | Description |
| ----- | ---- | -------- | ------- | ----------- |
| Proxy configuration (`proxyConfiguration`) | object | — | Apify Proxy (datacenter) | Product pages are only served to some proxy addresses, so the actor tries several; datacenter proxies are enough and cheapest. Searching without product pages also works without a proxy. If datacenter does not get through, switch to residential. |

**Supported URL types:**

- Search results: `https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case`
- Search with price filter: `https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case&minPrice=2&maxPrice=10`
- Product page: `https://www.aliexpress.com/item/1005013193921858.html`

### 📦 AliExpress scraper output data

The output is a dataset of product records with the fields `id`, `url`, `title`, `image`, `images`, `price`, `priceMax`, `originalPrice`, `currency`, `discountPercent`, `rating`, `reviewCount`, `sold`, `soldText`, `storeName`, `storeId`, `storeUrl`, `sellerId`, `storeRating`, `storePositiveRate`, `storeOpenedSince`, `storeCountry`, `categoryId`, `categoryPath`, `shipFrom`, `shipTo`, `shippingFee`, `shippingMethod`, `deliveryDaysMin`, `deliveryDaysMax`, `deliveryDate`, `inStock`, `stock`, `options`, `skus`, `specifications`, `detailsScraped`, `changeType`, `previousPrice`, `searchUrl` and `scrapedAt`. The dataset has 2 views:

- **Overview** — image, title, price, original price, currency, rating, sold count, store and product link.
- **Shipping and stock** — where each product ships from and to, shipping fee, method, delivery days and stock.

**Output at a glance:**

| Product | Price | Original | Rating | Sold | Store | Ships from | Fee | Days |
| ------- | ----- | -------- | ------ | ---- | ----- | ---------- | --- | ---- |
| [INS Korean Simple Blue Pink Bow Girl Mirror Cute Phone Case](https://www.aliexpress.com/item/3256813091598934.html) | $1.89 | $3.78 | 4.9 | 600 | Stone's Store | China | $1.99 | 6-11 |
| [Red Cherry Bow Soft Phone Case For iPhone 17 Pro 16 15](https://www.aliexpress.com/item/3256812797487615.html) | $1.09 | $5.01 | 5 | 77 | Shop1105361907 Store | China | $1.99 | 8-13 |

**Sample output (raw JSON):**

```json
[
  {
    "id": "3256813091598934",
    "url": "https://www.aliexpress.com/item/3256813091598934.html",
    "title": "INS Korean Simple Blue Pink Bow Girl Mirror Cute Phone Case For iPhone 17 16 15 Pro Max 14 13 12 11 XS XR X 7 8 Plus TPU Cover",
    "image": "https://ae-pic-a1.aliexpress-media.com/kf/Sd58da08b5ba94a8ca1e95899d8680f30s.jpg",
    "price": 1.89,
    "originalPrice": 3.78,
    "currency": "USD",
    "discountPercent": 50,
    "rating": 4.9,
    "sold": 600,
    "soldText": "600+ sold",
    "searchUrl": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case",
    "scrapedAt": "2026-10-22T08:42:48.925Z",
    "images": [
      "https://ae-pic-a1.aliexpress-media.com/kf/Sd58da08b5ba94a8ca1e95899d8680f30s.jpg",
      "https://ae-pic-a1.aliexpress-media.com/kf/S17686058394849e99cb322522b477d59v.jpg"
    ],
    "priceMax": 2.65,
    "storeName": "Stone's Store",
    "storeId": "1103576287",
    "storeUrl": "https://www.aliexpress.com/store/1103576287",
    "sellerId": "2678280160",
    "storePositiveRate": 100,
    "storeOpenedSince": "Mar 1, 2024",
    "storeCountry": "China",
    "categoryId": "202229207",
    "categoryPath": [
      "202192403",
      "202228401",
      "202229207"
    ],
    "shipFrom": "China",
    "shipTo": "United States",
    "shippingFee": 1.99,
    "shippingMethod": "AliExpress Selection Standard Shipping",
    "deliveryDaysMin": 6,
    "deliveryDaysMax": 11,
    "deliveryDate": "Nov. 02",
    "inStock": true,
    "stock": 9499,
    "options": [
      {
        "name": "Color",
        "values": [
          "SC23-TM-JTK011",
          "SC23-TM-T0683"
        ]
      },
      {
        "name": "Compatibility by Model",
        "values": [
          "iPhone 13 Pro",
          "iPhone17 Pro Max"
        ]
      }
    ],
    "skus": [
      {
        "skuId": "12000060762210196",
        "attributes": {
          "Color": "SC23-TM-JTK011",
          "Compatibility by Model": "iPhone 15"
        },
        "price": 2.55,
        "originalPrice": 5.1,
        "stock": 89,
        "available": true
      },
      {
        "skuId": "12000060762210197",
        "attributes": {
          "Color": "SC23-TM-JTK011",
          "Compatibility by Model": "iPhone 8"
        },
        "price": 2.49,
        "originalPrice": 4.99,
        "stock": 97,
        "available": true
      }
    ],
    "specifications": {
      "High-concerned chemical": "none",
      "Features": "Mirror Case",
      "Main Material": "Thermoplastic polyurethane",
      "Origin": "Mainland China",
      "Compatible Brand": "APPLE"
    },
    "reviewCount": 102,
    "detailsScraped": true
  },
  {
    "id": "3256812797487615",
    "url": "https://www.aliexpress.com/item/3256812797487615.html",
    "title": "Red Cherry Bow Soft Phone Case For iPhone 17 Pro 16 15 14 13 12 11 Pro Max 7 8 Plus XR X XS Max 16E 17E Luxury Mirror Back Cover",
    "image": "https://ae-pic-a1.aliexpress-media.com/kf/S24eb4b05dbbd4210a567479ae2b5430e3.jpg",
    "price": 1.09,
    "originalPrice": 5.01,
    "currency": "USD",
    "discountPercent": 78,
    "rating": 5,
    "sold": 77,
    "soldText": "77 sold",
    "searchUrl": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case",
    "scrapedAt": "2026-10-22T08:42:48.925Z",
    "images": [
      "https://ae-pic-a1.aliexpress-media.com/kf/S24eb4b05dbbd4210a567479ae2b5430e3.jpg",
      "https://ae-pic-a1.aliexpress-media.com/kf/Sc6f32c58330f419182b14d9dc5bf6d92B.jpg"
    ],
    "priceMax": 1.09,
    "storeName": "Shop1105361907 Store",
    "storeId": "1105371274",
    "storeUrl": "https://www.aliexpress.com/store/1105371274",
    "sellerId": "6004713821",
    "storePositiveRate": 91.7,
    "storeOpenedSince": "Mar 5, 2026",
    "storeCountry": "China",
    "categoryId": "202229207",
    "categoryPath": [
      "202192403",
      "202228401",
      "202229207"
    ],
    "shipFrom": "China",
    "shipTo": "United States",
    "shippingFee": 1.99,
    "shippingMethod": "AliExpress Selection Standard Shipping",
    "deliveryDaysMin": 8,
    "deliveryDaysMax": 13,
    "deliveryDate": "Nov. 04",
    "inStock": true,
    "stock": 5925,
    "options": [
      {
        "name": "Color",
        "values": [
          "JTBKSC23-TM-JTK027",
          "JTBKSC23-TM-JTK043"
        ]
      },
      {
        "name": "Compatibility by Model",
        "values": [
          "iPhone 13 Pro",
          "iPhone17 Pro Max"
        ]
      }
    ],
    "skus": [
      {
        "skuId": "12000059951388152",
        "attributes": {
          "Color": "JTBKSC23-TM-JTK027",
          "Compatibility by Model": "iPhone XS"
        },
        "price": 1.09,
        "originalPrice": 5.01,
        "stock": 88,
        "available": true
      },
      {
        "skuId": "12000059951388153",
        "attributes": {
          "Color": "JTBKSC23-TM-JTK027",
          "Compatibility by Model": "iPhone XR"
        },
        "price": 1.09,
        "originalPrice": 5.26,
        "stock": 87,
        "available": true
      }
    ],
    "specifications": {
      "High-concerned chemical": "none",
      "Features": "Shock Proof",
      "Main Material": "Acrylic",
      "Origin": "Mainland China",
      "Compatible Brand": "APPLE"
    },
    "reviewCount": 3,
    "detailsScraped": true
  }
]
```

### 🔁 Scrape only new AliExpress products with the cache

Set the same **Cache project name** on every scheduled run. Products already saved under that name with the same price are skipped: they are not charged and do not count towards **Max items per search**. Every saved record gets `changeType: "new"` for a product seen for the first time, or `changeType: "price_change"` with the earlier price in `previousPrice`. Each name keeps its own separate cache, and products skipped by the cache are never opened, so cached products also save the product-page work. Add the actor to an Apify Schedule to track new products and price drops for a keyword automatically.

### 🐍 How to scrape AliExpress with Python, JavaScript or the API

Run the actor programmatically with the official Apify clients. Replace `<YOUR_API_TOKEN>` with the token from your [Apify Console](https://console.apify.com/account/integrations).

**Python** (`pip install apify-client`):

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run = client.actor("confidential_gnat/aliexpress-products-scraper").call(run_input={
    "startUrls": [{"url": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case"}],
    "maxItems": 20,
    "scrapeDetails": True,
    "currency": "USD",
    "shipToCountry": "US",
    "cacheProjectName": "phone-cases",
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

**JavaScript** (`npm install apify-client`):

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });

const run = await client.actor('confidential_gnat/aliexpress-products-scraper').call({
    startUrls: [{ url: 'https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case' }],
    maxItems: 20,
    scrapeDetails: true,
    currency: 'USD',
    shipToCountry: 'US',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**cURL** — start a run and wait for the dataset:

```bash
curl -X POST "https://api.apify.com/v2/acts/confidential_gnat~aliexpress-products-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":[{"url":"https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case"}],"maxItems":20,"scrapeDetails":true,"currency":"USD","shipToCountry":"US"}'
```

### 💡 What you can use AliExpress product data for

- Price monitoring and competitor tracking across AliExpress stores
- Dropshipping product research: price, discount, sold count, rating and shipping time in one row
- Supplier and store vetting by positive feedback rate, store age and country
- Variant-level stock and price analysis (every color and size as its own SKU)
- Market and trend research by keyword, category and price range

E-commerce sellers, dropshippers, price-comparison sites, market researchers and analysts typically use this data across retail, consumer electronics, fashion and home goods.

### ⚠️ Limitations of the AliExpress scraper

- **Result limit** — AliExpress shows at most 3,600 results per search. The scraper splits larger searches into price windows, but a single price with more than 3,600 products cannot be split further.
- **Rough result counts** — AliExpress reports a different total result count on every load, so the "products found" figure in the log is only an estimate.
- **Product pages need the right proxy address** — only some proxy addresses are let through to product pages, so product-page runs retry on new addresses and can take longer than search-only runs.
- **Search ratings** — the star rating and review count are only present when the product has reviews.
- **Login-required content** — reviews text, questions and anything behind a login are not collected.

### ❓ AliExpress scraper FAQ

#### Can I scrape AliExpress legally?

The actor only collects data that is already publicly visible on AliExpress — no login, paywall or private content is accessed. Scraping publicly available data is generally considered lawful (see *hiQ Labs v. LinkedIn*), but you are responsible for complying with AliExpress's Terms of Service and applicable laws such as GDPR or CCPA if personal data is involved.

#### What data does the AliExpress scraper return?

Each record has the title, price (lowest and highest variant price), original price, discount, rating, review count, sold count, store details, category, shipping fee and delivery time, stock, variants, SKUs, specifications and images. With product pages off, you get the search-result fields: title, price, original price, discount, rating, sold count and main image.

#### How many products can I scrape from one AliExpress search?

`maxItems` limits the products saved for each start URL, not the whole run. AliExpress shows at most 3,600 results per search; above that the actor splits the search into price windows and removes duplicates.

#### Do I need a proxy to scrape aliexpress.com?

Search-only runs (product pages off) can work without a proxy, but product pages are only served to some proxy addresses. The input defaults to Apify datacenter proxy, which is cheapest; if product pages do not come through, switch the proxy group to residential.

#### How do I scrape AliExpress with Python?

Use the Python example above: call the actor with the Apify client and iterate over the dataset items.

#### Can I run this AliExpress scraper on a schedule?

Yes. Use Apify Schedules to run it daily or hourly with the same input. Set a **Cache project name** and each run returns only new products and price changes; products already seen at the same price are skipped and not charged.

#### What output formats are supported?

JSON, CSV, Excel, XML and RSS, either from the **Output** tab or through the Apify API.

#### Is this the cheapest AliExpress scraper on Apify?

Possibly yes. It reads the data AliExpress sends to its own pages instead of driving a browser, and with a **Cache project name** it skips products it has already scraped at the same price, so scheduled runs only pay for new products and price changes. Search-only mode (product pages off) cuts the cost further.

### 🔗 Relevant actors for AliExpress products

| Scraper | Description |
| ------- | ----------- |
| [🛒 Alibaba.com Products Scraper](https://apify.com/confidential_gnat/alibaba-products-scraper) | Scrape wholesale products from Alibaba.com by product, search or URL. |
| [🛍️ Tokopedia Product Scraper](https://apify.com/confidential_gnat/tokopedia-products-scraper) | Scrape Tokopedia products: title, shop, price in IDR, stock, category and images. |
| [🛒 Mercari Japan Scraper](https://apify.com/confidential_gnat/mercari-japan-listings-scraper) | Scrape Mercari Japan listings: price in JPY, status and condition. |
| [🛒 Carousell Products Scraper](https://apify.com/confidential_gnat/carousell-products-scraper) | Scrape Carousell.sg product listings: prices, seller ratings and deal methods. |
| [🛍️ Whop Products Scraper](https://apify.com/confidential_gnat/whop-products-scraper) | Scrape the Whop marketplace: digital products, courses, prices and reviews. |

### 🔗 Other actors you may find useful

| Scraper | Description |
| ------- | ----------- |
| [💼 XING Jobs Scraper](https://apify.com/confidential_gnat/xing-jobs-scraper) | Scrape job listings from XING Jobs: title, company, location and employment type. |
| [🍷 Vivino Wine Scraper](https://apify.com/confidential_gnat/vivino-wine-scraper) | Scrape wine data from Vivino: name, winery, vintage, region and rating. |
| [🏠 Rightmove Property Scraper](https://apify.com/confidential_gnat/rightmove-property-scraper) | Scrape UK property listings from Rightmove: sale and rent, price and address. |
| [📰 Google News AI Scraper](https://apify.com/confidential_gnat/google-news-ai-scraper) | Search Google News by keyword with optional full article text and summaries. |
| [📈 Kalshi Markets Scraper](https://apify.com/confidential_gnat/kalshi-markets-scraper) | Scrape Kalshi prediction markets: yes/no prices, implied probability and volume. |

### 💬 Support & contact

If you encounter any issues or have questions, please [open an issue](https://apify.com/confidential_gnat/aliexpress-products-scraper/issues/open).

You can also find more of our actors on the [Actor Flow](https://apify.com/confidential_gnat) page.

# Actor input Schema

## `startUrls` (type: `array`):

AliExpress search result pages or single product pages, for example https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case or https://www.aliexpress.com/item/1005013193921858.html. Filters already in the URL are kept. When empty, the keyword below is used.

## `maxItems` (type: `integer`):

Maximum products saved for each search URL. The site shows at most 3,600 results per search; above that the search is split automatically into price windows.

## `scrapeDetails` (type: `boolean`):

Open every product for the store, variants and SKUs, stock, shipping, specifications and all images. Turn off to save only what the search results show (price, rating, sold count): much faster and cheaper.

## `cacheProjectName` (type: `string`):

Use the same name on each scheduled run to get only new products and price changes. Products already seen with the same price are skipped and not charged. Each record gets a changeType: new or price_change.

## `keyword` (type: `string`):

Search words, for example phone case or wireless earbuds.

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

Only products priced at or above this amount, in the currency chosen below.

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

Only products priced at or below this amount, in the currency chosen below.

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

Currency of all prices.

## `shipToCountry` (type: `string`):

Two-letter country code the shipping fee and delivery time are calculated for, for example US, GB, DE, FR or BR.

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

Product pages are only served to some proxy addresses, so the actor tries several; datacenter proxies are enough and cheapest. Searching without product pages also works without a proxy.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case"
    }
  ],
  "maxItems": 5,
  "scrapeDetails": true,
  "currency": "USD",
  "shipToCountry": "US",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `products` (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 = {
    "startUrls": [
        {
            "url": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case"
        }
    ],
    "maxItems": 5,
    "shipToCountry": "US",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("confidential_gnat/aliexpress-products-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 = {
    "startUrls": [{ "url": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case" }],
    "maxItems": 5,
    "shipToCountry": "US",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("confidential_gnat/aliexpress-products-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 '{
  "startUrls": [
    {
      "url": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case"
    }
  ],
  "maxItems": 5,
  "shipToCountry": "US",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call confidential_gnat/aliexpress-products-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,confidential_gnat/aliexpress-products-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/W17hTkGzLedUtFUO3/builds/k68wGxwM3ThhnDv72/openapi.json
