{
  "openapi": "3.0.1",
  "info": {
    "title": "AliExpress Scraper - Products, Sold Counts & 40 Fields",
    "description": "Get AliExpress product prices, exact sold counts and ratings by keyword, image, category or product link. Price, price type, discount, store, delivery days, Choice and ad flags, optional review stats. Pick currency and ship-to country, compare with the last run. No login. Errors are free.",
    "version": "0.1",
    "x-build-id": "ORr52U8qCmjZRVcAY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~aliexpress-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-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/scrapewise~aliexpress-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-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/scrapewise~aliexpress-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-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 as you would type them in the AliExpress search bar, one per line, for example \"phone case\" or \"wireless earbuds\". Each keyword is searched on its own and returns the products AliExpress lists for it, page after page (60 per page, up to 3,600 per keyword), with the sort and filters below applied. Leave every source empty to run the example \"phone case\". Also accepts 'keywords' and 'queries'.",
            "items": {
              "type": "string"
            }
          },
          "categoryUrls": {
            "title": "Category or search links",
            "type": "array",
            "description": "AliExpress category or search links, one per line, for example https://www.aliexpress.com/category/100003109/women-clothing.html or any https://www.aliexpress.com/w/... search link. The filters already in the link are kept and the sort, price and shipping options below are added on top. A search link pasted in 'Product links' is moved here automatically. Also accepts 'searchUrls'.",
            "items": {
              "type": "string"
            }
          },
          "productUrls": {
            "title": "Product links or ids",
            "type": "array",
            "description": "Specific products to read, one per line: https://www.aliexpress.com/item/1005006123456789.html links (aliexpress.us and other country domains too) or just the numeric product id. Each returns one row with price, seller, shipping and review stats; review stats are always included here and charged as 'Review stats added'. Also accepts 'productIds', 'urls' and 'startUrls'.",
            "items": {
              "type": "string"
            }
          },
          "imageUrls": {
            "title": "Image links (search by image)",
            "type": "array",
            "description": "Find AliExpress products that look like a photo, one image link per line: any public JPG, PNG or WebP (an Amazon, Etsy, Shopee or Temu photo, your own site, or an AliExpress image). You can also paste an AliExpress product link or id here: its main photo is used and the product itself is left out, so you get other sellers of the same or a similar item. Each image returns the products AliExpress shows for it, most similar first, with the same fields as a keyword search plus 'sourceImage' (the image or link the row came from) and 'imageSearchTotal'. Sort and filters apply to keyword and category searches only. Also accepts 'imageUrl', 'images' and 'similarToProducts'.",
            "items": {
              "type": "string"
            }
          },
          "imageFile": {
            "title": "Or upload one image",
            "type": "string",
            "description": "Upload a product photo (JPG, PNG or WebP, up to 15 MB) from your computer instead of pasting a link. It is searched exactly like an image link and its rows carry the uploaded file's link in 'sourceImage'. Leave empty when you use links."
          },
          "maxResultsPerImage": {
            "title": "Max products per image",
            "minimum": 0,
            "type": "integer",
            "description": "Products returned for each image or product link, for example 20 (the default) or 120. AliExpress shows about 100 to 300 similar products per photo, 60 per page; 0 means all of them. You pay per product delivered, so this caps the cost of each image. 'maxItemsPerImage' also works.",
            "default": 20
          },
          "maxItems": {
            "title": "Max products per keyword or link",
            "minimum": 1,
            "type": "integer",
            "description": "Upper limit of products for each keyword and for each category or search link, for example 50 (the default) or 3600 for everything AliExpress lists. Product links are not limited by it. You pay per product delivered, so this caps the cost of each keyword. 'maxItemsPerQuery' also works.",
            "default": 50
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "default",
              "orders",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Same options as the AliExpress sort bar: Best match (default), Most sold, Price low to high, Price high to low. With a limit, the order also decides which products you get: Most sold plus a limit of 50 returns the 50 best sellers.",
            "default": "default"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Only products priced at or above this whole number, in the currency chosen below, for example 5. The filter is applied by AliExpress to keyword and category searches. Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Only products priced at or below this whole number, in the currency chosen below, for example 30. Applied by AliExpress to keyword and category searches. Leave empty for no maximum."
          },
          "shipFrom": {
            "title": "Ships from (country code)",
            "type": "string",
            "description": "Only products shipped from this country, as a two-letter code: US, CN, ES, FR, DE, GB, BR and so on. Useful to find items with local warehouses and faster delivery. Leave empty for all origins."
          },
          "freeShippingOnly": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Only products AliExpress marks with free shipping to the 'Ship to' country. Off (default) keeps all products; each row still has its shipping cost.",
            "default": false
          },
          "fourStarsAndUp": {
            "title": "4 stars and up only",
            "type": "boolean",
            "description": "Only products AliExpress rates 4 stars or more, using the AliExpress 4-star filter. Off (default) keeps unrated and lower-rated products too.",
            "default": false
          },
          "choiceOnly": {
            "title": "AliExpress Choice only",
            "type": "boolean",
            "description": "Only AliExpress Choice products (platform-managed items with faster delivery and free returns in many countries). Off (default) keeps all sellers.",
            "default": false
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "CAD",
              "AUD",
              "BRL",
              "MXN",
              "PLN",
              "JPY",
              "KRW"
            ],
            "type": "string",
            "description": "Currency for every price in the output, for example USD (default), EUR, GBP or BRL. AliExpress converts the prices itself, so they match what a shopper in that currency sees. The price filters above use this currency too.",
            "default": "USD"
          },
          "shipTo": {
            "title": "Ship to (country code)",
            "type": "string",
            "description": "Two-letter code of the country AliExpress prices and delivers for, for example US (default), GB, DE, FR, ES, BR or AU. It changes prices, shipping costs, delivery days and which products are listed, so set it to your buyers' country.",
            "default": "US"
          },
          "includeReviewStats": {
            "title": "Add review stats",
            "type": "boolean",
            "description": "Off (default): search rows have the rating and orders shown on the card. On: adds review count, average, star breakdown (5 to 1 stars), positive rate and review tags to each search result. It needs one extra request per product and is charged as a separate 'Review stats added' event only when the stats came back. Product links always include them.",
            "default": false
          },
          "compareWithPreviousRun": {
            "title": "Compare with the previous run",
            "type": "boolean",
            "description": "Keeps the last price and orders count of every product in a key-value store on your account (named after this input, or after 'Snapshot name') and adds to each row: previousPrice, priceChange, priceChangePct, soldCountChange, isNewProduct, firstSeenAt and previousSeenAt. On the first run every product is new. Every product is still delivered. Save the input as a Task and schedule it daily to see what changed since the previous run.",
            "default": false
          },
          "snapshotName": {
            "title": "Snapshot name (optional)",
            "type": "string",
            "description": "Name of the history to compare with. Leave empty to derive it from the keywords, links, filters, currency and ship-to country of this input (the same input always compares with itself). Set a new name to start a fresh history."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy (datacenter) is the default and recommended. When AliExpress answers with a captcha, the Actor opens a new session and, after two blocks, switches to Apify residential proxies on its own, with no extra charge. Change it only to use your own proxies.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}