Temu Scraper avatar

Temu Scraper

Pricing

from $1.20 / 1,000 products

Go to Apify Store
Temu Scraper

Temu Scraper

Temu product records from search keywords or Temu URLs, including price, rating, and sales text. Optional product-page fields and reviews stay on the same product row.

Pricing

from $1.20 / 1,000 products

Rating

0.0

(0)

Developer

Farhan Ali

Farhan Ali

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Temu Scraper creates a structured dataset of product records collected from Temu. Each dataset item is one product and can include goods id, title, URL, image, current and market price, currency, rating, review count, sales text, mall id, SKU id, and an ad flag. Query the source with search keywords or Temu search, category, and product URLs, then filter by sort, price, rating, ship-from, color, and category. Control volume with maxItems. Optional product-page fields and reviews stay on the same row. Retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, XML, or another supported format. The default charge is $0.001 per product, plus $0.001 when product-page fields are included, plus $0.001 per review.

Dataset at a glance

PropertyValue
Sourcetemu.com
Record unitOne product
Input methodsSearch queries, Temu URLs, and search filters
Main identifiersgoodsId, url
DeliveryApify Dataset and API
Export formatsJSON, CSV, Excel, XML, and other Apify dataset exports
Update modelFresh records per Actor run
PricingPay per event. product $0.001. product-extra $0.001. product-reviews $0.001

Coverage and available records

searchQueries are keywords such as sports boxers men. startUrls accepts Temu search, category, or product URLs. A product URL ends in -g-{id}.html. Search URLs look like https://www.temu.com/search_result.html?search_key=sports%20boxers%20men. Queries and URLs can be combined.

sortBy accepts relevance, top_sales, newest, price_asc, and price_desc. minPrice and maxPrice are integers in the store currency. minRating accepts any, 4, 3, and 1 (4 stars and up, 3 stars and up, 1 star and up). shipFrom accepts any, local (local warehouse), and temu. colors and categories are names as shown on Temu for that search, such as Black or Men's Underwear. filterItems are advanced tokens such as 103:#000000, combined with the other filters.

maxItems of 0 means no product cap. includeProductDetails adds a details object and charges product-extra once per product. includeReviews adds a reviews array and charges product-reviews once per review. maxReviewsPerProduct defaults to 10. 0 means all reviews for that product. detailConcurrency defaults to 3 and accepts 1 to 50.

A search-only row has details null, reviews empty, and scrapedReviewCount 0. The Actor does not return a historical price series.

The default proxy is Apify residential. Set a country on the proxy so the session stays in one Temu market. The saved sample below is an it-en locale with EUR prices.

Data dictionary

Deduplicate on goodsId.

FieldTypeNullableDescriptionExample
goodsIdstringnoTemu goods id601101327894474
titlestringyesProduct titleMen’s boxer underwear title
urlstringyesProduct URL, including the query string Temu returnedhttps://www.temu.com/it-en/...-g-601101327894474.html
imageUrlstringyesThumbnail URLhttps://img.kwcdn.com/product/fancy/e9fb2693-6dc3-4a41-bd3a-b18e49b388fd.jpg
pricenumberyesCurrent price in major currency units9.57
priceStrstringyesPrice text from Temu9,57€
marketPricenumberyesCompare-at price in major units24.18
marketPriceStrstringyesCompare-at price text24,18€
currencystringyesCurrency codeEUR
ratingnumberyesRating score4.8
reviewCountintegeryesReview count shown on the card655
salesTipstringyesSales text25K+ sold
mallIdstringyesMall id634418223812658
skuIdstringyesCurrent SKU id17599314898424
videoUrlstringyesVideo URLnull
isAdbooleannoWhether the card was marked as an adtrue
localestringyesLocale prefix from the URLit-en
seedstringnoQuery or URL that produced the rowsports boxers men
sourceQuerystringnoSame seed labelsports boxers men
detailsobjectyesProduct-page object. Null until details are requestednull
reviewsarraynoReview objects. Empty until reviews are requested[]
scrapedReviewCountintegernoHow many reviews were stored0

details, when includeProductDetails succeeds, includes goodsId, title, url, locale, imageUrl, imageUrls, minPrice, maxPrice, priceStr, soldQuantity, salesTip, categoryIds, properties, extraProperties, skus, mall, reviewSummary, and isLocalGoods. Each SKU can include stock quantity, image URL, and a spec map. mall can include mallId, name, logo, rating, goodsCount, salesTip, followers, and url. minPrice and maxPrice are major units converted from Temu’s cent values when those values are numbers.

Review objects, when includeReviews is on:

FieldTypeNullableDescription
reviewIdstringyesReview id
goodsIdstringnoParent goods id
skuIdstringyesSKU id
commentstringnoReview text
scorenumberyesStar score
namestringyesReviewer display name
avatarstringyesAvatar URL
datestringyesDate text from Temu
timestampnumber or stringyesSource time value
specsobject or stringyesSpec payload
imagesarray of stringnoReview image URLs
productUrlstringyesProduct URL

Example dataset record

This product is from a saved run with searchQueries set to sports boxers men, details off, and reviews off. The stored URL includes a long tracking query. Only the product path is shown here.

{
"goodsId": "601101327894474",
"title": "6pcs Men'S Comfortable Slim Shaping Underwear - Breathable, Elastic, Quick Drying, Elastic Waistband, Suitable for Spring Sports, Sports, And Casual Wear - Long Boxer Underwear - Soft, Lightweight, And Moisture Absorbing",
"url": "https://www.temu.com/it-en/6pcs-mens-comfortable--shaping-underwear-breathable-elastic-quick-drying-elastic-waistband-suitable-for-spring-sports-sports-and-casual-wear-long-boxer-underwear-soft-lightweight-and-moisture-absorbing-g-601101327894474.html",
"imageUrl": "https://img.kwcdn.com/product/fancy/e9fb2693-6dc3-4a41-bd3a-b18e49b388fd.jpg",
"price": 9.57,
"priceStr": "9,57€",
"marketPrice": 24.18,
"marketPriceStr": "24,18€",
"currency": "EUR",
"rating": 4.8,
"reviewCount": 655,
"salesTip": "25K+ sold",
"mallId": "634418223812658",
"skuId": "17599314898424",
"videoUrl": null,
"isAd": true,
"locale": "it-en",
"seed": "sports boxers men",
"sourceQuery": "sports boxers men",
"details": null,
"reviews": [],
"scrapedReviewCount": 0
}

Query and input reference

InputTypeRequiredDefaultAccepted valuesDescription
searchQueriesarray of stringnononeKeywordsTemu search terms
startUrlsarraynononeSearch, category, or product URLsTemu URLs
sortBystringnorelevancerelevance, top_sales, newest, price_asc, price_descSort order
minPriceintegernonone0 or moreMinimum price in the store currency
maxPriceintegernonone0 or moreMaximum price in the store currency
minRatingstringnoanyany, 4, 3, 1Any, 4 stars and up, 3 stars and up, 1 star and up
shipFromstringnoanyany, local, temuAny, local warehouse, or Temu
colorsarray of stringnononeColor names shown on TemuColor filter
categoriesarray of stringnononeCategory names shown on TemuCategory filter
filterItemsarray of stringnononeTokens such as 103:#000000Advanced filter tokens
includeProductDetailsbooleannofalsetrue, falseAdd details and charge product-extra
includeReviewsbooleannofalsetrue, falseAdd reviews and charge product-reviews per review
maxReviewsPerProductintegerno100 or moreReview cap per product. 0 means all reviews
detailConcurrencyintegerno31–50Products enriched at once
maxItemsintegerno00 or moreProduct cap. 0 means no cap
proxyConfigurationobjectnoApify residential proxyApify proxy objectResidential proxy. Set a country for the Temu market

Minimal request:

{
"searchQueries": ["sports boxers men"],
"maxItems": 20
}

Advanced request:

{
"searchQueries": ["sports boxers men"],
"sortBy": "top_sales",
"minRating": "4",
"maxPrice": 20,
"includeProductDetails": true,
"includeReviews": true,
"maxReviewsPerProduct": 10,
"maxItems": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "IT"
}
}

