{
  "openapi": "3.0.1",
  "info": {
    "title": "AliExpress Scraper API — Products, Variants, Reviews & Sellers",
    "description": "Scrape AliExpress by keyword, category or URL. One row per product: price, discount, orders sold, rating, every SKU variant with live stock, shipping cost and delivery dates, full specs, reviews and seller profile. From $1.50/1k products, reviews from $0.40/1k. No login or API key.",
    "version": "1.0",
    "x-build-id": "bsx5UyXo1MlxgE9XY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pro100chok~aliexpress-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pro100chok-aliexpress-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/pro100chok~aliexpress-scraper/runs": {
      "post": {
        "operationId": "runs-sync-pro100chok-aliexpress-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/pro100chok~aliexpress-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-pro100chok-aliexpress-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "scrapeType": {
            "title": "What to scrape",
            "enum": [
              "search",
              "productDetails",
              "reviews"
            ],
            "type": "string",
            "description": "Pick the job. 'Search & listings' walks keyword or category pages and returns product cards. 'Product details' returns the full record for specific products (all SKU variants, stock, shipping, specs, seller). 'Reviews' returns customer reviews for specific products.",
            "default": "search"
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search on AliExpress, one per line. Used by the 'Search & listings' mode. Example: wireless earbuds",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "AliExpress URLs",
            "type": "array",
            "description": "Paste any AliExpress URLs: search result pages, category pages, or product pages. Product pages are automatically scraped as full details; everything else is treated as a listing to paginate.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "productUrls": {
            "title": "Product URLs or IDs",
            "type": "array",
            "description": "Product page URLs or bare product IDs (e.g. 3256810343908999), one per line. Required for the 'Product details' and 'Reviews' modes.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max items (hard limit)",
            "minimum": 1,
            "maximum": 500000,
            "type": "integer",
            "description": "Hard ceiling on the number of rows in the dataset. One row is one product (with its variants, shipping, seller and reviews nested inside), so this is effectively the maximum number of products. The run stops the moment the limit is hit, so you never pay for more results than you asked for.",
            "default": 100
          },
          "maxPages": {
            "title": "Max listing pages per keyword",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "How many result pages to walk for each keyword or listing URL. Each page holds up to 60 products.",
            "default": 2
          },
          "maxConcurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many products to enrich in parallel. Lower it if you see many retries; raise it for faster runs on large jobs.",
            "default": 6
          },
          "maxRetryMinutes": {
            "title": "Keep retrying listings for (minutes)",
            "minimum": 0,
            "maximum": 240,
            "type": "integer",
            "description": "AliExpress limits how often search result pages can be loaded, and those limits come and go in waves. Rather than giving up, the Actor parks a page it could not load and keeps coming back to it for up to this long while it works on your other keywords. Raise it for stubborn runs, lower it if you would rather the run finish quickly with whatever it got.",
            "default": 15
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "default",
              "orders",
              "newest",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Ordering of the search results, matching the sort dropdown on AliExpress.",
            "default": "default"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Only return products at or above this price, in the selected currency. Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Only return products at or below this price, in the selected currency. Leave empty for no maximum."
          },
          "filters": {
            "title": "Quick filters",
            "type": "array",
            "description": "On-site toggles to narrow the results: discounted items, free shipping, AliExpress Choice items, and items rated 4 stars or higher.",
            "items": {
              "type": "string",
              "enum": [
                "bigSale",
                "freeShipping",
                "choice",
                "fourStarPlus"
              ],
              "enumTitles": [
                "On sale",
                "Free shipping",
                "AliExpress Choice",
                "4 stars & up"
              ]
            },
            "default": []
          },
          "shipFromCountry": {
            "title": "Ships from",
            "type": "string",
            "description": "Only return products shipped from this country, as a two-letter code (e.g. US, ES, CN). Leave empty for any origin."
          },
          "categoryId": {
            "title": "Category ID",
            "type": "string",
            "description": "Restrict a keyword search to one AliExpress category ID (e.g. 63705). You can read the ID off a category URL, or from the categoryId field of any scraped product."
          },
          "includeProductDetails": {
            "title": "Add full product details",
            "type": "boolean",
            "description": "Enrich every product found with its complete record: every SKU variant with its own price and stock, shipping cost and delivery estimate, full specifications, image gallery and seller/store data. Everything is added to the same product row, not to extra rows.",
            "default": false
          },
          "includeReviews": {
            "title": "Add customer reviews",
            "type": "boolean",
            "description": "Attach customer reviews to every product row, in a nested `reviews` list — star rating, review text and translation, buyer country, the variant purchased and buyer photos. A `reviewsSummary` field with the full star breakdown comes with it.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Upper bound on reviews collected for each product.",
            "default": 20
          },
          "reviewsFilter": {
            "title": "Review filter",
            "enum": [
              "all",
              "withPhotos",
              "additional",
              "localReviews"
            ],
            "type": "string",
            "description": "Which reviews to collect: all of them, only reviews with buyer photos, only follow-up reviews, or only reviews from your selected region.",
            "default": "all"
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "default",
              "newest"
            ],
            "type": "string",
            "description": "Order the reviews come back in.",
            "default": "default"
          },
          "includeDescription": {
            "title": "Add product description text",
            "type": "boolean",
            "description": "Fetch the long product description and attach it to the product detail record as plain text.",
            "default": false
          },
          "includeSearchInsights": {
            "title": "Add keyword insights",
            "type": "boolean",
            "description": "Emit one row per keyword with the total number of matching products, related and trending keywords, and every available on-site filter with its values (brands, materials, colours, shipping origins). Good for keyword and category research.",
            "default": false
          },
          "region": {
            "title": "Deliver to (country)",
            "enum": [
              "US",
              "GB",
              "DE",
              "FR",
              "ES",
              "IT",
              "NL",
              "PL",
              "PT",
              "SE",
              "BE",
              "IE",
              "AT",
              "CH",
              "CZ",
              "GR",
              "RO",
              "HU",
              "DK",
              "NO",
              "FI",
              "CA",
              "AU",
              "NZ",
              "BR",
              "MX",
              "CL",
              "CO",
              "AR",
              "PE",
              "JP",
              "KR",
              "SG",
              "MY",
              "TH",
              "VN",
              "ID",
              "PH",
              "IN",
              "PK",
              "AE",
              "SA",
              "IL",
              "TR",
              "EG",
              "ZA",
              "NG",
              "UA",
              "KZ",
              "RU"
            ],
            "type": "string",
            "description": "The shopper country AliExpress should price for. This drives prices, currency, promotions, shipping cost, delivery dates and the language of the storefront.",
            "default": "US"
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "AUD",
              "CAD",
              "JPY",
              "KRW",
              "CNY",
              "RUB",
              "BRL",
              "MXN",
              "CLP",
              "COP",
              "ARS",
              "PEN",
              "INR",
              "PKR",
              "SGD",
              "MYR",
              "THB",
              "VND",
              "IDR",
              "PHP",
              "HKD",
              "TWD",
              "TRY",
              "AED",
              "SAR",
              "ILS",
              "EGP",
              "NGN",
              "ZAR",
              "PLN",
              "CZK",
              "HUF",
              "RON",
              "SEK",
              "NOK",
              "DKK",
              "CHF",
              "UAH",
              "KZT",
              "NZD"
            ],
            "type": "string",
            "description": "Currency for every price in the output. AliExpress prices in the currency of the delivery country, so pick a currency that matches your Deliver to selection — if they disagree, the country wins and the run says so in the log.",
            "default": "USD"
          },
          "locale": {
            "title": "Language",
            "enum": [
              "en_US",
              "es_ES",
              "fr_FR",
              "de_DE",
              "it_IT",
              "nl_NL",
              "pt_BR",
              "pt_PT",
              "pl_PL",
              "ru_RU",
              "tr_TR",
              "ja_JP",
              "ko_KR",
              "th_TH",
              "vi_VN",
              "id_ID",
              "ar_MA",
              "iw_IL",
              "uk_UA",
              "zh_CN"
            ],
            "type": "string",
            "description": "Language for titles, specifications, review translations and shipping labels.",
            "default": "en_US"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy used for all requests. Residential proxies are required — AliExpress blocks datacenter IPs. To use your own proxy, open the Custom proxies tab and add its URL.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}