Temu logo

Online shops · Live on Apify

Temu Scraper: Products, Prices, Variants and Reviews

Paste Temu product links or the home page link. You get one row per product with price, sales, images and link. Product pages also add rating, review count, variants and public reviews.

About $2.70 for 1,000 results$0.0027 per result + $0.00005 per run. Apify bills you, not us.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

goodsId606102494273968
title1pc Vacuum Insulated Coffee Travel Mug, Leak-Proof Double Wall…
price6.61

How to use it: 3 steps

  1. Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: https://www.temu.com/ in Temu links. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Paste Temu product links or the Temu home page link, and get Temu products as clean rows with price, currency, sales, images and a product link. Product links also add rating, review count, variants, specifications and public reviews.

Good for

  • Read variants, ratings and public review text for a list of product links.
  • Check the prices of products you already know, on a schedule.
  • See what Temu shows on its US home feed right now, with price and sales.

Not a good fit

  • Finding products by keyword. This version has no search.
  • Exporting a Temu category. This version does not read category pages.

Who uses it

Dropshipping researchers

Check the products and prices you already know.

Price watchers

Track the price of chosen products on a schedule.

Analysts

Read variants and public review text for a list of products.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
Start fee$0.00005Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.
Catalog check$0.03Up to three home feed pages. Includes three saved basic products. Blocked pages are not charged.
Product saved$0.0027 (from $0.00189 on paid Apify plans)Each basic product saved from the home feed after the three included in a catalog check. Full product pages use their own fee.
Full product page read$0.0162 (from $0.01134 on paid Apify plans)A valid full product page saved as a PRODUCT_ID file. Charged even when filters or history exclude it from the Dataset. Blocked pages are not charged.

Examples

  • One result: about $0.0028.
  • 1,000 results: about $2.70.
  • Every day 100 results, for 30 days: about $8.10 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 1,800 results.

Prices checked on 8 November 2026. See the current price on Apify.

Questions

Can I search Temu by keyword?

No. This version has no keyword search and no category pages.

Do I need a Temu account?

No. The tool reads public pages for the US market. Prices are in USD.

Why are rating and review count empty?

Temu does not send them in the home feed. Use product links to get them.

Is this the Temu API?

No. Temu did not make this Actor. You get your own API through Apify: start a run, then read the Dataset as JSON.

Do I need a browser extension or a tool to install?

No. It runs in Apify Console. You can also start it through the API.

Why does a run with no matches cost money?

The fee pays for reading the feed. A filter with no matches pays only the catalog fee and the start fee, with no product fee.

How fresh is the data?

Each row shows the read time in fetchedAt. Temu changes prices and product lists often, so two runs can differ.

Can I get all reviews of a product?

No. The Actor saves the public reviews shown on the product page, in reviews. reviewCount shows the total that Temu reports.

Details

Step by step on Apify
  1. Open the Input tab. Keep the home page link in Temu links, or replace it with your product links (box 1 in the picture).
  2. Keep Maximum products at 10 for the first run (box 2).
  3. Click Start (box 3). The picture shows the owner view, where this button reads Save & start.
  4. Open the Output tab and check the Products table: title and price first (box 4).
Use cases
TaskInputYou getKey fieldsNext step
Variant and review checkproductUrlsFull product rowskus, reviews, specifications, minPrice, maxPriceJSON or API
Price tracking for known productsproductUrls, mode: monitor, stateNameChanged product rowchangeType, changedFields, priceSchedule and webhook
Home feed price and sales exportstartUrls with the home page, maxItemsProduct rowtitle, price, discountPercent, sales, urlCSV or Google Sheets
Home feed with ratingsstartUrls with the home page, dataLevel: fullFull product rowrating, reviewCount, skus, salesExcel or API
Tips for better results
  • Use product links when the exact page price matters. Feed prices can differ.
  • Set data level to full to get rating and review count.
  • Run again for links that fail. A blocked page costs no fee.
