{
  "openapi": "3.0.1",
  "info": {
    "title": "AliExpress Search Scraper: Prices, Sold Counts & Delivery",
    "description": "Scrape AliExpress search results and category pages: price, original price, discount, rating, exact sold count, delivery dates, ship-from country, Choice and ad flags, images and category IDs. Any ship-to country, currency and language. No login. $1.50 per 1,000 products.",
    "version": "1.0",
    "x-build-id": "Y2Ug3BhdShXjGLM2h"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fairfetch~aliexpress-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fairfetch-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/fairfetch~aliexpress-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fairfetch-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/fairfetch~aliexpress-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fairfetch-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": {
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Keywords to search on AliExpress, one per line, like typing in the site's search box. Each term returns up to \"Max products per search\" rows.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Search or category URLs (optional)",
            "type": "array",
            "description": "AliExpress search or category pages, one per line, with any filters you set on the site, e.g. https://www.aliexpress.com/w/wholesale-phone-case.html?SortType=total_tranpro_desc or https://www.aliexpress.com/category/44/consumer-electronics.html. Category URLs work with the classic category IDs from the site's category links, not with the newer IDs in the output's categoryIds. Keyword pages like /premium/phone-case.html or /popular/phone-case.html work too. Product pages (/item/...) are not supported. A category ID AliExpress doesn't serve is reported as not found (free).",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerSearch": {
            "title": "Max products per search",
            "minimum": 1,
            "maximum": 3600,
            "type": "integer",
            "description": "How many products to return for each search term or URL. AliExpress shows 60 per page and at most 60 pages (3,600 products).",
            "default": 100
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "default",
              "orders",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Order of the results, as on the site. Ignored for URLs that already contain a sort when left on \"Best match\".",
            "default": "default"
          },
          "shipTo": {
            "title": "Ship-to country",
            "enum": [
              "US",
              "AU",
              "AT",
              "BE",
              "BR",
              "BG",
              "CA",
              "CL",
              "CO",
              "HR",
              "CY",
              "CZ",
              "DK",
              "EE",
              "FI",
              "FR",
              "DE",
              "GR",
              "HU",
              "IE",
              "IL",
              "IT",
              "JP",
              "LV",
              "LT",
              "LU",
              "MY",
              "MT",
              "MX",
              "MA",
              "NL",
              "NZ",
              "NG",
              "NO",
              "PE",
              "PH",
              "PL",
              "PT",
              "RO",
              "SA",
              "SG",
              "SK",
              "SI",
              "ZA",
              "KR",
              "ES",
              "SE",
              "CH",
              "TH",
              "TR",
              "UA",
              "AE",
              "GB",
              "VN"
            ],
            "type": "string",
            "description": "Country of the buyer. Sets the prices, delivery estimates and which products AliExpress shows. Russia, Belarus and Kazakhstan (served by the separate site aliexpress.ru), India and Indonesia (almost no products shown) are not supported.",
            "default": "US"
          },
          "currency": {
            "title": "Currency (optional)",
            "type": "string",
            "description": "Three-letter currency code for prices: AED, AUD, BGN, BRL, CAD, CHF, CLP, COP, CZK, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PLN, RON, SAR, SEK, SGD, THB, TRY, UAH, USD, VND, ZAR. Empty = the ship-to country's currency."
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it",
              "pt",
              "nl",
              "pl",
              "tr",
              "ja",
              "ko",
              "ar",
              "he",
              "th",
              "vi",
              "id"
            ],
            "type": "string",
            "description": "Language of the product titles. AliExpress translates titles for most markets; the US site shows English.",
            "default": "en"
          },
          "minPrice": {
            "title": "Minimum price (optional)",
            "minimum": 0,
            "type": "number",
            "description": "Only products from this price, in the chosen currency."
          },
          "maxPrice": {
            "title": "Maximum price (optional)",
            "minimum": 0,
            "type": "number",
            "description": "Only products up to this price, in the chosen currency."
          },
          "shipFrom": {
            "title": "Ships from (optional)",
            "enum": [
              "CN",
              "US",
              "ES",
              "FR",
              "DE",
              "IT",
              "PL",
              "CZ",
              "GB",
              "BE",
              "NL",
              "BR",
              "MX",
              "KR",
              "TR",
              "SA",
              "AE",
              "AU",
              "IL",
              "CL",
              "UA",
              "VN",
              "JP"
            ],
            "type": "string",
            "description": "Only products that can ship from a warehouse in this country, as with the site's \"Ships from\" filter (a product's default variant may still ship from elsewhere; its shipFrom field shows that one). AliExpress offers the filter per ship-to country (tested: ship to the US: United States or China; ship to Germany: Germany, Spain, France, Poland or China). If AliExpress doesn't offer it for your search and market, the search is reported as not found and nothing is charged."
          },
          "includeAds": {
            "title": "Include sponsored products",
            "type": "boolean",
            "description": "Keep products that AliExpress shows as ads in the results (they are marked with isAd). Turn off to skip them; skipped ads are not charged.",
            "default": true
          },
          "dedupe": {
            "title": "Skip duplicates",
            "type": "boolean",
            "description": "Return each product once per run, even if several searches or pages list it. Duplicates are not charged.",
            "default": true
          },
          "preferFullCards": {
            "title": "Retry pages in the basic format",
            "type": "boolean",
            "description": "AliExpress sometimes shows a basic listing format (title, image and price only), mostly outside the US. When a page comes back that way, ask for it again (up to 2 times, with a new session) to get ratings, sold counts and delivery data. Returned rows are charged as usual; the extra requests themselves cost nothing extra.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Searches in parallel",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "How many search terms / URLs are processed at the same time. Each one reads its pages one after another at a polite pace.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy (datacenter) is used by default and works well. Residential proxies are not needed.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}