Temu Scraper — Search, Categories and Product Data
Pricing
from $2.99 / 1,000 search or category results
Temu Scraper — Search, Categories and Product Data
Scrape Temu search results, categories and product pages in 12 countries: prices, original prices, discounts, sold counts, ratings, images, video and category paths. Up to 1,500 results per keyword. No login, cookies or browser; proxies included.
Pricing
from $2.99 / 1,000 search or category results
Rating
0.0
(0)
Developer
Seller Aim
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
7 days ago
Last modified
Categories
Share
Scrape Temu search results, category listings and product pages without login, cookies or a browser. Give it keywords, Temu URLs or product IDs and get clean rows with price, original price, discount, sold count, rating, review count, images, video, category path and product link, from 12 Temu country sites in their local currency and language.
- Up to 1,500 results per keyword and about 600 per category, with Temu's own ranking order.
- 12 countries: US, UK, Canada, Australia, Germany, France, Italy, Spain, Netherlands, Poland, Mexico, Japan.
- Pay only for results: $2.99 per 1,000 search or category results, $4.99 per 1,000 product pages. Proxy and compute costs are included.
Who uses it
- Dropshippers and e-commerce sellers looking for trending products, real sold counts and Temu's price points.
- Brands and retailers monitoring Temu prices and discounts against their own catalog.
- Market researchers comparing categories, price bands and ratings across countries.
- Developers and AI agents that need Temu data through an API, on a schedule or in a pipeline.
What you get
| Data | Search and category rows | Product page rows |
|---|---|---|
| Title, product URL, goods ID | ✅ | ✅ |
| Price and currency | ✅ | ✅ |
Price as displayed (for example $5.75) | ✅ | ✅ when found through a list |
| Original price and discount % | ✅ on about 84% of rows | ✅ when found through a list |
Sold count ("35K+ sold" and 35000) | ✅ on about 97% of rows | ✅ when found through a list |
| Rating and review count | ✅ on about 93% of rows | ✅ |
| Availability | ✅ | ✅ |
| Main image | ✅ | ✅ |
| Full image gallery | – | ✅ |
| Video | on about 55% of rows | ✅ when the product has one |
| Category path with category IDs and URLs | – | ✅ |
| Condition and attributes (material, pattern, …) | – | ✅ when Temu lists them |
| Rank position, page, keyword match | ✅ | ✅ when found through a list |
Percentages come from our validation runs: 1,840 search rows across 20 keywords and 3 categories.
Quick start
- Type keywords, or paste Temu URLs or product IDs.
- Choose the country site and max results per keyword or URL.
- Click Start. Download the rows as JSON, CSV, Excel or HTML, or read them through the API.
Examples
Search by keyword:
{ "searchQueries": ["phone case", "wireless earbuds"], "maxResultsPerQuery": 100 }
Scrape Temu URLs (search pages, category pages and products; the country site is detected from the URL):
{"startUrls": [{ "url": "https://www.temu.com/womens-shoes-o3-95.html" },{ "url": "https://www.temu.com/flat-wireless-earbuds-5030186936120-s.html" },{ "url": "https://www.temu.com/uk/goods.html?goods_id=601100384222130" }]}
Product IDs (the number in a Temu product URL) on the UK site, prices in GBP:
{ "productIds": ["601100384222130"], "region": "uk" }
Search results with full product pages, one row per product:
{ "searchQueries": ["yoga mat"], "maxResultsPerQuery": 50, "includeDetails": true }
Input
| Field | Default | What it does |
|---|---|---|
searchQueries | – | Keywords, one per line. |
startUrls | – | Temu product URLs (…-g-601099….html or goods.html?goods_id=…), search URLs (…-s.html), category URLs (…-o3-<id>.html) and search_result.html?search_key=… URLs. The country is taken from the URL, for example temu.com/uk/…. |
productIds | – | Temu goods IDs. |
maxResultsPerQuery | 50 | Rows per keyword, search URL or category URL (up to 2,000). |
includeDetails | false | Open each listed product's page for the gallery, category path, condition and attributes. Product URLs and IDs always return product pages. |
region | us | Country site for keywords and product IDs (see the table below). URLs keep their own country. |
broadenKeywords | true | When Temu has no page for a keyword, use the closest phrase it has (see below). Turn off to skip such keywords. |
proxyConfiguration | Apify residential, US | Keep the default. Temu answers datacenter IPs and most non-US residential IPs with challenge pages. |
maxConcurrency | 10 | Pages loaded in parallel. |
With no keywords, URLs or IDs, the run uses the example keyword phone case.
Country sites
region | Site | Currency | Language | Keyword search |
|---|---|---|---|---|
us | temu.com | USD | English | ✅ verified |
uk | temu.com/uk | GBP | English | ✅ verified |
ca | temu.com/ca | CAD | English | ✅ verified |
au | temu.com/au | AUD | English | use URLs and IDs |
de | temu.com/de | EUR | German | use URLs and IDs |
fr | temu.com/fr | EUR | French | use URLs and IDs |
it | temu.com/it | EUR | Italian | use URLs and IDs |
es | temu.com/es | EUR | Spanish | use URLs and IDs |
nl | temu.com/nl | EUR | Dutch | use URLs and IDs |
pl | temu.com/pl | PLN | Polish | use URLs and IDs |
mx | temu.com/mx | MXN | Spanish | use URLs and IDs |
jp | temu.com/jp | JPY | Japanese | use URLs and IDs |
Product pages were verified on all 12 sites. On the non-English sites, keyword pages use local-language phrases; open the site in your browser, search there, and paste the resulting search or category URL.
How keyword search works
Temu publishes ready-made search pages for a very large set of shopping phrases, such as temu.com/phone-case-s.html. Each keyword is matched to one of those pages:
- Spelling variants: singular and plural forms, word order, and "for" phrasing. For example,
sunglasses womenmatcheswomen sunglasses, andmen watchesmatchesmen watch. - Closest phrase (on by default): if no variant exists, the scraper uses the closest phrase Temu has. It follows Temu's own related-search links to get closer to your wording. For example,
ring light with tripodmatchesring light tripod, andpurple cat socksmatchescat socks. - Brand words: Temu does not publish pages for trademarks, so brand words are swapped for the generic product word. For example,
iphone 15 case magsafematchesphone case magnetic,stanley cupmatchestumbler cup, andairpods casematchesearbuds case.
Every row shows your query, the matchedKeyword that was used, and exactMatch (false when the match is broader or brand-swapped). The run's SUMMARY record lists, for each keyword, the matched page, the number of results Temu has and up to 10 of Temu's related searches. Those related searches make good next keywords.
Output
Search result (real row from a keyword)
{"type": "searchResult","goodsId": "601100033195633","title": "Phone Case - Cute 3D Lying Cat Phone Case Suitable for Iphone 16, for * 15 Pro Max, Easy Polka *, Soft And Drop-Resistant Cartoon Handmade","price": 1.93,"currency": "USD","priceText": "$1.93","originalPrice": 11.29,"discountPercent": 83,"salesText": "72K+ sold","salesCount": 72000,"rating": 4.8,"reviewCount": 217,"availability": "InStock","imageUrl": "https://img.kwcdn.com/product/fancy/34ba1b40-de42-425d-954a-9f5cafcc8673.jpg","videoUrl": "https://goods-vod.kwcdn.com/goods-video/276cddf1db40f202bc7a077eaf95ed5dbfc7bccc.f30.mp4","url": "https://www.temu.com/cute-3d-lying-cat-phone-case-suitable-for-iphone-16-simple-polka--for--15-pro--and-cartoonish-handmade-and-drop-resistant-for-iphone-13-and-14-g-601100033195633.html","region": "us","source": "keyword","query": "phone case","matchedKeyword": "phone case","exactMatch": true,"page": 1,"position": 1,"sourceUrl": "https://www.temu.com/phone-case-s.html","scrapedAt": "2026-10-11T11:20:30.055Z"}
Category result (real row)
{"type": "searchResult","goodsId": "601099514153298","title": "* Women & Professional Ballet Pointe Shoes with Ribbons - Square Toe * Shoes, Satin Dance Shoes with Ballet, Sole & for * Closure - Professional Pointe for Pointe Technique, Women Shoes","price": 16.54,"currency": "USD","originalPrice": 41.76,"discountPercent": 60,"salesText": "33K+ sold","salesCount": 33000,"rating": 4.7,"reviewCount": 484,"source": "categoryUrl","categoryId": "95","categoryName": "Women's Shoes","page": 1,"position": 1,"sourceUrl": "https://www.temu.com/womens-shoes-o3-95.html"}
Product page (real row from the UK site, gallery shortened)
{"type": "product","goodsId": "601100384222130","title": "Women's Fashion Open-Heel Shoes, Casual Summer Sandals, Women Shoes","url": "https://www.temu.com/uk/womens-fashion-open-heel-shoes-casual-summer-sandals-women-shoes-g-601100384222130.html","price": 13.55,"currency": "GBP","rating": 4.8,"reviewCount": 2332,"availability": "InStock","condition": "New","imageUrl": "https://img.kwcdn.com/product/fancy/b0726781-e777-4699-8fc3-1f0ebea85b7a.jpg","images": ["https://img.kwcdn.com/product/fancy/b0726781-e777-4699-8fc3-1f0ebea85b7a.jpg", "…"],"videoUrl": "https://goods-vod.kwcdn.com/goods-video/25c8b1b25e7625dd081f9ebde42bbc45647d34d9gs2CV.f30.mp4","categoryPath": [{ "name": "Women's Shoes", "url": "https://www.temu.com/uk/womens-shoes-o3-95.html", "categoryId": "95" },{ "name": "Women's Heeled Sandals", "url": "https://www.temu.com/uk/womens-heeled-sandals-o3-6877.html", "categoryId": "6877" }],"attributes": { "pattern": "Stripes" },"region": "uk","source": "productUrl","sourceUrl": "https://www.temu.com/uk/goods.html?goods_id=601100384222130","scrapedAt": "2026-10-11T11:21:20.252Z"}
Every row has the same set of fields; fields that do not apply are null.
Field reference
| Field | Description |
|---|---|
type | searchResult (from a search or category list) or product (from a product page). |
goodsId, url | Temu goods ID and product URL on the row's country site. |
title | Product title as Temu publishes it (see "Good to know" about *). |
price, currency | Current price as a number, and its currency code. |
priceText | Price as displayed, with currency symbol. |
originalPrice, discountPercent | Crossed-out price and the discount it implies. |
salesText, salesCount | Sold count as displayed ("35K+ sold") and as a number (35000, a lower bound). |
rating, reviewCount | Average rating out of 5 and number of reviews. |
availability | InStock, OutOfStock, and so on. |
imageUrl, images, videoUrl | Main image, full gallery (product rows) and product video. |
categoryPath | Category breadcrumb [{ name, url, categoryId }] (product rows). Category URLs can be scraped as start URLs. |
condition, attributes | Item condition and listed attributes such as material, color or pattern (product rows). |
priceRange | { min, max } when Temu shows a price range. |
region | Country site of the row. |
source | How the product was found: keyword, searchUrl, categoryUrl, productUrl or productId. |
query, matchedKeyword, exactMatch | Your keyword, the Temu search phrase used for it, and whether it matched exactly. |
categoryId, categoryName | Category of a category list. |
page, position | Result page and rank within the keyword or category list (1 = first). |
sourceUrl | Page the row was read from. |
detailError | Set on a list row when its product page could not be loaded (with Open each product page on). |
scrapedAt | Time of scraping. |
Good to know
- Volume: Temu shows up to about 1,500 products per keyword (40 per page) and about 600 per category (120 per page).
- Masked words in titles: on these pages Temu replaces some words, often brand or trademark names, with
*, as infor * 15 Pro Max. Titles are returned exactly as Temu publishes them. - Prices: prices are the regular listing prices. Time-limited Lightning Deals on Temu's homepage can be lower.
- Sold counts: Temu shows sold counts only in search and category lists. With Open each product page on, the row keeps the sold count from the list.
- Not included: variant (SKU) lists, seller or store details, and review texts. Temu does not publish them on these pages.
- Unavailable products: a product that was removed, or is not sold on the selected country site, is listed in
SUMMARYasNOT_AVAILABLEand does not create a row. - Sorting: results come in Temu's own ranking order; there is no option to sort by price or sales.
Pricing
Pay per result. Proxy, compute and storage are included in the price.
| What you get | Price |
|---|---|
Search or category result (type: "searchResult") | $2.99 per 1,000 ($0.00299 each) |
Product page (type: "product") | $4.99 per 1,000 ($0.00499 each) |
| Run start | $0.00005 per run |
Examples:
| Run | Cost |
|---|---|
| 1,500 results for one keyword | about $4.49 |
| 5 keywords × 100 results | about $1.50 |
| 200 product IDs | about $1.00 |
| 100 search results with product pages turned on | about $0.50 (billed as 100 product pages) |
With Open each product page on, each row is billed once, as a product page. If a product page cannot be loaded, the list row is kept and billed as a search result. To control spend, set Max results per keyword or URL and, in the run options, a maximum total charge; the scraper stops cleanly when that limit is reached.
Speed
In our cloud tests at default settings, 3 keywords × 200 results plus 30 product pages finished in about 75 seconds. Pages of one keyword are read in order; several keywords, URLs and product pages run in parallel.
Run summary and troubleshooting
Every run stores a SUMMARY record in its key-value store. For each keyword or URL it lists the matched page, exactMatch, results scraped, results available and related searches. It also lists failed targets with a reason code, and request statistics. The run's status message gives the totals in one line.
| Code | Meaning | What to do |
|---|---|---|
KEYWORD_NOT_FOUND | Temu has no search page for the keyword, even in broader form. | Use a shorter or more common wording, or paste a Temu search URL. |
NOT_AVAILABLE | The product was removed or is not sold on that country site. | Check the product on that site. |
NOT_FOUND | The page does not exist. | Check the URL. |
NO_RESULTS | The list page had no products. | Check the URL in a browser. |
CHALLENGE, BLOCKED, RATE_LIMITED, UPSTREAM_ERROR, EMPTY | Temu challenged, limited or emptied the page on every retry with a new IP. | Run again with the default proxy. |
TIMEOUT, NETWORK_ERROR, PROXY_ERROR | Network problem after retries. | Run again. |
API and integrations
Run it from your code with the Apify API. Example with cURL, returning the rows directly:
curl -X POST "https://api.apify.com/v2/acts/selleraim.com~temu-product-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["phone case"], "maxResultsPerQuery": 100}'
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('selleraim.com/temu-product-scraper').call({searchQueries: ['wireless earbuds'],maxResultsPerQuery: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map(i => [i.position, i.price, i.salesCount, i.title]));
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("selleraim.com/temu-product-scraper").call(run_input={"productIds": ["601100384222130"], "region": "de"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["price"], item["currency"])
You can also schedule runs (for example, a daily price check), get a webhook when a run finishes, and send the results to Google Sheets, Make, Zapier, n8n and other tools from the Apify Console.
FAQ
Do I need a Temu account? No. Everything comes from public pages; no login or cookies are used.
Can I search any keyword?
Temu publishes search pages for a very large number of shopping phrases, and the scraper matches your wording to them (see "How keyword search works"). Very unusual phrases can still be reported as KEYWORD_NOT_FOUND. A Temu search or category URL always works.
Why do some titles contain *?
Temu masks some words, often brand names, on its public pages. The rest of the title is unchanged.
Why is the price different from what I see in the Temu app? Rows show the regular listing price on the selected country site. The app can show personalized coupons, Lightning Deals or prices for your own location.
Can I get variants, seller details or reviews? Not yet. Temu does not publish them on the pages this scraper reads. Rows include the rating and review count.
Can I scrape a whole category?
Yes. Paste a category URL (…-o3-<id>.html). You can find these URLs in a product row's categoryPath, or in Temu's menu.
Is scraping Temu legal? The scraper collects publicly visible product information only. Make sure your use of the data complies with applicable laws and Temu's terms.
Changelog
- 1.0 (2026-10): First release. Keyword, search, category and product scraping; 12 country sites; keyword matching with spelling variants, closest phrase and brand-word handling; pay-per-result pricing.