All scrapers

E-commerce

Temu Scraper

temu.com

Bot detection + rate limiting Protection
Served by plugin endpoints

Temu never puts product data in the HTML a browser gets - the page builds itself through a call that refuses automation - so a normal scrape comes back empty. The dedicated plugin reads the structured document Temu serves to search engines instead, and hands back the real fields: name, price and currency, availability, rating, review count and images. Search a keyword to get product URLs straight from Temu, then resolve each to a full product. Temu meters this crawler view, so the plugin is built for targeted price checks, monitoring and comparison rather than bulk crawling.

What you can extract

  • Product name, description and brand
  • Price with its currency (follows the exit region) and availability
  • Average rating and review count
  • Product image URLs
  • Keyword search returning product URLs from Temu, optionally resolved to full products

Dedicated endpoints

/goods/temu-product

Product

One Temu product URL to full JSON - name, price, currency, availability, rating, review count and images, read from the crawler SEO document.

/goods/temu-search

Keyword search

Product URLs for a keyword taken from Temu's own search page; with details=true, resolves the top results to full product objects.

How to scrape it

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/goods/temu-product?keyword=kids%20toys&details=true"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/goods/temu-product",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"keyword": "kids toys", "details": "true"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const results = await su.temuSearch('kids toys', {
  details: true,
});
console.log(results);

Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.

Example response

{
  "url": "https://www.temu.com/example-g-601099512345678.html",
  "name": "822pcs Spaceship Building Blocks Set",
  "description": "Shop the 822pcs Spaceship Building Blocks Set on Temu ...",
  "sku": null,
  "brand": "Temu",
  "price": "49.04",
  "priceCurrency": "USD",
  "availability": "https://schema.org/InStock",
  "rating": 4.6,
  "reviewCount": 871,
  "itemCondition": "https://schema.org/NewCondition",
  "variantGroupId": "601099512345678",
  "images": [
    "https://img.kwcdn.com/product/fancy/xxxx.jpg"
  ],
  "reviews": [
    {
      "rating": 5.0,
      "date": "2026-07-08",
      "author": "****",
      "body": "****"
    }
  ],
  "video": {
    "contentUrl": "https://goods-vod.kwcdn.com/goods-video/xxxx.f30.mp4",
    "thumbnailUrl": "https://img.kwcdn.com/product/fancy/xxxx.jpg",
    "uploadDate": "2025-08-27T04:35:42.00Z"
  }
}

Read the API docs

Frequently asked questions

Is it legal to scrape Temu?

Collecting publicly available Temu data such as product names, prices and ratings is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.

How do I scrape Temu without getting blocked?

Temu uses bot detection and rate limiting. The ScrapeUnblocker Temu plugin rotates residential and ISP exits and handles challenges for you, then returns product data as JSON.

What Temu data can I get?

The product endpoint turns one Temu product URL into JSON: name, description, brand, price with its currency, availability, item condition, average rating, review count, variant group id, product images and a video when one exists. Per-review ratings and dates are included; Temu masks review authors and text. The search endpoint returns about 40 product URLs per page for a keyword.

Do I need a Temu API or account?

No. The Temu plugin returns product data as JSON without a Temu API account. Temu product and search pages build their data client-side, so /getPageSource returns 400 on those URLs and points you to /goods/temu-product and /goods/temu-search instead. Other Temu pages still work through /getPageSource.

Can I monitor Temu at scale?

Temu meters access to this data, so the plugin is built for targeted price checks, monitoring and comparison rather than bulk crawling. It enforces its own shared rate budget and answers 429 when that budget is spent; retry shortly rather than hammering. Price currency follows the exit region, so a product can come back in USD, EUR or AED.

How much does it cost to scrape Temu?

Each call to /goods/temu-product or /goods/temu-search is one request, and 1 request = 1 credit: EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. A 429 when the Temu rate budget is spent is not billed, and neither are blocks or timeouts. A search plus 10 product lookups costs 11 requests.

Related scrapers

Start scraping this site today

Free tier included. No credit card required to test it.