{
  "openapi": "3.0.1",
  "info": {
    "title": "AliExpress Scraper — Fast Search & Product Details",
    "description": "Scrape AliExpress search results over plain HTTP (no browser) and full product details for 20 ship-to countries. Documented output fields, pay per result.",
    "version": "1.0",
    "x-build-id": "xjbd1TMML0pEZNZX1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cemented_jest~aliexpress-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cemented_jest-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/cemented_jest~aliexpress-scraper/runs": {
      "post": {
        "operationId": "runs-sync-cemented_jest-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/cemented_jest~aliexpress-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-cemented_jest-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "detail"
            ],
            "type": "string",
            "description": "`search`: keywords in, one result per product listing out (up to 2,900 unique products per keyword). `detail`: product URLs or ids in, one full product object out (variants, specifications, shipping, review summary, store info).",
            "default": "search"
          },
          "keywords": {
            "title": "Keywords (search mode)",
            "minItems": 0,
            "maxItems": 50,
            "type": "array",
            "description": "Search phrases, one per line (1 to 50, up to 200 characters each). Any language works, for example `usb c cable`, `phone case` or `手机壳`. Required when mode is `search`.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "productUrls": {
            "title": "Product URLs or ids (detail mode)",
            "minItems": 0,
            "maxItems": 500,
            "type": "array",
            "description": "AliExpress product links on any storefront (`www`, `ko`, `de`, `aliexpress.us`, ...) or bare numeric product ids (1 to 500). Tracking parameters are ignored. Required when mode is `detail`.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "shipTo": {
            "title": "Ship-to country",
            "enum": [
              "US",
              "UK",
              "DE",
              "FR",
              "ES",
              "IT",
              "KR",
              "JP",
              "CA",
              "AU",
              "NL",
              "PL",
              "BR",
              "MX",
              "SA",
              "AE",
              "IL",
              "TR",
              "CL",
              "SE"
            ],
            "type": "string",
            "description": "Country the prices, currency, language and delivery estimates are for. All 20 countries were verified over plain HTTP: the page reports the requested ship-to code and the currency shown in brackets (see the README). Detail mode was verified for fewer countries (README). The United Kingdom is `UK` (AliExpress's own code).",
            "default": "US"
          },
          "sort": {
            "title": "Sort (search mode)",
            "enum": [
              "relevance",
              "orders",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "`relevance` is AliExpress's default order, `orders` sorts by number of orders, `price_asc` / `price_desc` sort by price.",
            "default": "relevance"
          },
          "maxItems": {
            "title": "Max items per keyword (search mode)",
            "minimum": 1,
            "maximum": 2900,
            "type": "integer",
            "description": "Stop after this many items for each keyword. Duplicates, price-less promo cards and filtered items never count and are never charged. AliExpress serves at most 60 result pages per query; a broad keyword gave 2,373 unique items in the full-depth test, so values above that only matter for other keywords.",
            "default": 100
          },
          "minPrice": {
            "title": "Minimum price (search mode)",
            "minimum": 0,
            "type": "number",
            "description": "Only items priced at or above this value, in the currency of the ship-to country (for example USD for `US`). Leave empty for no lower bound."
          },
          "maxPrice": {
            "title": "Maximum price (search mode)",
            "minimum": 0,
            "type": "number",
            "description": "Only items priced at or below this value, in the currency of the ship-to country. Must not be lower than the minimum price. Leave empty for no upper bound."
          },
          "includeAds": {
            "title": "Include sponsored results",
            "type": "boolean",
            "description": "Sponsored listings are normal products with the field `isAd` set to true. Turn this off to skip them (skipped items are not charged).",
            "default": true
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel requests (1 to 10). Leave empty for the default: 5 in search mode, 2 in detail mode (browser pages are heavy)."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings. Search runs over plain HTTP with the automatic (datacenter) proxy by default. For detail mode the automatic setting is upgraded to residential proxies with the exit country pinned to the ship-to country, because product pages are challenged more often on datacenter IPs and need a browser timezone that matches the exit country; name proxy groups or custom proxy URLs to override."
          },
          "debug": {
            "title": "Debug",
            "type": "boolean",
            "description": "Save a screenshot and the HTML of failed browser pages to the key-value store (ERROR_<n>.png / ERROR_<n>.html).",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}