Retrieve the data through the API

  1. Start datascrapers/temu-scraper with the JSON input.
  2. Wait until the run finishes.
  3. Read items from the run’s default dataset. One item is one product.
  4. Paginate with offset and limit, or export the dataset.
curl "https://api.apify.com/v2/acts/datascrapers~temu-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["sports boxers men"],"maxItems":20}'
$curl "https://api.apify.com/v2/datasets/$DATASET_ID/items?clean=true&format=json&token=$APIFY_TOKEN"

Other languages are on the Actor’s API tab: https://apify.com/datascrapers/temu-scraper

Data quality and record handling

price and marketPrice are numbers in major units. priceStr keeps Temu’s formatted text, which follows the locale, such as 9,57€ for it-en. currency is a code such as EUR when Temu sends it.

details is null and reviews is empty unless you enable those inputs. A failed product page leaves details unset for that product and does not charge product-extra. Reviews are nested on the product. They are not separate dataset items. scrapedReviewCount is the number of review objects stored.

The Actor does not deduplicate across runs. Use goodsId. isAd marks cards Temu labeled as ads. seed and sourceQuery repeat the query or URL that produced the row so a mixed run can be split later.

There is no historical price. Schedule a new run and store the dataset if you need a timeline. The default residential proxy should include a country that matches the Temu market you want.

Export and pipeline examples

DestinationRecommended methodTypical use
PostgreSQL or SupabaseDataset API or a webhook consumerUpsert products on goodsId
Google SheetsApify integrationTrack title, price, and rating
S3 or other cloud storageScheduled dataset exportArchive one file per query
WarehouseJSON itemsFlatten details.skus and reviews in a later step

Schedule one run per search query when each keyword should have its own dataset. A shared run stores the keyword in sourceQuery.

Pricing and cost examples

Billing is pay per event. The same prices apply to Free, Bronze, Silver, Gold, Platinum, and Diamond.

EventPrice on every planWhen it is charged
product$0.001One product row. This is the primary event
product-extra$0.001Once when product-page fields are added
product-reviews$0.001Once per review stored
ProductsDetailsReviewsEstimated event cost
1,000off0$1.00
1,000on0$2.00
1,000off10,000$11.00

These are the default prices set for this account. They are placeholders and can be changed in the Actor pricing settings. Estimates do not include Apify platform usage, which is billed to the user in addition to event charges. maxReviewsPerProduct changes the review charge.

Limitations and responsible data use

The Actor returns publicly available Temu product fields for the queries and URLs you submit. It does not guarantee every category, locale, or sold-out SKU. Prices follow the market of the proxy country and the URL locale. Review text is user-generated content. Ad cards are included when Temu returns them and are marked with isAd.

Each run is a current snapshot. You are responsible for complying with privacy, contractual, and legal requirements for the records you collect and store.

Dataset questions

What does one dataset item represent?

One Temu product. Product-page fields and reviews are nested on that same item when you enable them.

Which field should I use as a unique identifier?

Use goodsId. skuId is the current SKU on the card, not a separate dataset row.

Are fields nullable or conditional?

Yes. Price, rating, video, and mall id can be null. details is null until includeProductDetails succeeds. reviews is empty until includeReviews is on.

Can I retrieve the records as CSV or JSON?

Yes. JSON keeps details and reviews nested. Use JSON when you need SKUs or review text intact.

How do I paginate large datasets?

Set maxItems above 0 to cap products. Set maxReviewsPerProduct to cap reviews. Page the dataset afterward with offset and limit.

Does the Actor return historical data?

No. Price, rating, and sales text are the values available at run time.

What counts as a billable result?

Each product charges one product event at $0.001. Product-page fields add one product-extra event. Each stored review adds one product-reviews event. Platform usage is separate.

  • Amazon Scraper covers Amazon product records that can be compared on title and price.
  • eBay Scraper covers eBay listings for the same kind of product search.
  • Walmart Scraper covers Walmart product records.
  • Etsy Scraper covers Etsy listings when the catalog includes marketplace sellers.
  • Alibaba Scraper covers Alibaba product records for wholesale comparison.

Data Scrapers support

Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, required fields, expected record volume, and preferred delivery format.