Temu Scraper — Products, Prices, Reviews & Variants avatar

Temu Scraper — Products, Prices, Reviews & Variants

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Temu Scraper — Products, Prices, Reviews & Variants

Temu Scraper — Products, Prices, Reviews & Variants

Under maintenance

Scrape Temu products at scale. Extract titles, prices, discounts, sold counts, ratings, reviews, images, variants, and store info. Search by keyword, browse categories, or scrape product pages. Built for dropshipping and competitive intelligence. Pay-per-result.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

7 hours ago

Last modified

Categories

Share

Temu Product Scraper

Scrape Temu.com product data at scale. Extract titles, prices, discounts, sold counts, ratings, reviews, images, variants, store info, and shipping details. Search by keyword, browse categories, or scrape specific product pages.

Why This Scraper?

Temu is one of the fastest-growing e-commerce platforms with ultra-low prices directly from manufacturers. This scraper extracts structured product data using multiple strategies — embedded JSON extraction, server-side rendered data parsing, and HTML DOM analysis — to handle Temu's dynamic content reliably.

Use Cases

  • Dropshipping Research — Find winning products with high sold counts and low prices. Compare Temu prices with AliExpress, Amazon, and Shopify to calculate profit margins. Identify trending products before they saturate other marketplaces.
  • Competitive Intelligence — Monitor competitor product listings, pricing strategies, and discount patterns. Track which products Temu is promoting heavily to anticipate market trends.
  • Price Monitoring — Schedule regular scrapes to track price changes, flash sales, and discount events. Build historical price datasets for market analysis and dynamic pricing models.
  • Market Research — Analyze product categories, pricing distributions, rating patterns, and review volumes to understand consumer demand. Identify underserved niches and high-demand product categories.
  • Supplier Discovery — Find manufacturers and sellers offering products at wholesale prices. Extract store information to build supplier databases for sourcing operations.
  • Product Analytics — Aggregate data across thousands of products to identify best sellers, optimal price points, trending categories, and seasonal patterns.

Input

ParameterTypeDefaultDescription
searchTermsarray[]Keywords to search on Temu (e.g. ["wireless earbuds", "phone case"])
productUrlsarray[]Direct Temu product page URLs to scrape
categorystring""Category slug or URL to browse (e.g. "electronics", "women-clothing")
maxPriceinteger0Filter products by max price in USD. Set to 0 for no filter.
maxResultsinteger500Maximum total products to scrape. Set to 0 for unlimited.
proxyobjectProxy configuration. Residential proxies strongly recommended.

Supported Categories

electronics, women-clothing, men-clothing, home-garden, beauty, shoes, bags, jewelry, toys, sports, automotive, baby, pets, office, phone-accessories, computer, watches, home-improvement, kitchen, garden

Output

Each product in the dataset includes:

FieldDescription
titleProduct name
priceCurrent sale price (USD)
originalPriceOriginal/list price before discount
discountDiscount percentage (e.g. "85%")
soldUnits sold indicator (e.g. "10K+", "500+")
ratingAverage star rating (1.0-5.0)
reviewsNumber of customer reviews
categoryProduct category or breadcrumb path
imagesArray of product image URLs
variantsArray of variant objects (size, color, price, image)
storeSeller/store name
shippingInfoShipping cost and delivery time
urlDirect link to product page
productIdTemu product ID
brandBrand name (if available)
currencyPrice currency code
searchTermThe search term that found this product
scrapedAtISO timestamp of when the product was scraped

Example Output

{
"title": "Wireless Bluetooth Earbuds with LED Display Charging Case",
"price": 3.99,
"originalPrice": 28.99,
"discount": "86%",
"sold": "50K+",
"rating": 4.7,
"reviews": 12847,
"category": "Electronics > Audio > Earbuds",
"images": [
"https://img.kwcdn.com/product/fancy/example1.jpg",
"https://img.kwcdn.com/product/fancy/example2.jpg"
],
"variants": [
{
"skuId": "123456",
"title": "Black",
"price": 3.99,
"originalPrice": 28.99,
"image": "https://img.kwcdn.com/product/fancy/black.jpg",
"available": true,
"attributes": {
"Color": "Black"
}
},
{
"skuId": "123457",
"title": "White",
"price": 4.29,
"originalPrice": 28.99,
"image": "https://img.kwcdn.com/product/fancy/white.jpg",
"available": true,
"attributes": {
"Color": "White"
}
}
],
"store": "TechGadgets Official Store",
"shippingInfo": "Free shipping | Delivery: 7-15 days",
"url": "https://www.temu.com/wireless-bluetooth-earbuds-g-123456789.html",
"productId": "123456789",
"brand": null,
"currency": "USD",
"searchTerm": "wireless earbuds",
"scrapedAt": "2026-03-01T12:00:00.000Z"
}

How It Works

The scraper uses four extraction strategies in priority order:

  1. Embedded JSON (primary) — Parses __NEXT_DATA__, window.__rawData__, and __INITIAL_DATA__ script tags that contain server-side rendered product data. This is the most reliable method and extracts the richest data.
  2. JSON-LD structured data — Extracts schema.org/Product markup embedded for SEO. Provides standardized product information as a secondary source.
  3. Search result parsing — Navigates Temu search results pages and extracts product cards from the grid layout. Handles pagination to scrape across multiple pages.
  4. HTML DOM fallback — Uses Cheerio CSS selectors to extract product data directly from HTML elements. Targets multiple selector patterns for resilience against layout changes.

For product detail pages, all four strategies are attempted to extract the maximum amount of data including full image galleries, all variants, store information, and shipping details.

Tips

  • Use residential proxies: Temu has aggressive anti-bot protection. Set proxy to { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] } for reliable results.
  • Start small: Test with maxResults: 50 first to verify the scraper works with your proxy setup before running large scrapes.
  • Price filtering: Set maxPrice to find budget products for dropshipping — e.g., maxPrice: 5 for sub-$5 products.
  • Multiple search terms: Add several search terms to cover different product niches in a single run.
  • Scheduled runs: Set up a daily or weekly schedule to track price changes and new product launches.
  • Direct URLs: Use productUrls to scrape specific products you're tracking for price monitoring.
  • Category browsing: Use category without search terms to discover products within a category.

Proxy Recommendations

Proxy TypeReliabilitySpeedCost
Residential (recommended)HighMedium$$
DatacenterLowFast$
No proxyVery LowFastFree

Temu blocks most datacenter IP addresses. For production scraping, residential proxies are effectively required.

Limitations

  • Only works with Temu.com (not Pinduoduo or other PDD Holdings platforms)
  • Temu may serve different content based on geographic location — US-based proxies recommended
  • Some product variants may require JavaScript rendering for full data (the scraper handles SSR data)
  • Rate limiting: the scraper self-throttles to avoid IP bans (20 requests/minute default)
  • Flash sale and limited-time prices may change between scrape and purchase

Cost

This actor uses pay-per-event pricing at $0.004 per product scraped. Example costs:

ProductsCost
100$0.40
500$2.00
1,000$4.00
5,000$20.00
10,000$40.00

Platform compute costs are additional and depend on proxy usage and run duration. Typical runs scraping 500 products complete in 2-5 minutes.

Integration — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("sovereigntaylor/temu-scraper").call(run_input={
"searchTerm": "temu",
"maxResults": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item.get('title', item.get('name', 'N/A'))}")

Integration — JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sovereigntaylor/temu-scraper').call({
searchTerm: 'temu',
maxResults: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.title || item.name || 'N/A'));