# Temu Products Scraper (`parseforge/temu-products-scraper`) Actor

Scrape Temu products from the public feed in 25 markets: price, original price, discount, units sold, rating, reviews, rank badges, images and seller. Export CSV, Excel, JSON or XML.

- **URL**: https://apify.com/parseforge/temu-products-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.25 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner-v4.webp)

## 🛍️ Temu Products Scraper

> 🚀 **Export Temu products in seconds.** 35 fields per product across 25 Temu storefronts, with the live price, the crossed-out price, units sold, star rating, review count and Temu's own best-seller rank, straight to CSV, JSON, Excel or XML.

The Temu Products Scraper collects products from Temu's public product feed, the same stream of best sellers, top-rated items and deals that Temu shows every visitor on its storefront. Each row carries what a buyer sees on the product card: title, main image, current price, original price, discount, sold counter, rating, review count, ranking badge, brand store, seller ID and the promotion window, all in the market's own currency.

Every call returns 40 products and one feed list runs 400 to 440 products deep. The Actor opens fresh feed lists until you reach your item count or the feed stops surfacing new items, and it removes duplicates on Temu's product ID. In testing, four United States lists delivered 1,600 rows that held 734 distinct products. Choose any of 25 storefronts, from the United States and the United Kingdom to Germany, Japan, Brazil and the United Arab Emirates.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Dropshippers and ecommerce sellers | Spot products Temu is pushing, and at what price |
| Brand and marketplace analysts | Track Temu best-seller ranks by category |
| Price intelligence teams | Compare Temu prices across 25 countries |
| Researchers and journalists | Study discount depth and sales claims on Temu |

### 📋 What the Temu Products Scraper does

- 🌍 **Collects Temu's public product feed** in any of 25 markets, each in its local currency.
- 💲 **Captures the full price picture**: current price, original price, computed discount, Temu's own discount badge and a 30-day lowest price flag.
- 🛒 **Reads demand signals**: units sold (1.7K+ becomes 1700), star rating and review count.
- 🏆 **Keeps Temu's ranking badges**: "BEST-SELLING ITEM", "TOP RATED" or "NEW ARRIVAL", with the category and the rank position.
- 🏪 **Identifies the seller**: seller ID, store link, brand name and whether it is an official brand store.
- 🔎 **Filters as it goes**: title keywords, maximum price, minimum discount, rating, reviews and units sold, plus an option to skip ads.

> 💡 **Why it matters:** Temu shows its most important commercial signals, what sells, at what discount and with what rank, only on product cards. This Actor turns those cards into a clean table you can sort, chart and compare across countries.

### 🎬 Full Demo (🚧 Coming soon)

### 📊 Output

| Field | Description |
|---|---|
| 🖼 imageUrl | Main product image |
| 📌 title | Product title as listed on Temu |
| 🔗 url | Product page on temu.com |
| 🆔 productId | Temu goods ID |
| 🏷 skuId | SKU shown on the card |
| 💲 price | Current price, as a number |
| 🏷 originalPrice | Crossed-out price, or N/A |
| 📉 discountPercent | Discount computed from the two prices |
| 🎟 discountBadge | Temu's own discount label, such as -64% |
| 💱 currency | ISO currency of the market |
| 💬 priceText / originalPriceText | Prices exactly as displayed |
| 🛒 salesText / salesCount | Sold counter as shown and as a number |
| ⭐ rating | Star rating, 1 to 5 |
| 📝 reviewCount | Number of reviews |
| 🏆 rankingBadge / rankingCategory / rankingPosition | Best-seller, top-rated or new-arrival rank |
| 📆 lowestPriceIn30Days | Yes when Temu flags the 30-day low |
| 🏭 localWarehouse | Yes when shipped from a local warehouse |
| 📣 sponsored | Yes for ad placements |
| 🏢 brand / officialBrandStore | Brand name and official store flag |
| 🏪 sellerId / sellerUrl | Seller (store) ID and store page |
| 🚚 deliveryDays | Delivery estimate shown on the card |
| ⏳ promoEndsAt / promoSoldPercent | Promotion end time and share already sold |
| 🌍 market / marketName | Storefront the row came from |
| 🖼 imageUrls | Every image on the card, including color swatches |
| 🔖 badges | All tags shown on the card |
| 🕒 scrapedAt | ISO timestamp of the scrape |
| ❌ error | null on success |

Three real rows from a United States run:

