Temu Scraper (Products, Categories & Home Feed) avatar

Temu Scraper (Products, Categories & Home Feed)

Pricing

from $0.004 / product listing item

Go to Apify Store
Temu Scraper (Products, Categories & Home Feed)

Temu Scraper (Products, Categories & Home Feed)

Scrape Temu products, prices, ratings, review counts, images, video, SKU options, specifications and category taxonomy. Product, category and home-feed URLs. No login or browser required.

Pricing

from $0.004 / product listing item

Rating

0.0

(0)

Developer

Hypebridge

Hypebridge

Maintained by Community

Actor stats

0

Bookmarked

531

Total users

111

Monthly active users

15 hours ago

Last modified

Share

Temu Scraper — Products, Categories & Home Feed

Extract public product data from Temu into a clean, structured Apify dataset: prices, ratings, review counts, images, video, SKU options, specifications and category taxonomy.

No login and no browser required, so runs are fast and inexpensive.

What it scrapes

SurfaceExample start URLWhat you get
Product detailhttps://www.temu.com/-g-601099513224343.htmlFull record: price, rating, review count, gallery, video, SKU options, specifications, return policy, breadcrumbs
Category listinghttps://www.temu.com/category-o3-248.htmlUp to 120 products per category with price, rating, review count, image, sales signal
Home feedhttps://www.temu.com/Temu's recommendation feed, paginates deep (800+ items)

You can also point at a product or category by ID alone — https://www.temu.com/-g-<goodsId>.html or https://www.temu.com/-o3-<optId>.html. No need to find the full product URL first.

Country-and-language prefixes such as /se-en/, /ca-fr/ and /de-en/ use the configured country's market while preserving the language prefix in product requests. English aliases /au-en/ and /uk-en/ use Temu's equivalent /au/ and /uk/ paths. Unknown countries are skipped with a warning.

What it does not scrape

Being direct about this so you don't buy the wrong tool:

  • Keyword search is not supported. Search results cannot be retrieved reliably enough to sell, so search URLs are rejected up front rather than quietly returning products that don't match your query. Browse by category instead — that's the supported way to discover products.
  • Collections and flash-deal channels are unavailable. Best Sellers, Lightning Deals, Local Warehouse and other channel URLs require a current signed product operation that has not been verified. Known US /us/ channel aliases are canonicalized for diagnostics, then rejected before a target request is sent. Products from a homepage redirect are never substituted.
  • Store / merchant pages (mall.html) are not supported.
  • Review text is not available. Temu does not expose review bodies or author names to this Actor, so each review comes back with its rating and date only, flagged reviewTextRedacted: true. Ratings, review counts and dates are accurate. If you need the written reviews themselves, this Actor cannot supply them.

Input

FieldTypeDefaultDescription
startUrlsarrayhttps://www.temu.com/Product, category or homepage URLs. Search URLs are rejected.
maxItemsinteger40Maximum records to push (1–5000).
getProductDetailsbooleantrueFetch each listing item's product page for specifications, SKUs and gallery. Costs one extra request per item.
extractReviewsbooleanfalseInclude the per-product review array (ratings and dates only — see above).
{
"startUrls": [
{ "url": "https://www.temu.com/category-o3-248.html" },
{ "url": "https://www.temu.com/-g-601099513224343.html" }
],
"maxItems": 100,
"getProductDetails": false
}

Output

One row per product. Fields appear only when Temu publishes them for that page type, so listing rows stay compact while enriched rows carry more.

FieldTypeExample
goodsIdstring"603014127574739"
titlestring"Wireless Earbuds, Bluetooth 5.4..."
price / priceTextnumber / string66.71 / "$66.71"
marketPrice / marketPriceTextnumber / string79.99 / "$79.99"
discountPercentage / savingsAmountnumber17 / 13.28
currencystring"USD"
ratingnumber4.9
reviewCountinteger401
salesTip / salesVolumestring / number"4.1K+ sold" / 4100
imageUrl / galleryImagesstring / arrayTemu CDN URLs
hasVideo / videoUrlboolean / stringproduct video when present
productUrlstringcanonical https://www.temu.com/-g-<goodsId>.html
categoryId / categoryName / categoryPath / breadcrumbsstring / arraycategory taxonomy
specifications / skus / returnPolicyobject / arraydetail rows only
reviewsarrayratings + dates (reviewTextRedacted)
sourcePageType / sourceUrl / extractedAtstringprovenance

productUrl is always the canonical form, so you can feed output rows straight back in as start URLs.

Proxy

Residential proxy is required and is configured automatically — you don't need to set anything up. Each type of page is routed appropriately on your behalf. Supplying your own proxyConfiguration overrides this and will usually lower success rates, so leave it unset unless you have a specific reason.

Known limitations

  • A category can occasionally return no results. Temu does not always serve a given category on demand. The Actor retries automatically before giving up, but a run can still finish with zero rows for that category. An unavailable payload is recorded as a source failure; later recovery is not guaranteed.
  • Some words appear as * in titles and descriptions (for example "with * Display Charging Case"). Temu masks certain brand and claim terms in its own product text; this is how the data is published, not a parsing error.
  • Category listings return up to ~120 products each. To cover more, use several category URLs rather than expecting deeper paging within one.
  • Every row carries its own currency, so check that field rather than assuming one currency across a dataset.

Notes

The Actor stores a SOURCE_SUMMARY record with outcome counts and up to 20 bounded source samples, including requested/canonical URLs and a final URL when known. Delisted products are a genuine empty result. If every source is invalid, unavailable or blocked, the run fails with a diagnostic error. A mixed run preserves successful products and reports rejected sources in the summary. Unsupported market inputs are skipped with a warning and zero rows. A zero-row dataset alone does not establish that a catalog is empty.