Temu Scraper - Product Search Data Extractor
Pricing
from $1.10 / 1,000 products
Temu Scraper - Product Search Data Extractor
Scrape Temu search results into structured product data: product ID, title, price, discount, seller ID, image and product URL. Bulk search terms or URL import, price filters, and CSV, JSON or Excel export. Built for price monitoring, dropshipping and competitor research.
Pricing
from $1.10 / 1,000 products
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape Temu search results into a clean, structured dataset. Give it a search term - or a list of Temu search URLs - and get back every product Temu shows for it: product ID, title, price, discount, seller ID, image and the canonical product URL, ready for Excel, CSV, JSON or your own pipeline.
Built for e-commerce price monitoring, competitor research, dropshipping product research, catalog matching and market analysis on one of the fastest-growing marketplaces in the world.
- Up to 120 products per result page, paginated automatically to the depth you ask for.
- Need thousands of products? Use more search terms. Temu itself returns at most ~300 results per search (3 pages of 120) - that is Temu's limit, not this Actor's. Ten terms at 100 each returns 1,000 products in a single run; the run tells you when a term ran out early.
- No Temu account, no cookies, no login. Nothing to configure but your search terms.
- Pay only for products you keep - price and adult-content filters run during the scrape, so filtered-out products are never charged.
- Bulk input: paste search terms, paste a block of Temu search URLs, upload a
.txt/.csvfile, or link a remote file / Google Sheet.
What you get
One row per product:
| Field | Description |
|---|---|
productId | Temu's numeric product (goods) ID |
title | Full product title |
url | Canonical Temu product URL |
price | Numeric price, e.g. 12.68 |
priceText | Price exactly as shown, e.g. $12.68 |
currency | Currency code, e.g. USD |
originalPrice | Pre-discount price, when the product is discounted |
discountPercent | Discount percentage, when the product is discounted |
soldCount | Units sold, when Temu discloses it |
soldText | The "N sold" badge verbatim, when shown |
imageUrl / imageWidth / imageHeight | Main product image and its dimensions |
sellerId | Temu seller (mall) ID - group or match listings by seller |
sellerType | first-party, third-party-marketplace or local-warehouse |
skuId | Currently selected SKU ID |
tags | Merchandising badges, e.g. Only 7 left, Used - Like New |
isAdultProduct | Whether Temu flags the listing as adult content |
onFlashDeal / dealEndsAt | Whether the product is in a timed deal, and when it ends |
rank | Position in the result set |
searchTerm | The search term the row came from |
sourceUrl / scrapedAt | Provenance of the row |
Honest note on field coverage
Temu itself only publishes some of these for some listings, so a few fields are deliberately null
rather than guessed. Measured across a full 120-product result page:
originalPrice/discountPercent- ~6%: present only while a product is actually discounted.soldCount/soldText- ~5%: Temu discloses sales volume for a minority of listings. This actor emitsnullwhen nothing is disclosed rather than a misleading0.tags- ~31%: only listings Temu badges.dealEndsAt- ~17%: only listings on a countdown.
Everything else - productId, title, url, price, priceText, currency, imageUrl,
sellerId, sellerType, skuId, rank - is 100% populated.
Input
| Field | What it does |
|---|---|
| Search terms | One term per line, exactly what you would type into Temu's search box. |
| Start URLs | Temu search-result URLs. Supports Link remote text file and file upload. |
| Search URLs from a file or pasted list | Paste a block of URLs, or one link to a .txt/.csv/Google Sheet. Ideal from the API or an AI agent. |
| Max products per search term | Stop after this many products per term. Temu returns 120 per page. |
| Minimum / Maximum price | Keep only products in a price band. Applied while scraping - filtered rows are not charged. |
| Exclude adult products | Drop listings Temu flags as adult content. |
| Proxy configuration | Residential proxies are strongly recommended and set by default. |
{"searchTerms": ["wireless earbuds", "yoga mat"],"maxResultsPerTerm": 240,"minPrice": 5,"maxPrice": 50,"excludeAdultProducts": true}
Product-detail URLs are not supported. Temu serves individual product pages as an empty JavaScript shell with no data in it, so this actor scrapes search-result pages only. Every row still carries the canonical product URL.
Use with AI assistants (MCP)
This actor works as a tool for AI assistants and agents through the Apify MCP server - ask for Temu products in natural language and the agent runs this scraper and reads the dataset back.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
Pricing
Pay-per-event: you are charged per product returned. Products removed by your price or adult-content filters are never charged, and a run that returns nothing costs nothing.
Reliability - read this before you buy
Temu rate-limits its own search pages. That is the single thing that decides how much data a run returns, and this Actor is built around it rather than pretending otherwise:
- it rotates a pool of search-engine crawler identities, because Temu's limit applies per identity;
- a throttled response is detected and retried on a fresh IP and a different identity, never mistaken for "no results";
- any search still refused at the end gets a second pass after a deliberate pause, because the throttle usually lifts within a few minutes;
- searches run several at a time, so the run waits out one slow patch instead of every one.
What this means in practice. Small and medium jobs - up to a few hundred products - normally come back complete, in a couple of minutes. On a large multi-term job, some searches can still come back empty, and we would rather tell you than quietly hand you a short file. When that happens the run status says exactly which searches are missing, for example:
⚠ INCOMPLETE: 8 of your 10 searches returned data. Temu rate-limited the other 2 (
water bottle,hair clips) even after a second attempt, so they are MISSING from this dataset. This is Temu throttling its own search pages, not a failure of your input - re-run just those searches in a few minutes and they will usually come through. You were not charged for the missing ones.
You are never charged for a search that returned nothing, and a run that gets nothing at all costs nothing at all. If completeness matters more than speed, run fewer search terms per run and space the runs a few minutes apart - that reliably returns everything.
Legal
This actor collects only publicly available product listings from Temu search pages - no login,
no personal data, and nothing behind an account. Temu's robots.txt places no restriction on
search-result pages for general agents. You are responsible for how you use the data, including
compliance with Temu's terms and applicable law.
Not affiliated with, endorsed by, or sponsored by Temu. "Temu" is a trademark of its respective owner and is used here only to describe what this actor scrapes.