{
  "openapi": "3.0.1",
  "info": {
    "title": "Temu Product Scraper — Prices, Ratings & 20 Countries",
    "description": "Scrape Temu products by URL or goods ID (price, currency, rating, review count, images, video, category path, material) and Temu category pages (120 products: price, original price, discount, units sold). US, UK, EU, Mexico, Japan storefronts. No login, no browser. Pay per result.",
    "version": "0.1",
    "x-build-id": "eOemz0xKOKmKfz0ZK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sourcelab~temu-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sourcelab-temu-product-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/sourcelab~temu-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sourcelab-temu-product-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/sourcelab~temu-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sourcelab-temu-product-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": {
          "products": {
            "title": "Product URLs or goods IDs",
            "type": "array",
            "description": "One per line: Temu product URLs (…-g-601099513224343.html, goods.html?goods_id=…, with or without a country path such as /uk/) or bare goods IDs.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Category URLs or IDs",
            "type": "array",
            "description": "Optional. Temu category pages (…-o3-320.html, category.html?opt_id=320) or bare category IDs. Each returns up to 120 products with price, original price, discount, units sold, rating and review count.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerCategory": {
            "title": "Max results per category",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "Temu renders the first 120 products of a category page.",
            "default": 120
          },
          "fetchDetailsForCategories": {
            "title": "Open every category product",
            "type": "boolean",
            "description": "Turn category results into full product records (all images, category path, material, video) merged with the listing's original price, discount and units sold — billed as 'product' instead of 'listing'.",
            "default": false
          },
          "region": {
            "title": "Temu storefront (country)",
            "enum": [
              "us",
              "uk",
              "ca",
              "au",
              "nz",
              "ie",
              "de",
              "fr",
              "it",
              "es",
              "nl",
              "be",
              "at",
              "ch",
              "pl",
              "pt",
              "se",
              "mx",
              "jp",
              "kr"
            ],
            "type": "string",
            "description": "Prices, currency, titles and ratings come from this country's Temu store. A product URL that already contains a country path (e.g. /uk/) keeps its own country.",
            "default": "us"
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Parallel requests.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Temu blocks datacenter IPs. Residential proxies are required; the Actor uses US residential exits (the storefront country is chosen with the 'region' field, not the proxy).",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "findFactoryOn1688": {
            "title": "Find the factory on 1688 (image search)",
            "type": "boolean",
            "description": "For each product delivered (up to 'Max factory lookups'), search its main image on 1688.com with our 1688 Image Search Actor and add factoryMatches (CNY price, MOQ, supplier, link), the median factory price converted to the product's currency, retailToFactoryRatio and an estimated gross margin. Runs 1688 Image Search in your account: one image-search event ($0.0045) per product looked up, on top of this Actor's own events. Off by default.",
            "default": false
          },
          "maxFactoryLookups": {
            "title": "Max factory lookups",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Upper bound on the number of products searched on 1688 in this run (the first products delivered). Caps the extra cost at $0.0045 × this number.",
            "default": 10
          },
          "factoryMatchesPerProduct": {
            "title": "1688 offers per product",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Most similar 1688 offers kept per product (sponsored results excluded). Up to 20 always costs a single image-search event.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}