```json
[
  {
    "imageUrl": "https://img.kwcdn.com/product/fancy/855e7f2c-f221-49a7-99a7-60e5a4dc7430.jpg",
    "title": "Shower Head, 8 Inch High Pressure Rainfall Shower Head/Handheld Shower Combo with 11 Inch Extension Arm, 5 Settings Adjustable Anti-leak Shower Head with Holder/Hose, Height/Angle Adjustable",
    "url": "https://www.temu.com/goods.html?goods_id=605981111110236",
    "productId": "605981111110236",
    "skuId": "97747147459349",
    "price": 10.66,
    "originalPrice": 63.69,
    "discountPercent": 83,
    "discountBadge": "-83%",
    "currency": "USD",
    "priceText": "$10.66",
    "originalPriceText": "$63.69",
    "salesText": "19K+ sold",
    "salesCount": 19000,
    "rating": 4.5,
    "reviewCount": 2697,
    "rankingBadge": "BEST-SELLING ITEM",
    "rankingCategory": "Bath Fixtures: Wall Mount",
    "rankingPosition": 3,
    "lowestPriceIn30Days": "No",
    "localWarehouse": "Yes",
    "sponsored": "No",
    "brand": "IDKWB",
    "officialBrandStore": "Yes",
    "sellerId": "634418227258255",
    "sellerUrl": "https://www.temu.com/mall.html?mall_id=634418227258255",
    "deliveryDays": 5,
    "promoEndsAt": "2026-10-23T06:59:59.000Z",
    "promoSoldPercent": 0,
    "market": "us",
    "marketName": "United States",
    "imageUrls": [
      "https://img.kwcdn.com/product/fancy/855e7f2c-f221-49a7-99a7-60e5a4dc7430.jpg"
    ],
    "badges": [
      "BEST-SELLING ITEM",
      "Lowest price in 90 days",
      "Local Warehouse"
    ],
    "scrapedAt": "2026-09-24T23:43:38.542Z",
    "error": null
  },
  {
    "imageUrl": "https://img.kwcdn.com/product/fancy/4c6efcea-66af-4d60-92b5-cae5646ff8f4.jpg",
    "title": "40/220/450/680 Lbs Capacity Heavy-Duty All-Terrain Folding Cart - Stainless Steel Frame and 600D Oxford Fabric, Foldable Multi-Functional Utility Wagon, Suitable for Camping, Gardening, Beach, Shopping - No Assembly Required, Black, Garden Tool Rack",
    "url": "https://www.temu.com/goods.html?goods_id=601100788417792",
    "productId": "601100788417792",
    "skuId": "121174986098960",
    "price": 14.87,
    "originalPrice": 99.7,
    "discountPercent": 85,
    "discountBadge": "-82%",
    "currency": "USD",
    "priceText": "$14.87",
    "originalPriceText": "$99.70",
    "salesText": "500K+ sold",
    "salesCount": 500000,
    "rating": 4.5,
    "reviewCount": 54428,
    "rankingBadge": "BEST-SELLING ITEM",
    "rankingCategory": "Outdoor Carts & Picnic",
    "rankingPosition": 1,
    "lowestPriceIn30Days": "No",
    "localWarehouse": "Yes",
    "sponsored": "No",
    "brand": "N/A",
    "officialBrandStore": "No",
    "sellerId": "634418221724174",
    "sellerUrl": "https://www.temu.com/mall.html?mall_id=634418221724174",
    "deliveryDays": 4,
    "promoEndsAt": "2026-10-20T06:59:59.000Z",
    "promoSoldPercent": 22,
    "market": "us",
    "marketName": "United States",
    "imageUrls": [
      "https://img.kwcdn.com/product/fancy/4c6efcea-66af-4d60-92b5-cae5646ff8f4.jpg"
    ],
    "badges": [
      "BEST-SELLING ITEM",
      "Local Warehouse"
    ],
    "scrapedAt": "2026-09-24T23:43:38.494Z",
    "error": null
  },
  {
    "imageUrl": "https://img.kwcdn.com/product/fancy/dd6ba5bf-4a40-4956-8510-528d9525c707.jpg",
    "title": "KERDOM High Back Office Desk Chair, Big & Tall Executive Office Chair With Footrest, Beautiful Faux Leather Computer Chair, Ergonomic Reclining Chair, Large Home Office Chair With Soft Lumbar Pillow, 500lbs Capacity, Swivel Tilt Manager Boss Chair",
    "url": "https://www.temu.com/goods.html?goods_id=601105215791126",
    "productId": "601105215791126",
    "skuId": "113411832706492",
    "price": 160.39,
    "originalPrice": 455.97,
    "discountPercent": 65,
    "discountBadge": "-64%",
    "currency": "USD",
    "priceText": "$160.39",
    "originalPriceText": "$455.97",
    "salesText": "1.7K+ sold",
    "salesCount": 1700,
    "rating": 4.8,
    "reviewCount": 176,
    "rankingBadge": "N/A",
    "rankingCategory": "N/A",
    "rankingPosition": "N/A",
    "lowestPriceIn30Days": "No",
    "localWarehouse": "Yes",
    "sponsored": "Yes",
    "brand": "KERDOM",
    "officialBrandStore": "Yes",
    "sellerId": "634418216380583",
    "sellerUrl": "https://www.temu.com/mall.html?mall_id=634418216380583",
    "deliveryDays": 4,
    "promoEndsAt": "N/A",
    "promoSoldPercent": "N/A",
    "market": "us",
    "marketName": "United States",
    "imageUrls": [
      "https://img.kwcdn.com/product/fancy/dd6ba5bf-4a40-4956-8510-528d9525c707.jpg"
    ],
    "badges": [
      "Local Warehouse"
    ],
    "scrapedAt": "2026-09-24T23:43:38.476Z",
    "error": null
  }
]
```