Limits and good to know
  • No keyword search and no category pages. Temu refuses these pages to anonymous visitors for hours at a time, and we did not find a stable way to read them without an account. A keyword, a search link or a category link stops the run with a clear error and no catalog or product fee
  • US market and USD only. Other Temu markets are not supported
  • The length of the home feed changes from run to run. It ended at 238 products when we asked for 300, and at 40 products when we asked for 60. Both runs finished as complete. maxItems of 100000 is an input limit, not a promise that Temu returns that many
  • The feed is not the whole catalog. It changes between runs: in one pair of runs a few minutes apart half of the 60 products were different, and in another pair only 1 product was the same. Temu picks what it shows, and you cannot choose a topic
  • Feed rows have no rating and no review count. Open product pages with dataLevel: full or use product links to get them
  • originalPrice and discountPercent can change or disappear between two runs a few minutes apart. Monitor mode does not count them as a change. It compares title, price, currency, sales, rating, review count and stock
  • Temu can also block single product pages. Each page gets up to four attempts. In our last three test batches 56 of 60, 38 of 43 and 41 of 43 product pages were saved, and the others were reported in errors. A blocked page costs no fee. Run those links again. After eight failed reads in a row, which is two product pages in a row with all attempts refused, the run stops to avoid wasting traffic and ends as FAILED with SOURCE_ERROR. Saved rows stay in the Dataset

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "goodsId": "606102494273968",
  "title": "1pc Vacuum Insulated Coffee Travel Mug, Leak-Proof Double Wall Stainless Steel Reusable Vacuum Cup",
  "price": 6.61,
  "currency": "USD",
  "originalPrice": null,
  "minPrice": 6.61,
  "maxPrice": 12.36,
  "sales": 28000,
  "salesText": "28K+ sold",
  "salesIsLowerBound": true,
  "rating": 4.8,
  "reviewCount": 645,
  "url": "https://www.temu.com/-g-606102494273968.html",
  "detailLevel": "full",
  "status": "complete"
}

Use it from code

Actor ID: cliqtomedia/temu-scraper. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/temu-scraper").call(run_input={
    "startUrls": [
        "https://www.temu.com/"
    ],
    "country": "US"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~temu-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls": ["https://www.temu.com/"], "country": "US"}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/temu-scraper")
result = tool.invoke({"run_input": {"startUrls": ["https://www.temu.com/"], "country": "US"}})
print(result)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (40)
FieldTypeMeaning
goodsIdstringTemu goods ID.
titlestringPublic product title.
pricenumberCurrent headline price in currency units. Missing prices are null.
currencystringCurrency reported by Temu, such as USD.
originalPricenumberOriginal price reported by Temu.
salesnumberReported sales count; rounded text is a lower bound.
ratingnumberAverage product rating out of five.
reviewCountnumberReported number of reviews.
urlstringCanonical public Temu product link.
imagesarrayPublic product image URLs. Full pages may have more images.
fetchedAtstringTime the page was read, in UTC.
detailLevelstringListing data or full product page data.
countrystringSelected market.
rankintegerPosition in the collected source results before local filters.
descriptionstringPublic product description from the full page.
sellerNamestringPublic shop name, when available.
skusarrayReal variant IDs, prices, specifications and stock indicators.
reviewsarrayReview text, rating, date and media shown on the product page.
specificationsarrayProduct specifications shown by Temu.
sourceUrlstringPage read for this result.
statusstringComplete or partial when an optional detail request failed.
rowTypestringAlways product.
priceTextstringPrice text shown by Temu.
discountPercentnumberDiscount percentage reported by Temu. Missing discounts are null.
minPricenumberLowest available price reported by the page.
maxPricenumberHighest available price reported by the page.
salesTextstringSales badge shown by Temu. Missing badges and hidden zero placeholders are null.
salesIsLowerBoundbooleanTrue when the sales badge is rounded or includes a plus sign.
videoUrlstringPublic product video URL, when available.
skuIdstringVariant ID selected in the listing, when shown.
sellerIdstringPublic shop ID.
sellerUrlstringLink to the public shop.
categoryIdstringCategory ID reported by Temu.
categoryPathstringCategory names shown on the full product page.
inStockbooleanStock status reported by Temu. Null means the page did not report it.
shippingTextstringShipping text on the product page, when available.
returnPolicystringReturn policy text on the product page, when available.
isAdultProductbooleanAdult content flag reported by Temu.
isAdbooleanWhether Temu marks the product as an ad.
tagsarrayPublic labels and badges shown in the listing.
Input settings (21)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Temu linksstartUrlsarray["https://www.temu.com/"]
Product URLs or IDsproductUrlsarray
Countrycountrystring"US"
Maximum productsmaxItemsinteger10
Modemodestring"auto"
Data leveldataLevelstring"auto"
Minimum priceminPricenumber
Maximum pricemaxPricenumber
Minimum ratingminRatingnumber
Minimum review countminReviewsnumber
Minimum sold countminSoldnumber
Minimum discount (%)minDiscountnumber
Title must containincludeKeywordsarray
Title must not containexcludeKeywordsarray
Exclude adsexcludeAdsbooleanfalse
Exclude adult productsexcludeAdultProductsbooleanfalse
Only new productsonlyNewbooleanfalse
Reset historyresetStatebooleanfalse
History namestateNamestring"default"
Send results to (optional)deliveryConnectorstring
Notion page or channel (optional)deliveryTargetstring

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure