{
  "openapi": "3.1.0",
  "info": {
    "title": "Temu API",
    "version": "1.0.0",
    "description": "Temu product details, batched price checks priced for one of 40 country storefronts, and URL parsing as structured JSON — through FetchLayer. Keyword search and reviews are not available."
  },
  "servers": [
    {
      "url": "https://api.fetchlayer.dev/temu"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API Key",
        "description": "Send your FetchLayer key as Authorization: Bearer ss-your-key."
      }
    }
  },
  "paths": {
    "/product": {
      "post": {
        "operationId": "product",
        "tags": [
          "Products"
        ],
        "summary": "Get one product in full",
        "description": "Read one Temu product, priced for one country storefront: title and URL, the default variant's current price, the price before the running promotion, the strikethrough list price, the discount, the lowest and highest variant price, the promotion and when it ends, the image gallery with dimensions, the video, the specification table and category ids — plus every listed variant with its skuId, price, discount, availability and attributes (color, size, material, pattern where Temu publishes them). Store the skuIds: they are what makes /price-check fast and light. Temu publishes each variant's own price only while a promotion runs; for other products the default variant is listed, the rest fall within priceRange, and notes says which case applies. Availability is checked for up to 20 variants; set includeVariantAvailability to false for a faster answer without it. A product that does not exist, or is no longer sold in that storefront, is a 404. Reviews, star ratings, sold counts, shipping and stock quantities are not available.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "product": {
                    "type": "string",
                    "description": "Temu product id (the goods_id, for example 607033881415363), or any Temu product URL. A URL that selects a variant with sku_id keeps that variant."
                  },
                  "market": {
                    "type": "string",
                    "description": "Two-letter country of the storefront to price in. Prices, currency and availability all differ by storefront, and every result is priced for exactly one. One of AE, AT, AU, BG, BR, CA, CH, CL, CO, CZ, DE, DK, DO, DZ, ES, FI, GB, GR, GT, HU, IE, IL, IT, JP, KW, MA, MX, MY, NG, NZ, PE, PY, RO, SA, SE, TH, UA, US, UY, ZA.",
                    "example": "US"
                  },
                  "language": {
                    "type": "string",
                    "description": "Language for titles and attributes, for example en. Does not change prices. Defaults to the storefront's own language."
                  },
                  "includeVariantAvailability": {
                    "type": "boolean",
                    "description": "Check each listed variant's own price and stock (up to 20). false answers faster and reports availability as unknown.",
                    "example": "true"
                  },
                  "format": {
                    "type": "string",
                    "description": "json or markdown. Markdown returns the same result rendered for a model to read.",
                    "example": "json"
                  },
                  "timeoutMs": {
                    "type": "number",
                    "description": "Time limit in milliseconds for each call to Temu (max 120000)."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "product"
                ]
              },
              "examples": {
                "default": {
                  "value": {
                    "product": "607033881415363",
                    "market": "US"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "requestedUrl": {
                      "type": "string",
                      "description": "The Temu page this result corresponds to."
                    },
                    "scrapedAt": {
                      "type": "string",
                      "description": "When Temu was read, as an ISO timestamp."
                    },
                    "transport": {
                      "type": "string",
                      "description": "Always temu — the upstream source this data came from."
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Caveats about this specific result, such as a variant list that may be incomplete. Read it before treating a result as complete."
                    },
                    "market": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "The storefront the result was priced for: code, regionId, currency and language. Every price in the result is in market.currency."
                    },
                    "resultType": {
                      "type": "string",
                      "description": "Always product."
                    },
                    "product": {
                      "type": "object",
                      "properties": {
                        "goodsId": {
                          "type": "string",
                          "description": "Temu product id."
                        },
                        "title": {
                          "type": "string",
                          "description": "Product title in the requested language."
                        },
                        "url": {
                          "type": "string",
                          "description": "Product page URL on the storefront."
                        },
                        "defaultSkuId": {
                          "type": "string",
                          "description": "The variant Temu shows by default; product.price describes it."
                        },
                        "price": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Current price of the default variant: { amount, currency, display } — amount is a decimal (18.39), display is how Temu shows it ($18.39) or null."
                        },
                        "originalPrice": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Price before the running promotion, or null."
                        },
                        "listPrice": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "The strikethrough reference price, where the storefront shows one (not every storefront does)."
                        },
                        "discountPercent": {
                          "type": "number",
                          "description": "Discount off the list price, in percent."
                        },
                        "priceRange": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Lowest (min) and highest (max) regular price across the variants."
                        },
                        "promotion": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "The running promotion: name and endsAt, or null."
                        },
                        "onSale": {
                          "type": "boolean",
                          "description": "Whether a promotion currently discounts the product."
                        },
                        "images": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "The gallery, each with url, width and height."
                        },
                        "videoUrl": {
                          "type": "string",
                          "description": "Product video, when there is one."
                        },
                        "properties": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "The specification table as name / value pairs (material, brand, shape…)."
                        },
                        "categoryIds": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Temu's category ids for the product, broadest first."
                        }
                      },
                      "additionalProperties": false
                    },
                    "variants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "skuId": {
                            "type": "string",
                            "description": "Variant id. Send it to /price-check for the fastest, lightest check."
                          },
                          "price": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "The variant's own price: { amount, currency, display } — amount is a decimal (18.39), display is how Temu shows it ($18.39) or null."
                          },
                          "availability": {
                            "type": "string",
                            "description": "in_stock, out_of_stock, limited_availability, preorder, discontinued, or unknown when it was not checked. A status, not a unit count."
                          },
                          "attributes": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "color, size, material and pattern, where Temu publishes them."
                          }
                        }
                      },
                      "description": "The listed variants. Complete only while a promotion runs; otherwise the default variant, and notes says so."
                    },
                    "variantCount": {
                      "type": "number",
                      "description": "Number of variants listed."
                    }
                  },
                  "additionalProperties": false
                },
                "examples": {
                  "default": {
                    "value": {
                      "blocked": false,
                      "requestedUrl": "https://www.temu.com/soft-plush-and-pointed-bottom-home-decor-orange-blue-retro-floral-pattern-all-match-decorative-style-suitable-for-various-home-decorations-can-be-used-as-living-room-carpet-sofa-carpet-door-mat-bedroom-carpet-kitchen-carpet-g-607033881415363.html",
                      "scrapedAt": "2026-09-12T22:19:15.558Z",
                      "transport": "temu",
                      "notes": [
                        "Only variants Temu prices individually are listed; the product may have more."
                      ],
                      "resultType": "product",
                      "market": {
                        "code": "US",
                        "regionId": 211,
                        "currency": "USD",
                        "language": "en"
                      },
                      "product": {
                        "goodsId": "607033881415363",
                        "title": "[Soft Plush And Pointed Bottom] Home Decor Orange Blue Retro Floral Pattern All-Match Decorative Style, Suitable for Various Home Decorations, Can Be Used As Living Room Carpet, Sofa Carpet, Door Mat, Bedroom Carpet, Kitchen Carpet",
                        "url": "https://www.temu.com/soft-plush-and-pointed-bottom-home-decor-orange-blue-retro-floral-pattern-all-match-decorative-style-suitable-for-various-home-decorations-can-be-used-as-living-room-carpet-sofa-carpet-door-mat-bedroom-carpet-kitchen-carpet-g-607033881415363.html",
                        "defaultSkuId": "117585735607558",
                        "price": {
                          "amount": 18.39,
                          "currency": "USD",
                          "display": "$18.39"
                        },
                        "originalPrice": {
                          "amount": 19.44,
                          "currency": "USD",
                          "display": null
                        },
                        "listPrice": {
                          "amount": 26.5,
                          "currency": "USD",
                          "display": "$26.50"
                        },
                        "discountPercent": 30,
                        "priceRange": {
                          "min": {
                            "amount": 19.44,
                            "currency": "USD",
                            "display": "$19.44"
                          },
                          "max": {
                            "amount": 76.58,
                            "currency": "USD",
                            "display": "$76.58"
                          }
                        },
                        "promotion": {
                          "name": "Big sale",
                          "endsAt": "2026-09-21T06:59:59.000Z"
                        },
                        "onSale": true,
                        "images": [
                          {
                            "url": "https://img.kwcdn.com/product/fancy/98112372-ebff-409f-8831-94e91c59b568.jpg",
                            "width": 1200,
                            "height": 1200
                          }
                        ],
                        "videoUrl": "https://goods-vod.kwcdn.com/goods-video/f0d40987805976a5d4f787b9516eaf0e3e746f2c.f30.mp4",
                        "properties": [
                          {
                            "name": "Material",
                            "value": "100% Polyester"
                          },
                          {
                            "name": "Backing Material",
                            "value": "Rubber"
                          },
                          {
                            "name": "Brand",
                            "value": "ADSUVAN"
                          }
                        ],
                        "categoryIds": [
                          "9711",
                          "12015",
                          "12351",
                          "12356"
                        ]
                      },
                      "variants": [
                        {
                          "skuId": "117585735607558",
                          "price": {
                            "amount": 18.39,
                            "currency": "USD",
                            "display": null
                          },
                          "discountPercent": 30,
                          "availability": "in_stock",
                          "attributes": {
                            "pattern": "Solid color"
                          },
                          "url": "https://www.temu.com/soft-plush-and-pointed-bottom-home-decor-orange-blue-retro-floral-pattern-all-match-decorative-style-suitable-for-various-home-decorations-can-be-used-as-living-room-carpet-sofa-carpet-door-mat-bedroom-carpet-kitchen-carpet-g-607033881415363.html?sku_id=117585735607558"
                        },
                        {
                          "skuId": "117585735640326",
                          "price": {
                            "amount": 28.99,
                            "currency": "USD",
                            "display": null
                          },
                          "discountPercent": 24,
                          "availability": "in_stock",
                          "attributes": {
                            "pattern": "Solid color"
                          },
                          "url": "https://www.temu.com/soft-plush-and-pointed-bottom-home-decor-orange-blue-retro-floral-pattern-all-match-decorative-style-suitable-for-various-home-decorations-can-be-used-as-living-room-carpet-sofa-carpet-door-mat-bedroom-carpet-kitchen-carpet-g-607033881415363.html?sku_id=117585735640326"
                        },
                        {
                          "skuId": "117585735587078",
                          "price": {
                            "amount": 36.53,
                            "currency": "USD",
                            "display": null
                          },
                          "discountPercent": 40,
                          "availability": "in_stock",
                          "attributes": {
                            "pattern": "Solid color"
                          },
                          "url": "https://www.temu.com/soft-plush-and-pointed-bottom-home-decor-orange-blue-retro-floral-pattern-all-match-decorative-style-suitable-for-various-home-decorations-can-be-used-as-living-room-carpet-sofa-carpet-door-mat-bedroom-carpet-kitchen-carpet-g-607033881415363.html?sku_id=117585735587078"
                        }
                      ],
                      "variantCount": 6
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing Bearer token"
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/price-check": {
      "post": {
        "operationId": "price-check",
        "tags": [
          "Products"
        ],
        "summary": "Check current prices",
        "description": "Check the current price, currency and availability of up to 50 products or variants in one call, all priced for one storefront — built for scheduled price monitoring. Send the skuId with every item. An item with a skuId is a ~1.6KB check that answers in a fraction of a second; an item without one first loads the whole product page (~1.5MB) to find the default variant, which is roughly a thousand times the bytes and several times slower. The variant that was priced comes back as skuId with variantLookedUp true, so store it from your first check and send it on every check after that — it also keeps you tracking the same variant, since a product's default can change. Each item reports status ok, not_found (no such product or variant in that storefront) or failed (Temu refused it this time; retry later). One failed item never fails the others; the whole call is a 503 only when no item could be checked. Billing: each product that gets a definitive result — a price, or a status such as out of stock, ended, unavailable or not found — counts as one request, so pricing 20 products bills 20. Products that fail on our side (blocked, timed out, not reached) are not billed, and duplicates count once.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "description": "Products or variants to price, 1 to 50. Each item is { goodsId, skuId } or { url, skuId }. Always include skuId when you have it: without it the product page is loaded to find the default variant (~1.5MB instead of ~1.6KB)."
                  },
                  "market": {
                    "type": "string",
                    "description": "Two-letter country of the storefront to price in. Prices, currency and availability all differ by storefront, and every result is priced for exactly one. One of AE, AT, AU, BG, BR, CA, CH, CL, CO, CZ, DE, DK, DO, DZ, ES, FI, GB, GR, GT, HU, IE, IL, IT, JP, KW, MA, MX, MY, NG, NZ, PE, PY, RO, SA, SE, TH, UA, US, UY, ZA.",
                    "example": "US"
                  },
                  "language": {
                    "type": "string",
                    "description": "Language for titles and attributes, for example en. Does not change prices. Defaults to the storefront's own language."
                  },
                  "format": {
                    "type": "string",
                    "description": "json or markdown. Markdown returns the same result rendered for a model to read.",
                    "example": "json"
                  },
                  "timeoutMs": {
                    "type": "number",
                    "description": "Time limit in milliseconds for each call to Temu (max 120000)."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "items"
                ]
              },
              "examples": {
                "default": {
                  "value": {
                    "market": "US",
                    "items": [
                      {
                        "goodsId": "607033881415363",
                        "skuId": "117585735607558"
                      },
                      {
                        "goodsId": "607033881415363",
                        "skuId": "117585735640326"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pagesScraped": {
                      "type": "number",
                      "description": "Products that received a definitive result. Each counts as one request against your plan; failed products and duplicates do not."
                    },
                    "requestedUrl": {
                      "type": "string",
                      "description": "The Temu page this result corresponds to."
                    },
                    "scrapedAt": {
                      "type": "string",
                      "description": "When Temu was read, as an ISO timestamp."
                    },
                    "transport": {
                      "type": "string",
                      "description": "Always temu — the upstream source this data came from."
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Caveats about this specific result, such as a variant list that may be incomplete. Read it before treating a result as complete."
                    },
                    "market": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "The storefront the result was priced for: code, regionId, currency and language. Every price in the result is in market.currency."
                    },
                    "resultType": {
                      "type": "string",
                      "description": "Always price-check."
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "goodsId": {
                            "type": "string",
                            "description": "Temu product id."
                          },
                          "skuId": {
                            "type": "string",
                            "description": "The variant that was priced. Store it and send it next time."
                          },
                          "status": {
                            "type": "string",
                            "description": "ok, not_found (no such product or variant in that storefront), or failed (could not be checked this time — retry it)."
                          },
                          "price": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "Current price: { amount, currency, display } — amount is a decimal (18.39), display is how Temu shows it ($18.39) or null. Null unless status is ok."
                          },
                          "availability": {
                            "type": "string",
                            "description": "in_stock, out_of_stock, limited_availability, preorder, discontinued or unknown."
                          },
                          "variantLookedUp": {
                            "type": "boolean",
                            "description": "True when no skuId was sent and the default variant was looked up first — the slow path."
                          },
                          "message": {
                            "type": "string",
                            "description": "Why there is no price, when status is not ok."
                          }
                        }
                      },
                      "description": "One result per requested item, in request order."
                    },
                    "itemCount": {
                      "type": "number",
                      "description": "Items requested, with okCount alongside it for the number priced."
                    }
                  },
                  "additionalProperties": false
                },
                "examples": {
                  "default": {
                    "value": {
                      "blocked": false,
                      "requestedUrl": "https://www.temu.com/",
                      "scrapedAt": "2026-09-12T22:19:56.843Z",
                      "transport": "temu",
                      "notes": [],
                      "resultType": "price-check",
                      "market": {
                        "code": "US",
                        "regionId": 211,
                        "currency": "USD",
                        "language": "en"
                      },
                      "items": [
                        {
                          "goodsId": "607033881415363",
                          "skuId": "117585735607558",
                          "status": "ok",
                          "price": {
                            "amount": 18.39,
                            "currency": "USD",
                            "display": null
                          },
                          "availability": "in_stock",
                          "url": "https://www.temu.com/soft-plush-and-pointed-bottom-home-decor-orange-blue-retro-floral-pattern-all-match-decorative-style-suitable-for-various-home-decorations-can-be-used-as-living-room-carpet-sofa-carpet-door-mat-bedroom-carpet-kitchen-carpet-g-607033881415363.html?sku_id=117585735607558",
                          "variantLookedUp": false,
                          "message": null
                        },
                        {
                          "goodsId": "607033881415363",
                          "skuId": "117585735640326",
                          "status": "ok",
                          "price": {
                            "amount": 28.99,
                            "currency": "USD",
                            "display": null
                          },
                          "availability": "in_stock",
                          "url": "https://www.temu.com/soft-plush-and-pointed-bottom-home-decor-orange-blue-retro-floral-pattern-all-match-decorative-style-suitable-for-various-home-decorations-can-be-used-as-living-room-carpet-sofa-carpet-door-mat-bedroom-carpet-kitchen-carpet-g-607033881415363.html?sku_id=117585735640326",
                          "variantLookedUp": false,
                          "message": null
                        }
                      ],
                      "itemCount": 2,
                      "okCount": 2
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing Bearer token"
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    },
    "/resolve-url": {
      "post": {
        "operationId": "resolve-url",
        "tags": [
          "Utility"
        ],
        "summary": "Parse a Temu URL",
        "description": "Turn any Temu URL into its identifiers: what it points at (product, search, store, category, short-link, home or other), plus the goodsId, the selected skuId, storeId, categoryId, search query and the storefront country the URL belongs to — each null when the URL does not carry it. It makes no request to Temu, so it is the free way to turn a pasted link into the goodsId and skuId that /product and /price-check take. Short temu.to links cannot be read without opening them: open the link and pass the full URL. Parsing a URL does not consume a credit.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "Any Temu URL."
                  },
                  "format": {
                    "type": "string",
                    "description": "json or markdown.",
                    "example": "json"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "url"
                ]
              },
              "examples": {
                "default": {
                  "value": {
                    "url": "https://www.temu.com/uk/some-product-g-607033881415363.html?sku_id=117585735607558"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "resultType": {
                      "type": "string",
                      "description": "Always resolved-url."
                    },
                    "url": {
                      "type": "string",
                      "description": "The URL that was parsed."
                    },
                    "kind": {
                      "type": "string",
                      "description": "product, search, store, category, short-link, home or other."
                    },
                    "goodsId": {
                      "type": "string",
                      "description": "The product id, when kind is product."
                    },
                    "skuId": {
                      "type": "string",
                      "description": "The variant the URL selects, when it selects one."
                    },
                    "storeId": {
                      "type": "string",
                      "description": "The store id, when kind is store."
                    },
                    "categoryId": {
                      "type": "string",
                      "description": "The category id, when kind is category."
                    },
                    "searchQuery": {
                      "type": "string",
                      "description": "The search terms, when kind is search. Search results themselves are not available."
                    },
                    "market": {
                      "type": "string",
                      "description": "The storefront country the URL belongs to, when it says — pass it as market."
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Caveats, such as a short link that has to be opened first."
                    }
                  },
                  "additionalProperties": false
                },
                "examples": {
                  "default": {
                    "value": {
                      "resultType": "resolved-url",
                      "url": "https://www.temu.com/uk/some-product-g-607033881415363.html?sku_id=117585735607558",
                      "goodsId": "607033881415363",
                      "skuId": "117585735607558",
                      "storeId": null,
                      "categoryId": null,
                      "searchQuery": null,
                      "market": "GB",
                      "kind": "product",
                      "notes": []
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing Bearer token"
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    }
  }
}