{
  "openapi": "3.0.1",
  "info": {
    "title": "AliExpress Scraper — Products, Prices, Reviews & Sellers",
    "description": "AliExpress scraper API: search products by keyword, category or URL with prices, discounts, ratings, orders sold, store info, plus product details and reviews. JSON/CSV/Excel.",
    "version": "0.1",
    "x-build-id": "viStcUhFnfG5tfZd7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/innolabs~aliexpress-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-innolabs-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/innolabs~aliexpress-scraper/runs": {
      "post": {
        "operationId": "runs-sync-innolabs-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/innolabs~aliexpress-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-innolabs-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search on AliExpress, one per line (e.g. 'wireless earbuds', 'phone case'). Each keyword returns up to 60 products per result page.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "AliExpress URLs",
            "type": "array",
            "description": "Search result URLs (https://www.aliexpress.com/w/wholesale-phone-case.html, filters in the URL are kept), category URLs (https://www.aliexpress.com/category/63705/earphones-headphones.html) or product URLs (https://www.aliexpress.com/item/1005009006022196.html). Any AliExpress country domain works.",
            "items": {
              "type": "string"
            }
          },
          "maxPagesPerQuery": {
            "title": "Max result pages per keyword or listing URL",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Result pages to read per keyword, search URL or category URL. One page holds up to 60 products; AliExpress shows at most 60 pages.",
            "default": 5
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "bestMatch",
              "orders",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Order of search and category results. These are the sort orders AliExpress offers.",
            "default": "bestMatch"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "number",
            "description": "Only products from this price, in the selected currency. Leave empty for no lower limit."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "number",
            "description": "Only products up to this price, in the selected currency. Leave empty for no upper limit."
          },
          "includeDetails": {
            "title": "Add product details (store, SKUs, specs, shipping)",
            "type": "boolean",
            "description": "For every search/category product, also load its product page data: store name, ID and URL, store followers and rating, review count, all SKUs (variants) with prices and stock, specifications, shipping fee, method and delivery time. One extra request per product, so runs are slower. Product URLs always include these details.",
            "default": false
          },
          "includeReviews": {
            "title": "Add reviews",
            "type": "boolean",
            "description": "Add buyer reviews of every scraped product as separate rows (type 'review'): rating, text and English translation, date, country, SKU bought, photos and helpful votes. Each review is one billed result.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "How many reviews to take per product (in AliExpress' default order) when 'Add reviews' is on.",
            "default": 20
          },
          "shipTo": {
            "title": "Ship to (country)",
            "type": "string",
            "description": "Two-letter delivery country code (US, GB, DE, FR, ES, IT, NL, PL, BR, MX, CA, AU, KR, JP, IL, SA, AE …). Prices, shipping and delivery times are shown for this country.",
            "default": "US"
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "Three-letter currency code for prices (USD, EUR, GBP, CAD, AUD, BRL, MXN, PLN, KRW, JPY …).",
            "default": "USD"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en_US",
              "es_ES",
              "fr_FR",
              "de_DE",
              "it_IT",
              "pt_BR",
              "nl_NL",
              "pl_PL",
              "tr_TR",
              "ru_RU",
              "ja_JP",
              "ko_KR",
              "ar_MA",
              "he_IL",
              "th_TH",
              "vi_VN",
              "id_ID"
            ],
            "type": "string",
            "description": "Language of titles and review translations.",
            "default": "en_US"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on dataset rows for the whole run (products plus reviews). The run stops cleanly when reached.",
            "default": 1000
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings. The default residential proxy is the reliable choice: AliExpress answers most datacenter IPs with captchas on product details. Search, category and review pages also work on the datacenter proxy. When a captcha appears the scraper switches to a new IP automatically.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "debug": {
            "title": "Debug logging",
            "type": "boolean",
            "description": "Log every request with its status code.",
            "default": false
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}