### ✨ Why choose this Actor

- **No browser, no login.** It reads Temu's own feed data directly, so runs are fast and cheap.
- **25 storefronts.** Local prices and currencies, verified market by market.
- **Real numbers.** Sold counters like "25K+" and review counts like "3.693" are converted to integers you can sort.
- **Honest discounts.** The discount is computed from the two prices, and Temu's own badge ships beside it so you can see when they disagree.
- **No duplicates.** Rows are deduplicated on Temu's product ID within each market.

### 📈 How it compares to alternatives

| | This Actor | Manual copy from temu.com | Keyword search scrapers |
|---|---|---|---|
| Needs a Temu login | No | No | Usually, or they break |
| Markets | 25 | One at a time | Mostly United States |
| Rank badges and promo window | Yes | By hand | Rarely |
| Keyword search | Title filter over the feed | Yes | Yes |
| Product detail page (variants, specs) | No | Yes | Some |

Temu requires a login for keyword search, category pages and product detail pages. This Actor works only with the public product feed, so it cannot look up a specific product or run a true search. The title keyword filter narrows the feed instead. The feed also rotates a finite pool: the Actor stops a market once three fresh lists in a row add fewer than 10 new products.

### 🚀 How to use

1. Create a free Apify account with $5 credit: [sign up here](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the Temu Products Scraper and pick one or more markets.
3. Set Max Items and, if you like, filters such as a maximum price or a minimum rating.
4. Click Start and download CSV, Excel, JSON or XML from the dataset.

Example run settings:

```json
{ "marketIds": ["us", "uk"], "maxItems": 500, "minRating": 4.5, "excludeSponsored": true }
```

### 💼 Business use cases

#### Dropshipping product research

Pull 1,000 feed products, keep those with 10K+ units sold and a 4.5+ rating, and shortlist what already sells before you source it.

#### Cross-border price comparison

Run the same week in the United States, Germany and Japan and compare how Temu prices and discounts the categories you sell in.

#### Best-seller rank tracking

Schedule a daily run and chart how often a category's "BEST-SELLING ITEM" badges change hands, and which sellers hold them.

#### Discount and claims monitoring

Compare Temu's discount badge with the discount the two prices actually imply, and track how long promotions run.

### 🔌 Automating Temu Products Scraper

- **Make and Zapier:** start a run on a schedule and send new rows to a sheet or CRM.
- **Slack:** post the top discounted products each morning.
- **Airbyte:** load every run into your warehouse.
- **GitHub Actions:** trigger runs from your pipelines.
- **Google Drive:** export each dataset as a spreadsheet automatically.

### 🌟 Beyond business use cases

- **Research:** study price and discount behaviour of cross-border marketplaces.
- **Personal:** watch for deals in your country without scrolling the app.
- **Non-profit:** document marketplace sales claims for consumer protection work.
- **Experimentation:** build datasets for price prediction or product classification models.

### 🤖 Ask an AI assistant about this scraper

Paste this into ChatGPT, Claude or any assistant to plan your run:

> I am using the Temu Products Scraper on Apify. It collects Temu's public product feed in 25 markets and returns 35 fields per product, including price, originalPrice, discountPercent, discountBadge, currency, salesCount, rating, reviewCount, rankingBadge, rankingCategory, rankingPosition, brand, sellerId, promoEndsAt and market. Help me design a weekly run that compares best sellers between the United States and Germany.

### ❓ Frequently Asked Questions

#### 🔍 Can I search Temu by keyword?

Temu only serves keyword search to logged-in shoppers. This Actor collects the public feed and lets you keep products whose title contains your words, which narrows the feed but is not a full search.

#### 🔗 Can I scrape a specific product URL?

No. Temu's product detail data also requires a login. Every product in the feed comes with its URL, price and rating.

#### 🌍 Which markets are supported?

25: United States, United Kingdom, Germany, France, Italy, Spain, Netherlands, Belgium, Austria, Ireland, Portugal, Poland, Sweden, Switzerland, Canada, Mexico, Brazil, Chile, Colombia, Australia, New Zealand, Japan, South Korea, Saudi Arabia and the United Arab Emirates.

#### 💱 What currency are prices in?

The market's own currency, reported in the currency column. Prices are numbers with decimals, and zero-decimal currencies such as JPY and KRW stay whole.

#### 📦 How many products can one run collect?

Each feed list holds 400 to 440 products and the Actor opens new lists as needed. The feed rotates a finite pool, so expect the most distinct products per market in the low thousands, and the run stops early once the feed repeats itself.

#### 📉 Why does discountPercent differ from discountBadge?

discountPercent is computed from the current and original prices on the card. Temu's badge sometimes uses another reference price, so both are shipped.

#### 🛒 How precise is the sold count?

Temu rounds it on the card ("1.7K+ sold"). salesCount converts that to 1700, a lower bound rather than an exact figure.

#### 🏆 What do the ranking fields mean?

They come from Temu's own badges: "BEST-SELLING ITEM", "TOP RATED" or "NEW ARRIVAL", the category the rank applies to, and the position when Temu shows one.

#### 📣 Are ads included?

Yes, marked sponsored = Yes. Turn on "Skip sponsored products" to drop them.

#### 🛡️ Do I need a proxy?

The Actor uses the Apify proxy by default. The United States runs on datacenter IPs, and other markets switch to residential IPs in their own country automatically, because Temu matches the storefront to the visitor's country.

#### ⏱️ How fast is it?

Each call returns 40 products in a second or two, so a 1,000-product run usually takes a few minutes.

#### 🔒 Does it log in or use cookies from my account?

No. It only reads what Temu shows every logged-out visitor.

### 🔌 Integrate with any app

Every run's dataset is available through the Apify API in JSON, CSV, Excel and XML, so it drops into whatever you already use: a warehouse, a BI tool, a spreadsheet, a notebook or a webhook into your own service. Apify's client libraries for JavaScript and Python make triggering a run and reading the results a few lines of code.

### 🔗 Recommended Actors

- [AliExpress Product Scraper](https://apify.com/parseforge/aliexpress-scraper) for the other big cross-border marketplace.
- [SHEIN Product Scraper](https://apify.com/parseforge/shein-scraper) for fast-fashion prices and ratings.
- [Amazon Products Scraper](https://apify.com/parseforge/amazon-products-scraper) to compare the same items on Amazon.
- [Walmart Scraper](https://apify.com/parseforge/walmart-scraper) for United States big-box prices.
- [1688 Wholesale Scraper](https://apify.com/parseforge/1688-scraper) to find factory prices behind marketplace listings.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more ecommerce and price Actors.

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** This is an independent tool and is not affiliated with, endorsed by, or sponsored by Temu or PDD Holdings. Temu is a trademark of its respective owner. The Actor collects only publicly available product data shown to logged-out visitors and does not access any account or personal information.

# Actor input Schema

## `marketIds` (type: `array`):

Temu storefronts to collect from. Each market returns its own products, prices and currency. The United States runs on the datacenter proxy; every other market switches to a residential exit in that country automatically.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `includeKeywords` (type: `array`):

Keep only products whose title contains at least one of these words (case-insensitive). Leave empty to keep everything.

## `maxPrice` (type: `number`):

Keep only products at or below this price, in the market's own currency.

## `minDiscount` (type: `integer`):

Keep only products discounted by at least this percentage off the crossed-out price.

## `minRating` (type: `number`):

Keep only products rated at least this many stars (1 to 5).

## `minReviews` (type: `integer`):

Keep only products with at least this many reviews.

## `minSales` (type: `integer`):

Keep only products whose sold counter is at least this number (Temu shows rounded counters such as 1.7K+).

## `excludeSponsored` (type: `boolean`):

Drop products Temu marks as ads.

## `proxyConfiguration` (type: `object`):

Apify proxy settings. Leave the default for the United States (datacenter). Markets outside the United States always use a residential exit in their own country.

## Actor input object example

```json
{
  "marketIds": [
    "us"
  ],
  "maxItems": 10,
  "excludeSponsored": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Key product fields: image, title, price, discount, sales, rating and seller

## `fullData` (type: `string`):

Complete dataset with all 35 fields

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "marketIds": [
        "us"
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/temu-products-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "marketIds": ["us"],
    "maxItems": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/temu-products-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "marketIds": [
    "us"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parseforge/temu-products-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/temu-products-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/BqiPkpytBKEX0VQN8/builds/JtG6nhfCqUM2t9dF3/openapi.json
